【发布时间】:2015-03-07 22:11:29
【问题描述】:
我会尽量解释清楚。
复制:
我正在做一个 auth/login 系统,其中:
-
用户输入他的凭据并将数据发送到服务器[经典形式]。
-
服务器检查所有内容,然后(如果可以的话)在服务器中建立一个会话并响应一个静态视图,该视图使用把手和传递一个变量呈现:
sessionName. -
此视图包含一个 js 片段,它使用以下代码添加 cookie:
document.cookie += ';session_name={{ sessionName }}'。此时,一切仍然正确。并且 cookie 已正确添加。 -
然后它重定向到网站的根目录。此时,我希望拥有我之前设置的 cookie。但没有。
相关数据:
- sessionName 变量已正确编译。
- Analytics [Mixpanel 和 Google Analytics] cookies 是持久性的。
- 我使用 Mac OSX Yosemite 在 Chrome 39 和 Firefox Developers Edition 中测试。
- server 使用 Wallmart Labs 的 node.js 和 hapi.js 与 hapi.js 插件 hapi-auth-饼干
- 我还测试以手动设置 cookie,但它也不会持续存在。我使用的任何一种。
-
cookie 是一个简单的字符串;准确地说:hubato 所以:
;session_name=huabto.
TL;DR
导航时我的 cookie 不存在。无论我如何或在 cookie 中设置什么。
【问题讨论】:
-
你的意思是重定向后,浏览器没有在请求的头部设置cookie?
-
并且(子)域和协议(http、https)是否相同?
-
关于#3,你如何确认 cookie 是正确的?
-
您是否使用不同的子域?
-
好的,伙计们@HiroakiMachida @benjaminjosephw。首先感谢您花时间帮助我;)我尝试回答所有问题: 1. 我在哪里可以正确检查这些请求标头? 2.子域(没有www)和协议(不安全)始终相同。 3.我在打印
document.cookie,够了吗?希望对您有所帮助!
标签: javascript node.js redirect cookies persistence