Django 1.9没有仅在使用Cordova 6.0.0的Android上设置登录响应时的sessionid cookie

Django 1.9没有仅在使用Cordova 6.0.0的Android上设置登录响应时的sessionid cookie,android,django,cordova,session,cookies,Android,Django,Cordova,Session,Cookies,我们的Android用户开始抱怨,每次他们杀死我们的应用程序,他们都必须再次登录。我可以在我们的Android设备上复制,但不能在我们的iOS设备上复制,也不能在任何设备上通过我们的移动网站复制,也不能通过我们的桌面网站复制 当我将Chrome调试器连接到运行在Android上的Cordova应用程序时,Django似乎无法在登录响应路径上设置sessionid cookie。在其他平台上(包括Android上的straight Chrome),当我查看该端点的响应时,sessionid coo

我们的Android用户开始抱怨,每次他们杀死我们的应用程序,他们都必须再次登录。我可以在我们的Android设备上复制,但不能在我们的iOS设备上复制,也不能在任何设备上通过我们的移动网站复制,也不能通过我们的桌面网站复制

当我将Chrome调试器连接到运行在Android上的Cordova应用程序时,Django似乎无法在登录响应路径上设置sessionid cookie。在其他平台上(包括Android上的straight Chrome),当我查看该端点的响应时,sessionid cookie就在那里

以下是除了Cordova Android之外的所有浏览器的正常登录响应。请注意sessionid cookie的设置:

Response Headers
    Connection:keep-alive
    Content-Encoding:gzip
    Content-Length:654
    Content-Type:application/json; charset=utf-8
    Date:Sat, 23 Apr 2016 22:33:44 GMT
    ETag:"11186a50be09093d01d4e82ff4d9d3e5;gzip"
    Server:nginx/1.8.1
    Set-Cookie:sessionid=25a9wodafd4zh8w0lzpklf8lnc7mxwbm; expires=Sat, 07-May-2016 22:33:44 GMT; Max-Age=1209600; Path=/
    Vary:Cookie, Accept-Encoding
    X-Frame-Options:DENY
    X-Handled-By:127.0.0.1:8000
以下是我在Android上通过Cordova应用程序得到的回应:

Response Headers
    Connection:keep-alive
    Content-Encoding:gzip
    Content-Length:654
    Content-Type:application/json; charset=utf-8
    Date:Sat, 23 Apr 2016 22:52:23 GMT
    ETag:"11186a50be09093d01d4e82ff4d9d3e5;gzip"
    Server:nginx/1.8.1
    Vary:Cookie, Accept-Encoding
    X-Frame-Options:DENY
    X-Handled-By:127.0.0.1:8000
请求成功,用户不知何故拥有一个会话,可以进行购买。他们可以对应用程序进行后台处理并将其启动,但他们的会话仍然存在,但如果他们杀死应用程序并将其恢复,他们将丢失会话

当我将Safari web调试器连接到iOS Cordova应用程序时,登录响应看起来不错。sessionid cookie出现在响应头中,一切正常


我希望在这整个过程中,我遗漏了一些明显的东西。

看起来很多其他人也有同样的问题——请看和。我完全困惑不解。自1月份以来,我们的数百名用户一直在使用持久会话。这些链接表明它不应该对任何人起作用。听起来我将要实现持久会话存储。