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