哪些数据放入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解码。
谢谢,但我想你误会了我。 我想知道,我必须在jwt.sign函数中发送什么数据? –
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”); –
只需发送user_id,创建令牌的时间以及希望令牌过期的时间。 –