Generating API tokens using node

后端 未结 4 1383
野趣味
野趣味 2021-02-01 20:28

I am writing an app that will expose an API. The application allows people to create workspaces and add users to them. Each user will have a unique token. When they make an API

相关标签:
4条回答
  • 2021-02-01 21:11

    I think the following are the best solution for Generating API tokens

    • JWT (Json web Token)
    • Speakeasy - This generate token based on timebased twofactor authentication like google authenticator

    Speakeasy is more secure because this key is only available for a small time period (e.g, 30 second)

    0 讨论(0)
  • 2021-02-01 21:14

    If you using mongodb just use ObjectId, othewise I recommend substack's hat module.

    To generate id is simple as

    var hat = require('hat');
    
    var id = hat();
    console.log(id); // 1c24171393dc5de04ffcb21f1182ab28
    
    0 讨论(0)
  • 2021-02-01 21:23

    How does this code make sure your token is unique? I believe you could have collision of numbers with this code. I believe you need to have a sort of sequence number like in this commit from socket.io.

    Also you could use npm projects like for example:

    • UUIID (v4)
    • hat

    to ensure uniqueness.

    0 讨论(0)
  • 2021-02-01 21:25

    Why not just use UUIDv4 if you are looking for something unique? If you are interested in some other type of hashing (as mentioned previous hat is a good choice), you might look at speakeasy - https://github.com/markbao/speakeasy. It not only generates random keys but it can also create timebased twofactor authentication keys if you ever really want to layer on additional security strength.

    0 讨论(0)
提交回复
热议问题