与此类似的问题,除了那些答案已经过时且不适用于我的当前情况。
这是我的Web应用程序的登录流程:
这个工作正常(一周前进行了最后测试),但是今天突然给了我:
error: invalid_grant
我使用的是Node的xoauth2软件包,自6月份以来未进行过更新,因此我看不到为什么现在突然成为问题-除非Google在过去一周左右对其进行了更改?
我正在使用的代码示例称为错误:
// User credentials - all verified working + correct
xoauth2gen = xoauth2.createXOAuth2Generator({
user: email,
clientId: configAuth.googleAuth.clientID,
clientSecret: configAuth.googleAuth.clientSecret,
refreshToken: refresh
});
// SMTP/IMAP
xoauth2gen.getToken(function(err, token){
if(err){
return console.log("XOAUTH2 Error: " + err);
}
if(type === "full"){
cb(token);
}
});
编辑:为了完整性,我在生成刷新令牌时使用的范围是:
app.get('/auth/google',
passport.authenticate('google',
{
scope : ['https://mail.google.com/',
'profile',
'email',
'https://www.googleapis.com/auth/userinfo.profile',
'https://www.google.com/m8/feeds'],
accessType: 'offline',
approvalPrompt: 'force'
}
));
最终,通过取消对我的Gmail帐户中的应用程序的授权,删除了我存储在MongoDB中的刷新令牌并从头开始来解决此问题。看来这只是我更改了某些权限而未通过oAuth2授予的情况。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句