tl; dr:Python新手,Django的会话在使用HTTPS时未正确传播
我正在构建一个基本的Web服务,它依靠会话/ cookie来验证用户。
在第一次身份验证期间,我配置了这样的特定会话:
request.session['userSecureId'] = "blabla"
return HttpResponseRedirect('http://localhost/secure',context)
此时,django_session表中添加了一个新的会话密钥。 session_data
字段上的基本b64解码确认存在'userSecureId'
在我看来,我检查这个会话是否像这样存在:
if request.session.get('userSecureId'):
# do something
如果我在我的本地系统(普通HTTP)上尝试这个,它的效果很好。所以我的下一步是在启用了SSL的远程服务器上运行它。我配置了
我在settings.py上SESSION_COOKIE_SECURE = True
,但现在'userSecureId'返回的值始终为None。
这可能是一个新手问题,所以任何指针都会被赞赏=)
此外,如果我打印request.session.session_key
我能够成功检索会话密钥,这意味着Django正确检测到我的sessionid cookie,但无法解码session_value的内容
编辑:我刚尝试在我的远程系统上访问Django(相同的配置),我遇到了同样的问题。我不知道为什么我不能运行会话值。代码使用127.0.0.1 w / o问题但