【发布时间】:2013-10-01 10:08:35
【问题描述】:
我有一个使用 AccountManager 向 AppEngine 进行身份验证的 Android 应用。它已经工作了一年多。在今天运行一些测试时,我注意到对 https://my-app.appspot.com/_ah/login?continue=http://localhost/&auth=... 的响应中缺少 Set-Cookie 标头。因此,我没有 SACSID,因此无法进行身份验证。
在进一步调查该问题后,我意识到只有在我使用 AppEngine 应用管理员帐户时才会发生这种情况(该帐户在 2 周前进行身份验证没有问题)。我可以在浏览器中毫无问题地登录,非管理员用户可以使用来自AccountManager 的身份验证令牌获取 SACSID。我曾尝试使身份验证令牌无效并获得一个新令牌,但这也不起作用。我还尝试了 https 和 http 的所有不同排列,但仍然没有。
有人知道是什么原因造成的吗?
编辑:添加响应根本不返回任何 cookie。
编辑 2: 似乎 AccountManager.invalidateAuthToken("ah", authToken) 不起作用。在未能获取 SACSID cookie 后,我尝试使令牌失效,假设它已过期。但是,我刚刚检查了一下,下次我请求时会返回相同的令牌。
【问题讨论】:
标签: android google-app-engine authentication google-authentication android-account