【发布时间】:2019-02-21 12:07:44
【问题描述】:
我正在直接从教程中运行一个基本的护照快速身份验证策略。
(下面显示的Facebook策略很常见,我实际上使用的是passport-saml,但这个问题涉及所有护照策略):
passport.use(new FacebookStrategy({
clientID: FACEBOOK_APP_ID,
clientSecret: FACEBOOK_APP_SECRET,
callbackURL: "/auth/facebook/callback"
},
function(accessToken, refreshToken, profile, cb) {
//HOW DO I ATTACH THE profile OBJECT HERE TO THE PASSPORT USER?
//OR IS THERE ANOTHER WAY TO SAVE profile FOR LATER? (without using a database)
return cb(null, profile);
}
));
我需要编辑req.user 对象,并从护照回调中附加profile 对象。这将使用户会话拥有用户特定的个人资料数据。
然后我将在身份验证中间件中使用req.user 和添加的profile:
//MIDDLEWARE TO CHECK IF USER IS LOGGED IN
function authUser(req, res, next) {
if (req.user) {
//I WANT TO HAVE THE profile AVAILABLE HERE
next();
} else {
res.redirect('/');
}
}
如何编辑护照用户对象以提供额外的个人资料信息?
【问题讨论】:
标签: node.js express passport.js