0
我已經創建了一個MEAN堆棧web應用程序,它具有登錄註銷選項。用戶登錄後,我使用了jsonwebtoken npm軟件包。 這裏的主要問題是創建並在該令牌的有效載荷在JWT用戶登錄時包含用戶名,電子郵件和全名,但在解碼令牌我只得到用戶名和電子郵件領域沒有得到JWT有效載荷的所有字段
這裏是jwt.sign功能 -
var token=jwt.sign({userid:user.username,email:user.email,fullname:user.fullname},secret,{expiresIn:'24h'});
這裏jwt.verify方法 -
jwt.verify(token,secret,function(err,decoded){
if(err){
res.json({success:false,message:"invalid token"});
} else {
req.decoded=decoded;
next();
}
})
標記示例 -
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyaWQiOiJuaXRpbi5zYWNoZGV2IiwiZW1haWwiOiJuaXRpbi5zYWNoZGV2QGVtYWlsLmNvbSIsImlhdCI6MTQ4NDU1ODAxMiwiZXhwIjoxNDg0NjQ0NDEyfQ.fWogT-aHJY4Xyc8Ebm4OXPkWD3poaWG3IAAf9VS-q58
令牌decoded-
{
"userid": "nitin.sachdev",
"email": "[email protected]",
"iat": 1484558012,
"exp": 1484644412
}
userSchema -
var UserSchema=new Schema({
fullname:String,
username:{type:String,lowercase:true,required:true,unique:true},
password:{type:String,required:true},
email:{type:String,required:true,lowercase:true,unique:true},
contactno:Number,
orgname:String
});