【问题标题】:Google AppEngine python webapp2 session ignores cookie in Android appGoogle AppEngine python webapp2会话忽略Android应用程序中的cookie
【发布时间】:2015-02-10 16:44:30
【问题描述】:

我有一个使用 webapp2 extras 身份验证机制的应用引擎服务器。我有一个 Android 和一个 iOS 客户端,当然,该机制使用 cookie 来保持会话继续进行。

问题是,当 Android 客户端在登录后尝试发出请求时——即使它发送带有 cookie 的请求——cookie 被忽略并且会话没有恢复。当我使用 iOS 客户端时 - 会话验证成功。

这很奇怪,我无法解释为什么会发生这种情况。

我为这两种情况调试了会话,它们是:

iOS 会话:

Accept: */*
Accept-Language: en-us
Content_Length: 0
Content_Type: application/x-www-form-urlencoded;charset=UTF-8
Cookie: auth="eyJfdXNlciI6WzQ2Nzg2OTY4NTQwOTM4MjQsMSwiV3FmUnFWUmxUME91TllsYnZsMWFxOSIsMTQyMzM1MzI3MCwxNDIzMzUzMjcwLCJMaW9yIFphdGxhdmkiXX0\075|1423353270|c2c7343dbb701f188c18f8b16c0fe06b794ad2d2"
Host: localhost:8081
User-Agent: PeersCards/1.0 CFNetwork/711.1.12 Darwin/14.0.0
X-Appengine-Country: ZZ
INFO     2015-02-08 17:38:55,123 user_api.py:591] Session was recovered

Android 会话:

Content_Length: 0
Content_Type: application/x-www-form-urlencoded;charset=UTF-8
Cookie: auth=eyJfdXNlciI6WzQ2Nzg2OTY4NTQwOTM4MjQsMSwiZDBCam5Sc1lucElRTjMySWxKQ0NzZyIsMTQyMzQxOTI1MSwxNDIzNDE5MjUxLCJMaW9yIFphdGxhdmkiXX0\075|1423419251|68063593b0262fdb5c6b479457c95eb9fcc7047f
Host: 10.0.0.16:8081
User-Agent: Dalvik/1.6.0 (Linux; U; Android 4.4.2; SM-N900 Build/KOT49H)
X-Appengine-Country: ZZ
INFO     2015-02-08 18:16:11,215 user_api.py:594] Session is not saved

有什么想法吗?

【问题讨论】:

  • 在你的鞋子里,我会开始入侵 logging.debug 调用 webapp2 源(在本地开发服务器中,假设问题在那里可以重现——如果不是,你需要将 webapp2 克隆到你的源树做同样的事情)详细找出每种情况下发生的事情,成功的和失败的;从您向我们展示的日志条目中,我什么也没有想到……

标签: android google-app-engine session cookies


【解决方案1】:

我已经想通了。

显然,Android CookieManager 将 cookie 存储为:

auth=XXXXXX

AppEngine 期待:

auth="XXXXX…" 

这也可以在我在问题中的输入中看到,尽管我真的不认为这会是问题。

我已将"" 手动设置到 Android 代码中的 cookie 中,这解决了问题。

【讨论】:

    猜你喜欢
    • 2012-12-09
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 2013-08-28
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多