当前位置: 首页 > 知识库问答 >
问题:

如何重置谷歌oauth 2.0授权?

乐钱青
2023-03-14

我正在使用Google API Client Library for JavaScript(Beta)在Web应用程序上授权用户google帐户(用于youtube操作)。一切正常,但我不知道如何从我的应用程序中“注销”用户,即重置访问令牌。

例如,以下代码检查用户授权,如果没有,则显示弹出窗口,供用户登录帐户并允许web应用程序访问用户数据:

gapi.auth.authorize({client_id: CLIENT_ID, scope: SCOPES, immediate: false}, handleAuth);

但是客户端库没有重置授权的方法。

有一个变通方法,将用户重定向到"accounts.google.com/logout",但这种方法不是我需要的:因此,我们注销用户从谷歌帐户不仅从我的应用程序,而且在任何地方。

谷歌常见问题解答和客户端库描述都没有帮助。

共有3个答案

金旺
2023-03-14

这取决于你所说的重置授权是什么意思。我可以想到三种方法来做到这一点:

>

  • 删除服务器上的授权
    转到myaccount.google.com/permissions,找到您的应用程序并将其删除。下次尝试登录时,您必须使用帐户选择器和同意屏幕完成完整的授权流程。

    在客户端
    gapi.auth2.getAuthInstance(). signOut();
    通过这种方式,Google授权服务器仍然记得您的应用程序,并且授权令牌保留在浏览器存储中。

    注销并断开连接
    gapi.auth2.getAuthInstance(). signOut();
    gapi.auth2.getAuthInstance(). disconnect();
    这相当于(1)但是在客户端上。

  • 姚宪
    2023-03-14

    它非常简单。只需撤销访问权限即可。

    void RevokeAcess()
    {
        try{
        HttpClient client = new DefaultHttpClient();
        HttpPost post = new HttpPost("https://accounts.google.com/o/oauth2/revoke?token="+ACCESS_TOKEN);
        org.apache.http.HttpResponse response = client.execute(post);
        }
        catch(IOException e)
        {
        }
    }
    

    但它应该在asyncTask中

    堵远航
    2023-03-14

    尝试撤销访问令牌,这应该会撤销实际的授权,因此自动批准将停止工作。我想这将解决您的问题。

    https://developers.google.com/accounts/docs/OAuth2WebServer#tokenrevoke

     类似资料:
    • 我有一个具有统一访问控制的Google云存储桶,我在权限中添加了“诱惑者”。它说该对象是公共的,但当我尝试打开链接时,仍会收到此消息:“匿名调用方没有storage.objects.get access to the Google Cloud storage object”错误代码为“401”。我希望任何用户都能够访问该链接。我该怎么做?提前谢谢! 向你问好本

    • 我正在编写一个类,用于创建对BigQuery和Google云存储的授权。 在过去,我曾使用,但已被弃用。我试图使用,但我发现它只允许我使用,而我需要。 我知道可以从转换为,但我不知道如何将它们转换成相反的方向(转换为)。例如,我像这样创建连接: 有人能给我指明如何实现这一目标的方向吗? 谢谢!

    • 我想使用谷歌驱动器作为一个网站的准CMS工作,我正在使内容所有者可以编辑他们的内容使用谷歌驱动器。我希望使用一个可以访问Google Drive的特定用户帐户(在写这篇文章时,服务帐户不能直接访问Google Drive),并且能够与内容所有者共享文档。 在阅读了API和教程之后,我在委托中找到了答案:https://developers.google.com/drive/development

    • 授权失败。请参阅https://developers.google.com/maps/documentation/android/start了解如何正确设置地图。 确保以下内容与API控制台中的内容相对应:包名称:,API密钥:,证书指纹:联系Google服务器失败。建立连接后将进行另一次尝试。 加载地图失败。联系Google服务器时出错。这可能是身份验证问题(但可能是由于网络错误)。 我知道关于