我使用了passport-youtube-v3模块作为护照.js并为我的网站创建了一个登录系统。基本上它可以工作,但即使在用户创建帐户并确认同意对话框之后,在帐户选择后的每次登录时,用户始终必须确认同意对话框。
这是打算那样的吗?或者我怎样才能避免这种情况?
我不确定这里有什么代码是相关的,因为我就像在 passport-youtube-v3 (https://www.npmjs.com/package/passport-youtube-v3( 的示例页面中一样。如果您需要更多信息,请告诉我。
谢谢!
如果您查看 passport-youtube-v3 源代码,默认的 oauth 参数正在使用approval_prompt : 'force'
这将强制用户接受每次登录的范围(同意对话框((请参阅这篇文章(
如果您不希望发生这种情况,则必须在实例化authorizationParams
时覆盖YoutubeV3Strategy
字段:
var YoutubeV3Strategy = require('passport-youtube-v3').Strategy
passport.use(new YoutubeV3Strategy({
clientID: YOUTUBE_APP_ID,
clientSecret: YOUTUBE_APP_SECRET,
callbackURL: "http://localhost:3000/auth/youtube/callback",
scope: ['https://www.googleapis.com/auth/youtube.readonly'],
authorizationParams: {
access_type: 'offline'
}
},
function(accessToken, refreshToken, profile, done) {
}
));