【发布时间】: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