2015-02-08 52 views
1

我有一个使用webapp2额外授权机制的应用程序引擎服务器。我有一个Android和一个iOS客户端,当然这个机制使用cookies来保持会话的进行。Google AppEngine python webapp2会话在Android应用程序中忽略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 

任何想法?

+0

在你的鞋子里,我会开始将'logging.debug'调用入webapp2来源(在本地开发服务器中,假设问题在那里是可重现的 - 如果不是的话,你需要将webapp2克隆到你的源代码树中做同样的事情)来详细了解每种情况下发生的事情,成功和失败的事情;没有任何东西从你向我们展示的日志条目中跳出来...... – 2015-02-08 22:15:08

回答

0

我已经想通了。

显然,Android的CookieManager被存储的cookie为:

auth=XXXXXX 

和AppEngine上期待:

auth="XXXXX…" 

它也可以在输入看到我放在这个问题,尽管我认真地认为这不是问题。

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

相关问题