使用PassportJS + NodeJs + Angular

时间:2015-07-28 19:01:50

标签: angularjs node.js

我正在Angular应用程序中实现带有节点的Passportjs,以检索用户链接信息,例如名称,当前位置等......这里是场景。

用户尚未登录LinkedIn - >将用户重定向到linkedIn登录页面。 (大!)

用户已登录LinkedIn - >重定向到页面说" LinkedIn验证失败" (WTF?)

代码:

按下按钮点击我的Angular控制器:

$scope.verifyLinkedIn = function(){
  $window.location.href = '/auth/linkedin' ;
};

然后这就是我的node routes.js文件对于linkedIn Passport来说的样子:

{
    path: '/auth/linkedin',
    httpMethod: 'GET',
    middleware: [passport.authenticate('linkedin', {
        successRedirect: '/edit_roommate',
        failureRedirect: '/edit_roommate'
    })]
},
{
    path: '/auth/linkedin/callback',
    httpMethod: 'GET',
    middleware: [function (req, res) {
        console.log('/auth/linkedin/callback - req.url: ' + req.url);
        AuthCtrl.loginWithLinkedIn(req, res, function(err, res)
        {
            console.log('done!');
            //res.render('search');
        });
    }]
},

从页面上的这一点重定向到:

http://www.apartmate.com/auth/linkedin/callback?code=AQQ9UPfnVSTlaHv8OYzPdnIcIt0KtpGW7OCbv3ngolCoR3mWGNADymFwGckWEU7RB1VMthn77ILPaxHtlO3N9Kx-NghPtGbGrIYxkyAzZzyNdZM-Fv8&state=vSMzPEsAQhviuHqgF8xEGhfQ

该页面显示" LinkedIn验证失败"并且控制台擦干净了。我错过了什么吗?我的实施不正确吗?任何帮助将非常感激。感谢。

0 个答案:

没有答案