【问题标题】:Android AccountManager Seemingly Not Invalidating TokensAndroid AccountManager 似乎没有使令牌失效
【发布时间】: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


    【解决方案1】:

    似乎问题在于 AccountManager.invalidateAuthToken 需要使用 "com.google" 作为 accountType 而不是 "ah" 来调用。

    【讨论】:

      猜你喜欢
      • 2014-05-31
      • 2012-06-19
      • 2012-08-01
      • 2022-12-24
      • 2012-08-01
      • 1970-01-01
      • 2020-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多