Header 设置 cookie 在 shopify 扩展中不起作用
Header set cookie not working in shopify extension
我正在 php codeigniter 上开发 shopify 扩展。 7.1 php 版本。
我在 shopify 上安装扩展程序时收到此错误。
无法加载该应用
然后我在默认控制器中添加此代码:
header('Set-Cookie: same-site-cookie=foo; SameSite=Lax');
header('Set-Cookie: cross-site-cookie=bar; SameSite=None; Secure');
但我仍然收到上述错误。甚至 cookie 都是在我检查时创建的 Application > Storage > Cookies.
任何人都可以指导我缺少什么或者为什么我仍然在 chrome 80 上收到此错误。
谢谢!
找到附件。
https://ibb.co/fFpSsZj
https://ibb.co/LdT6Zdq
您为什么认为 cookie 是个问题?您可能想在设置或其他一些内部错误中检查应用程序的路径。
无论如何,如果您确定问题出在您的 cookie 中 - 您尝试设置的内容就没有任何意义。我假设您只是在某处找到了一个示例,并在不理解的情况下盲目地将其添加到您的应用程序中。
使用第二种构造。这是从嵌入式应用程序中设置 cookie 所需的示例。
cross-site-cookie=bar
只是要设置 cookie 的示例。您应该在应用中设置 cookie 的任何地方用您的键值对替换它。
将 false
作为第二个参数添加到 header()
函数以允许一次设置多个 cookie。
这是一个例子:
header('Set-Cookie: username=John; Path=/; SameSite=None; Secure', false);
header('Set-Cookie: age=30; Path=/; SameSite=None; Secure', false);
它现在工作正常。解决方案是去 chrome://flags 并搜索 samesite 并尝试默认禁用 SameSite cookies 和 没有 SameSite 的 Cookie 必须是安全的 选项。再次转到您的应用程序,错误将隐藏。然后转到应用程序 > 存储 > Cookies 并检查已经创建的应用程序 cookie。它可能在 cookie 中包含会话 ID。只需用相同的名称、值等替换包括此 SameSite=none, secure
在内的此 cookie,然后再次恢复您的标志设置并重新加载应用程序。它会工作正常。
谢谢!
我正在 php codeigniter 上开发 shopify 扩展。 7.1 php 版本。 我在 shopify 上安装扩展程序时收到此错误。 无法加载该应用 然后我在默认控制器中添加此代码:
header('Set-Cookie: same-site-cookie=foo; SameSite=Lax');
header('Set-Cookie: cross-site-cookie=bar; SameSite=None; Secure');
但我仍然收到上述错误。甚至 cookie 都是在我检查时创建的 Application > Storage > Cookies.
任何人都可以指导我缺少什么或者为什么我仍然在 chrome 80 上收到此错误。
谢谢!
找到附件。
https://ibb.co/fFpSsZj
https://ibb.co/LdT6Zdq
您为什么认为 cookie 是个问题?您可能想在设置或其他一些内部错误中检查应用程序的路径。
无论如何,如果您确定问题出在您的 cookie 中 - 您尝试设置的内容就没有任何意义。我假设您只是在某处找到了一个示例,并在不理解的情况下盲目地将其添加到您的应用程序中。
使用第二种构造。这是从嵌入式应用程序中设置 cookie 所需的示例。
cross-site-cookie=bar
只是要设置 cookie 的示例。您应该在应用中设置 cookie 的任何地方用您的键值对替换它。将
false
作为第二个参数添加到header()
函数以允许一次设置多个 cookie。
这是一个例子:
header('Set-Cookie: username=John; Path=/; SameSite=None; Secure', false);
header('Set-Cookie: age=30; Path=/; SameSite=None; Secure', false);
它现在工作正常。解决方案是去 chrome://flags 并搜索 samesite 并尝试默认禁用 SameSite cookies 和 没有 SameSite 的 Cookie 必须是安全的 选项。再次转到您的应用程序,错误将隐藏。然后转到应用程序 > 存储 > Cookies 并检查已经创建的应用程序 cookie。它可能在 cookie 中包含会话 ID。只需用相同的名称、值等替换包括此 SameSite=none, secure
在内的此 cookie,然后再次恢复您的标志设置并重新加载应用程序。它会工作正常。
谢谢!