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
});
});