小编Hyd*_*der的帖子

Facebook登录在用户个人资料中返回"未定义"字段,但不会返回电子邮件.MEANJs + Passport-facebook

我正在使用Meanjs.org样板和Facebook注册将我返回到注册页面.以下是我到目前为止所采取的步骤.

1)设置Facebook应用程序站点URL

HTTP://本地主机:3000 /

OAuth的回调URI

HTTP://本地主机:3000/auth /中的Facebook /回调

2)将APP_ID和APP_Secret放在Client_ID和Client_Secret中

    facebook: {
    clientID: process.env.FACEBOOK_ID || '*****',
    clientSecret: process.env.FACEBOOK_SECRET || '*****',
    callbackURL: 'http://localhost:3000/auth/facebook/callback',
    profileFields: ['id','emails', 'first_name', 'last_name', 'displayName', 'link', 'about_me', 'photos' ]
},
Run Code Online (Sandbox Code Playgroud)

3)代码如下

--Routes

// Setting the facebook oauth routes
app.route('/auth/facebook').get(passport.authenticate('facebook', {
    scope: ['email']
}));
app.route('/auth/facebook/callback').get(users.oauthCallback('facebook'));
Run Code Online (Sandbox Code Playgroud)

- oauthCallback函数,

    exports.oauthCallback = function(strategy) {
    return function(req, res, next) {
        passport.authenticate(strategy, function(err, user, redirectURL) {
            if (err || !user) {
                console.log('1' + err);
                //console.log(user);
                return res.redirect('/#!/signin');
            }
            req.login(user, …
Run Code Online (Sandbox Code Playgroud)

facebook login passport-facebook meanjs

6
推荐指数
1
解决办法
3358
查看次数

标签 统计

facebook ×1

login ×1

meanjs ×1

passport-facebook ×1