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

3
使用新的Google Play服务来验证帐户时,您首先使用AccountPicker允许用户选择一个账户。如果用户之前没有对您的应用进行身份验证,则会抛出UserRecoverableAuthException异常,其中包括一个意图来显示“允许访问”页面。您只需要允许访问一次。但是,出于测试目的,我需要每次都看到“允许访问”页面。
那么,有人知道如何清除Google Play服务的权限吗?或者其他方法可以每次都显示“允许访问”页面吗?
1个回答

2
在您的Google帐户设置中,有一种设置特定于应用程序的密码的方法。注册2步验证,然后就可以创建它们。要暂时撤销权限,您可以删除或更改密码: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中的值,并使用它创建一个新的Intent,每当用户希望使用其Google账户登录时启动该Intent。但是,服务器可能会意识到应用程序已经通过身份验证,然后在不提示的情况下将您发送过去。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接