代码之家  ›  专栏  ›  技术社区  ›  Angela Tim

每次请求访问应用程序时,Google auth2都会请求许可

  •  8
  • Angela Tim  · 技术社区  · 7 年前

    在不更改我的代码或配置的情况下,现在谷歌要求用户在每次尝试对我的应用进行身份验证时都授予权限。即使用户已经拒绝访问,并且范围没有改变。

    我没有收到任何错误,登录效果很好,只是现在每次都会出现请求权限的谷歌对话框。

    要初始化google,我使用 gapi。auth2.init 使用“ https://www.googleapis.com/auth/plus.profile.emails.read “作为范围。 还请求访问我使用的 auth2.grantoflineaccess .

    我还检查了我的Google帐户中有访问权限的应用程序,并且该应用程序在那里成功注册。

    其他人见过这个问题吗?或者知道谷歌是否改变了他们处理权限的方式?

    2 回复  |  直到 7 年前
        1
  •  12
  •   forkdbloke Hammad ul Hasan    5 年前

    我相信我看到了类似的行为。。。身份验证流已开始要求用户在每次登录时向作用域授予应用权限。以前,它只会从登录开始,在用户首次登录应用程序时授予权限。我最近没有更改请求的作用域,也没有更改底层代码。。。但也有一段时间(几个月?)

    我使用的是oAuth2服务器端身份验证和grantoflineaccess() here . 鉴于没有发布任何实施细节,我无法判断我找到的修复是否适用于您的情况。 我发现的更正。。。因此,身份验证仅要求用户在首次登录应用程序时授予权限,即在调用getOfflineAccess()时显式指定“prompt”属性。

        var auth2 = gapi.auth2.getAuthInstance(); 
    
        auth2.grantOfflineAccess({
            prompt : 'select_account'
        }
        ).then(signInCallback);
    
        2
  •  1
  •   Vikash    5 年前
    https://developers.google.com/identity/protocols/OAuth2WebServer#offline
    

    检查步骤1 促使 参数 enter image description here