哪些数据放入jwt-tokens(node.js + mongoose)?

问题描述:

抱歉,糟糕的英语。 要生成JWT令牌我使用哪些数据放入jwt-tokens(node.js + mongoose)?

jwt  = require('jsonwebtoken'); 
/* some code */ 

//function to create jwt-token 
function createToken(user) { 
    return jwt.sign(user, config.secret, { expiresIn: 60*60*5 }); 
} 

/* some code */ 

//after registration/authorization (if success) createToken token function is calling 
createToken(user); 

我想学习的最佳实践,必须传递给函数什么数据来创建令牌。 例如,可以这样像:
login (John) and id(ObjectId("5821d94dbb021a1360582da3") when using MongoDb)?
在这里,我想,将是相关的问题:
如果我在令牌存储一些信息,让用户初始化,我可以从数据库中获取其数据。这是否正确,从JWT的授权标题初始化用户?初始化我使用express-jwt,如果成功,则设置req.user? 谢谢。

如果您使用浏览器,您可以将生成的令牌放入浏览器本地存储中。您也可以将会话值存储在令牌本身中,这些值将在服务器端由nodejs解码。

+0

谢谢,但我想你误会了我。 我想知道,我必须在jwt.sign函数中发送什么数据? –

+0

VAR有效载荷= { \t \t EXP: “a_unix_timestamp_after_some_days”, \t \t IAT: “current_unix_timestamp”, \t \t子: “USER_ID” \t}; \t return jwt.encode(payload,“token_secret”); –

+0

只需发送user_id,创建令牌的时间以及希望令牌过期的时间。 –