【问题标题】:Strange cookie behaviour in Netlify FunctionsNetlify 函数中奇怪的 cookie 行为
【发布时间】:2021-07-21 05:52:08
【问题描述】:

我在 Netlify 上托管的 Gatsby 网站上看到了一些奇怪的 cookie 行为。在我的 Netlify 函数中,我有时会收到这样的 cookie:

"headers": {
  "cookie": "__stripe_mid=someId, nf_jwt=someId, __stripe_sid=someId",
   /* ... */
},

而不是这样(用分号分隔符而不是逗号):

"headers": {
  "cookie": "__stripe_mid=someId; nf_jwt=someId; __stripe_sid=someId",
   /* ... */
},

当它像第一个示例一样发送时,它会导致我的 cookie.parse() 代码偶尔给我一个带有单个键的对象,并且值是其余 cookie 的串联。像这样:

{
  __stripe_mid: "someId, nf_jwt=someId, __stripe_sid=someId"
}

我可以确认,在 Chrome DevTools 中,cookie 是用分号分隔符发送的(应该如此)。但是当它们最终被传递给 Netlify 函数时,它们已经变成了逗号。示例 Netlify 函数:

export async function handler (event) {
  console.log(event.headers.cookies) // Comma separated cookies
}

我似乎无法弄清楚是什么原因造成的。有谁知道为什么我会在不同时间从浏览器收到不同格式的 Cookie?

【问题讨论】:

    标签: node.js http cookies netlify netlify-function


    【解决方案1】:

    【讨论】:

    • 有趣。这真的让我当时很震惊。为了解决这个问题,我最终创建了自定义解析代码,我认为现在可以恢复。很烦人!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-03
    • 2017-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多