【问题标题】:My cookie disappears我的饼干消失了
【发布时间】:2015-03-07 22:11:29
【问题描述】:

我会尽量解释清楚。

复制:

我正在做一个 auth/login 系统,其中:

  1. 用户输入他的凭据并将数据发送到服务器[经典形式]。

  2. 服务器检查所有内容,然后(如果可以的话)在服务器中建立一个会话并响应一个静态视图,该视图使用把手和传递一个变量呈现:sessionName.

  3. 此视图包含一个 js 片段,它使用以下代码添加 cookiedocument.cookie += ';session_name={{ sessionName }}'。此时,一切仍然正确。并且 cookie 已正确添加

  4. 然后它重定向到网站的根目录。此时,我希望拥有我之前设置的 cookie。但没有。

相关数据:

  • sessionName 变量已正确编译。
  • Analytics [Mixpanel 和 Google Analytics] cookies持久性的。
  • 我使用 Mac OSX YosemiteChrome 39Firefox Developers Edition测试
  • server 使用 Wallmart Labs 的 node.jshapi.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


【解决方案1】:

我必须添加path=/ 参数,它就像一个魅力! 您可以找到与 cookie here 相关的所有信息。 请注意您使用的字符,因为并非所有字符都是允许的。

【讨论】:

  • 您在路径属性上准确设置了什么值?我只有“/”,但突然我的 cookie 消失了。
  • tools.ietf.org/html/rfc6265#section-5.2.4 所说,cookie 路径属性应与位置路径属性匹配。在/ 的情况下,匹配根,因此其余路由。检查 cookie 的操作域和/或可能的子域冲突。
猜你喜欢
  • 1970-01-01
  • 2017-03-02
  • 2017-02-03
  • 1970-01-01
  • 2012-03-05
  • 2015-06-06
  • 1970-01-01
  • 2011-08-04
  • 1970-01-01
相关资源
最近更新 更多