Google AppEngine python webapp2 会话忽略 Android 应用程序中的 cookie

Google AppEngine python webapp2 session ignores cookie in Android app

我有一个使用 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="eyJfdXNlciI6WzQ2Nzg2OTY4NTQwOTM4MjQsMSwiV3FmUnFWUmxUME91TllsYnZsMWFxOSIsMTQyMzM1MzI3MCwxNDIzMzUzMjcwLCJMaW9yIFphdGxhdmkiXX05|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=eyJfdXNlciI6WzQ2Nzg2OTY4NTQwOTM4MjQsMSwiZDBCam5Sc1lucElRTjMySWxKQ0NzZyIsMTQyMzQxOTI1MSwxNDIzNDE5MjUxLCJMaW9yIFphdGxhdmkiXX05|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

有什么想法吗?

我已经弄明白了。

显然,Android CookieManager 将 cookie 存储为:

auth=XXXXXX

AppEngine 期望:

auth="XXXXX…" 

我在问题中输入的内容也可以看出这一点,尽管我真的认为这不是问题所在。

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