js-cookie存token
时间: 2025-01-06 20:44:27 浏览: 9
### 使用 js-cookie 存储 Token
为了在 JavaScript 中使用 `js-cookie` 库来存储和管理 token,可以通过以下方式实现:
#### 安装库
首先确保已经安装了 `js-cookie`。如果尚未安装,则可通过 npm 或 yarn 进行安装。
```bash
npm install js-cookie
```
或者
```bash
yarn add js-cookie
```
#### 设置 Cookie
要设置一个名为 `token` 的 cookie 并赋予其特定值,可按照如下代码执行:
```javascript
import Cookies from 'js-cookie';
// 设置Token到Cookie中
Cookies.set('token', 'your_token_value_here', {
expires: 7, // 默认有效期为7天
path: '/', // 路径应覆盖整个应用
sameSite: 'lax',
secure: true,
httpOnly: false // 如果是在前端操作则设为false;如果是后端设置并希望防止XSS攻击则建议设为true
});
```
这段代码不仅设置了 token 值还指定了几个重要的属性选项[^2]。
- **expires**: 表示该 cookie 的过期时间,默认单位是天数。
- **path**: 指定此 cookie 可用于哪个路径下的请求发送给服务器。
- **sameSite**: 控制浏览器是否应该附加同站或跨站点请求中的 cookies。
- **secure**: 当设置为 `true` 时,意味着这个 cookie 只能通过 HTTPS 协议传输。
- **httpOnly**: 配置成 `true` 后,JavaScript 就无法访问这个 cookie,从而提高安全性[^5]。
#### 获取 Cookie
当需要从客户端读取已保存的 token 时,可以调用相应的 API 方法:
```javascript
const userToken = Cookies.get('token');
console.log(`User's current token is ${userToken}`);
```
上述命令会返回之前设定好的 token 字符串,如果没有找到对应的 key 则返回 `undefined`。
#### 移除 Cookie
一旦不再需要某个特定的 token 记录,就可以将其删除:
```javascript
Cookies.remove('token'); // 清理指定名称的cookie数据
```
这将有效地移除当前域下所有匹配路径上的 `token` 键名关联的数据条目。
阅读全文