在一个复杂项目中设置cookie应该注意到的细节

41 阅读1分钟

在一个大型项目中cookie是一个比较常用的,常用于存储一些类似于token等需要在接口发送时传递给后端校验的数据。

cookie的使用

参数描述
name必需。规定 cookie 的名称。
value规定 cookie 的值。
expire可选。规定 cookie 的有效期。
path可选。规定 cookie 的服务器路径。
domain可选。规定 cookie 的域名。
secure可选。规定是否通过安全的 HTTPS 连接来传输 cookie,值为0或1,默认值为0,表示cookei在http和https连接上都有效。

cookie需要注意的细节

但是在实际使用cokkie时还有一些细节需要我们开发人员注意一下。在正常设置cookie时,可能我们会忽略domain这个参数而直接设置cookie。这样设置的cookie的domain会是当前的域名,问题经常就是出现在这里!!!

因为后端的接口可能会在他们自己的子域名上,而我们项目在另一个子域名上面,这就会导致我们设置的cookie根本不会随着接口发送到后端导致各种问题的出现。所以我们在设置cookie最好是这样设置:

import Cookies from 'js-cookie'

// .example.com' (包括所有子域名)
Cookies.set('name', 'value', { domain: '.example.com'' })

这样设置好之后项目中所有子域名下面的接口都会携带上我们设置的cookie了,完结撒花❀