当我转到localhost:8000 / auth / google时,在注册护照重定向到callbackUrl之后但不执行匿名回调函数(accessToken,refreshToken,profile,done)的情况下,将加载google signup页面。如果我用console.print accessToken,refreshToken,配置文件什么都不会发生。
const passport = require('passport');
const GoogleStrategy = require('passport-google-oauth20').Strategy;
const keys = require('../config/keys')
const mongoose= require('mongoose')
const User = mongoose.model('User')
passport.use(
new GoogleStrategy({
clientID: keys.googleClientID,
clientSecret: keys.googleClientSecret,
callbackURL: "/auth/google/callback",
passReqToCallback : true
},
(accessToken, refreshToken, profile,done)=>{
console.log("allgood",accessToken)
User.findOne({googleId:profile.id})
.then((existingUser) => {
if (existingUser) {
}else{
new User({googleId:profile.id}).save();
}
})
})
)
答案 0 :(得分:0)
实际上问题出在路线上,我没有添加以下路线
app.get('/auth/google/callback',passport.authenticate('google'));
}
此外,不需要护照。请使用“ passReqToCallback:true”。