使用“passport-facebook”策略:
accessToken与配置文件一起返回。
假设您已设置以下内容:
// .: Passport Strategy :.
const Strategy = require('passport-facebook').Strategy;
passport.use(new Strategy({
clientID:"IDxxxxxxxxxxxxxxxxxxx",
clientSecret:"SECRETxxxxxxxxxxxxxxxxxxx",
profileFields: ['id', 'displayName', 'name', 'picture.type(large)', 'emails'],
callbackURL:"http://localhost:1337/login/facebook/return"
}, FacebookAccess )
)
function FacebookAccess(accessToken, refreshToken, profile, cb){
// accessToken : valid FB.GraphAPI token
// refreshToken : undefined for Facebook
profile.token = accessToken
return cb(null, profile);
}
令牌包含在配置文件对象中,该对象传递给您决定的
passport.serializeUser函数,例如:
passport.serializeUser(function(user, cb){
var platform_user = {
fbid:user.id,
name:user.displayName,
mail:user.emails[0].value,
token:user.token,
avtr:user.photos[0].value
}
cb(null, platform_user)
})