jwt生成token怎么让一段时间内同一个生成的token都是一样的
时间: 2023-11-30 21:03:52 浏览: 235
JWT (JSON Web Token) 是一种用于进行身份验证的令牌格式,通常用于网站和移动应用程序的认证和授权。JWT 本身并不支持让同一个 token 在一段时间内保持不变,但可以通过以下两种方式实现:
1. 设置 token 过期时间为一段时间,比如 24 小时。这样在过期时间内,同一个生成的 token 会一直有效,直到过期时间到达。在生成 token 的时候,设置过期时间,例如:
```
const jwt = require('jsonwebtoken');
const token = jwt.sign({ user_id: 123 }, 'secret', { expiresIn: '24h' });
```
这里 `expiresIn` 选项设置为 `'24h'`,表示 token 过期时间为 24 小时。
2. 在生成 token 的时候,使用一个固定的字符串作为密钥。这样每次使用相同的密钥生成 token 时,得到的结果都是一样的。例如:
```
const jwt = require('jsonwebtoken');
const secret = 'my secret key';
const token1 = jwt.sign({ user_id: 123 }, secret);
const token2 = jwt.sign({ user_id: 123 }, secret);
console.log(token1 === token2); // true
```
这里每次使用相同的 `secret` 生成 token,得到的结果都是一样的。
阅读全文