我有一个使用AccountManager
向AppEngine验证的Android应用。它已经工作了一年多了。在今天运行一些测试时,我注意到对https://my-app.appspot.com/_ah/login?continue=http://localhost/&auth=...
的响应中缺少Set-Cookie标头。因此,我没有SACSID,因此无法进行身份验证。
在进一步研究这个问题之后,我意识到只有在我使用AppEngine应用程序管理员帐户时才会发生这种情况(这个帐户在2周前验证时没有问题)。我可以在浏览器中毫无问题地登录,非管理员用户可以使用AccountManager
中的身份验证令牌获取SACSID。我已经尝试使auth令牌无效并获得一个新令牌,但这也无效。我也为https和http尝试了所有不同的排列,但仍然没有。
任何人都知道可能导致这种情况的原因是什么?
编辑:添加根本没有回复任何Cookie。
编辑2:似乎AccountManager.invalidateAuthToken("ah", authToken)
无效。在未能获得SACSID cookie之后,我尝试使该令牌无效,假设它已过期。但是,我刚检查过,下次请求时会返回相同的令牌。
答案 0 :(得分:0)
似乎问题是AccountManager.invalidateAuthToken
需要使用"com.google"
来调用,因为帐户类型不是"ah"
。