2010-06-19 64 views
20

我有一个android应用程序,它对一个appengine应用程序进行身份验证。我已经工作了一段时间,直到authToken提供给我(由android的AccountManager)过期,导致500错误,当我试图使用它来获得会话cookie。为什么我从Google Appengine登录而不是ACSID获取SACSID cookie?

我已经使authToken失效,但在此之后我仍然无法验证。然而,与其投掷500(与无效的auth令牌一样),它会像成功案例一样响应 - 而不是像我期望的那样设置“ACSID”cookie,它会设置“SACSID”。它看起来很像一个身份验证cookie(因为它是随机看起来很长的),但试图使用此cookie访问经过身份验证的资源会将我重定向到登录页面。

任何想法是怎么回事?

回答

37

“S”是为了安全!

我终于明白,问题是,我从https://myapp.appspot.com/_ah/login获取cookie,但试图访问http://myapp.appspot.com/上的已验证页面。我现在已更改为访问https://myapp.appspot.com/上的资源,并按预期工作。我仍然不确定什么时候或为什么会发生变化,并且很惊讶,互联网上没有人提到过SACSID曲奇......

+2

我一直在努力争取更长的时间,然后我不得不承认。我应该知道我通过https会话收到的cookie在http会话中无效。 – prestomation 2011-04-29 03:13:41

+1

老兄你是我的神:D – Shadow 2011-10-10 13:39:42

+1

感谢您节省我的研究时间!我实际上是从另一个方向来的。我想知道是否窃取HTTP cookie的人可以使用它来访问受HTTPS保护的内容。这对于安全来说是个好消息:) – kichik 2012-07-02 22:53:15