Google Play服务 - 清除允许的帐户

时间:2012-10-26 20:21:56

标签: android google-play-services

使用新的Google Play服务对帐户进行身份验证时,首先使用AccountPicker允许用户选择帐户。如果用户之前未对您的应用程序进行身份验证,则会抛出UserRecoverableAuthException,这样您就可以显示“允许访问”页面。您只需要允许访问一次。但是,出于测试目的,我需要每次都看到“允许访问”页面。

那么,有没有人知道如何清除Google Play服务的权限?或者其他一些方法每次都会显示允许访问页面?

1 个答案:

答案 0 :(得分:2)

在您的Google帐户设置中,有一种设置应用专用密码的方法。注册两步验证,然后您可以创建它们。要暂时撤消权限,您可以删除或更改密码:http://support.google.com/accounts/bin/answer.py?hl=en&answer=1070455

否则,请暂时将密码更改为整个Google帐户。

不幸的是,我不认为有一种简单的编程方式可以做到这一点。用户/管理员无法撤销对已安装应用的Google帐户访问权限,这似乎是一个非常严重的安全漏洞。据我所知,Google正在从服务器获取身份验证信息,如果该操作中的某些内容失败,则会抛出UserRecoverableAuthException。那时你通常会从UserException.getIntent()触发Intent,它会通过以下请求与服务器联系:

scope:oauth2:https://www.googleapis.com/auth/drive.readonly[
    account:<your_account>@gmail.com,
    scope:oauth2:https://www.googleapis.com/auth/drive.readonly,
    extrashash:<some_number>]

现在没有找到指示服务器撤销上面请求的Auth Scope的文档。它甚至可能是不可能的。但是,您可以尝试捕获UserException.getIntent()返回的Intent中的值,并使用它来创建每当用户希望使用其Google帐户登录时启动的新Intent。但是,服务器可能会意识到该应用程序已经过身份验证,然后在没有提示的情况下发送给您。

相关问题