Jak*_*dak 4 node.js google-login passport.js oauth2
我在用 nodejs+express 编写的服务中使用谷歌登录,并使用passport-google-oauth 登录谷歌。在我的网站上,我有一个“使用 Google 登录”按钮。我想要的是在用户点击此按钮时始终显示谷歌登录或帐户选择器。相反,如果我在浏览器中恰好使用一个 google 帐户登录,我会立即使用该帐户登录以使用服务。我在定义 GoogleStrategy 时尝试过这样的事情:
passport.use(new GoogleStrategy({
clientID: GOOGLE_CLIENT_ID,
clientSecret: GOOGLE_CLIENT_SECRET,
callbackURL: REDIRECT_URL,
passReqToCallback : true,
prompt: 'select_account' // <--!!!
}, function(req, accessToken, refreshToken, profile, done) {
//callback stuff
})
})
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用。
原来是提示参数放错了地方。而不是将它作为 GoogleStrategy 构造函数的参数,我应该将它放入passport.authenticate() 中间件的参数中
router.get('/', passport.authenticate('google', {
scope: SCOPES,
prompt: 'select_account'
}))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1119 次 |
| 最近记录: |