使用node.js和护照身份验证使用google登录我的应用程序

时间:2016-07-20 05:29:45

标签: angularjs node.js cors

我正在尝试使用Google帐户登录我的应用程序。我已使用护照“LocalStrategy”身份验证成功登录到应用程序。现在我想使用'GoogleStrategy'身份验证登录。但它显示出一些错误。我附上了错误快照。我尝试了类似下面的内容,

api.js

passport.use(new GoogleStrategy({
  clientID        : config.googleAuth.clientID,
  clientSecret    : config.googleAuth.clientSecret,
  callbackURL     : config.googleAuth.callbackURL,
},
function(accessToken,refreshToken, profile, done){
  User.findOrCreate({googleId : profile.id}, function(err, user){
    return done(err, user);
  });
}));


router.get('/pages/auth/loginWithGoogle',
passport.authenticate('google', { scope :    ['https://www.googleapis.com/auth/plus.login'] }));

router.get('/auth/google/callback', function(req, res, next) {
    passport.authenticate('google', function(err, user, info) {
    if (user === false) {
        return res.json({
            success:false,
            message: info.message,
        });
    } else {
        req.login(user, function(err) {
            //console.log(req.user);
            //console.log(req.user.mobile);
            //console.log(req.user.Country);
            return res.json({
                success:true,
                Id:req.sessionID,
                userName:req.body.username,
                Email:req.user.email,
                uid:req.user._id,
                mobile:req.user.mobile,
                //message: 'Login Success',
            });
        });         
    }
})(req, res, next);
});

controller.js

vm.withGoogle = function(userData){
    $http({
        url: 'http://192.168.2.8:7200/api/pages/auth/loginWithGoogle',
        method: 'GET'
    }).then(function(res){
        if(res.data.success){
            console.log("success");
        } else {
            console.log("unsuccess");
        }
    }, function(error){
        console.log(error);
        alert(error.data);
    });
};

的login.html

<md-button class="md-raised google" ng-click="vm.withGoogle(vm.form);">
    <div layout="row" layout-align="center center">
    <span>
      <md-icon md-font-icon="icon-google-plus" class="s16"></md-icon>
      <span translate="LOGIN.WITH_GOOGLE">Log in with Google</span>
    </span>
    </div>
</md-button>

错误图片

error image

0 个答案:

没有答案