在我的应用中,我使用 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帐户进行选择和身份验证是非常烦人的,但是无法检测帐户何时不再有效。
有人知道如何检测帐户何时不再有效?
答案 0 :(得分:1)
你根本不应该使用GoogleAuthUtil.getToken()
,也不应该使用AccountPicker.newChooseAccountIntent()
。根据{{3}},getToken()
很容易受到令牌替换攻击。
您应该关注Improving the Security and User Experience of your Google Sign In Implementation blog post以使用migration guide和Google Sign In。这样您就可以1)知道登录的帐户2)知道该帐户何时不再有效,以及3)仍然需要获得使用Google服务进行身份验证所需的令牌。