如果没有GET_ACCOUNTS权限,检测通过AccountPicker选择的帐户是否仍然有效

时间:2016-08-14 04:45:56

标签: android google-oauth android-permissions

在我的应用中,我使用 x * x * ((x-1) * (x-1) * ((x-2) * (x-2) * ... * 1))) = x * x * (x-1) * (x-1) * (x-2) * (x-2) * ... * 1 = (x * (x-1) * (x-2) * ... * 1) * (x * (x-1) * (x-2) * .. * 1) = x! * x! = (x!)^2 让用户选择一个帐户,然后使用AccountPicker.newChooseAccountIntent()获取该帐户的身份验证令牌。

这一切都是在不需要Marshmallow GoogleAuthUtil.getToken()权限的情况下完成的。

移至API 23后的问题是我无法检测所选帐户何时不再有效,因为GET_ACCOUNTS会返回Google帐户的空列表,因为我没有AccountManager.getAccountsByType()权限

使用没有GET_ACCOUNTS的Google帐户进行选择和身份验证是非常烦人的,但是无法检测帐户何时不再有效。

有人知道如何检测帐户何时不再有效?

1 个答案:

答案 0 :(得分:1)

你根本不应该使用GoogleAuthUtil.getToken(),也不应该使用AccountPicker.newChooseAccountIntent()。根据{{​​3}},getToken()很容易受到令牌替换攻击。

您应该关注Improving the Security and User Experience of your Google Sign In Implementation blog post以使用migration guideGoogle Sign In。这样您就可以1)知道登录的帐户2)知道该帐户何时不再有效,以及3)仍然需要获得使用Google服务进行身份验证所需的令牌。