1
目前,我正在使用JWT(json Web令牌)来验证某人是否已登录的Angularjs网站上工作。现在我想使用passport/oauth添加一些“一键式”登录方法,但在如何将登录详细信息传回到angularjs方面很困难。在JWT中使用护照oauth在angularjs中使用
当我与电子邮件/密码登录,我生成令牌,并将其传递回角:
var token = jwt.sign({ _id: user._id.toString() }, JWT_SECRET);
return res.json({
userID: user._id.toString(),
username: user.username,
isAdmin: user.isAdmin,
token: token
});
和令牌用于验证登录。当通过oauth时,你必须离开网站,然后回来,所以我不能以同样的方式从ajax返回一些标记。
我认为它可能会将其添加到我的验证呼叫(当有人刷新网站,我运行检查,看看他们是否已经登录)。这将检查令牌并返回适当的用户数据。有没有办法检查护照是否已经在这里登录?我的验证码看起来像这样(JWT自动将令牌信息设置为req.user):
Schemas.User.findOne({ _id: req.user._id }, function (err, user) {
if (err || !user) { return res.send(401); }
return res.json({
userID: user._id.toString(),
username: user.username,
isAdmin: user.isAdmin
});
});