Directus在管理应用程序源上设置cookie,但我在前端应用程序上需要它

时间:2019-12-28 14:28:08

标签: cookies localhost setcookie directus

我在localhost上有directus API和管理应用程序,而在localhost:3000上有前端React应用程序。当我尝试通过React接口中的client.login方法登录时,directus将cookie设置为localhost(其管理应用程序源)。但是我需要在我的实际应用程序所在的localhost:3000上使用此cookie。 设置cookie标头是这样的: directus-test-session = 4JCvIJhNxCovLAvCwkSulylc8ZYq1iok4EQ3%3A%3A5b84ad5310ba25a7129ed57448136e13;路径= /; expires =星期六,2020年1月4日14:06:49 UTC; HttpOnly

Google控制台也提供如下警告: 设置了与http://directus.test处的跨站点资源关联的cookie,但未设置SameSite属性。如果将来的Chrome浏览器版本设置为SameSite=NoneSecure,则仅会发送带有跨站点请求的cookie。

我需要将cookie设置为localhost:3000。我怎样才能做到这一点?预先谢谢你。

1 个答案:

答案 0 :(得分:0)

我不确定在撰写本文时Chrome是否允许您将Cookie设置为特定端口上的localhost *

对于引发的警告:我们无法设置SameSite属性,因为这将完全取消对跨域cookie的支持。您可以将最终项目与Directus托管在同一(子)域上,也可以使用JWT模式进行身份验证。 (使用client.login时,请设置mode = 'jwt'。)

我们可以考虑默认情况下制作Cookie Secure,但这可能会妨碍localhost的开发,因为这需要HTTPS连接来发送Cookie。

* Chrome(和其他浏览器)最近非常频繁地更新其Cookie政策,以对抗第三方跟踪。

相关问题