在不更改我的代码或配置的情况下,现在谷歌每次要求用户尝试向我的应用程序进行身份验证时都要求用户授予权限。即使用户已经授予了访问权限,但范围也没有改变。
我没有收到任何错误,登录工作正常,现在每次都会出现要求权限的Google对话框。
要初始化Google,我使用 gapi.auth2.init 并将“https://www.googleapis.com/auth/plus.profile.emails.read”作为范围。 另外,为了请求访问,我使用 auth2.grantOfflineAccess 。
我还在我的Google帐户中查看了有权访问的应用,并且该应用已成功注册。
其他人是否见过这个问题?或者知道谷歌是否以处理权限的方式改变了某些内容?
答案 0 :(得分:3)
我相信我看到类似的行为......认证流程已经开始要求用户在每次登录时都向应用程序授予应用程序权限。以前,它只会从登录进行授予权限用户第一次登录应用程序。我最近没有更改所请求的范围或基础代码......但是还没有在一段时间内使用该应用程序(几个月?)
我正在使用此处列出的oAuth2服务器端身份验证和grantOfflineAccess()https://developers.google.com/identity/sign-in/web/server-side-flow。 鉴于没有发布实施细节,我无法判断我找到的修复是否适用于您的情况。 我发现的更正...以便身份验证仅要求用户在第一次登录应用时授予在调用getOfflineAccess()时明确指定“prompt”属性。
var auth2 = gapi.auth2.getAuthInstance();
auth2.grantOfflineAccess({
prompt : 'select_account'
}
).then(signInCallback);
答案 1 :(得分:0)