token的作用:
1.身份验证 token是一种令牌,用于在用户登陆后识别用户的身份。通常会作为HTTP请求的一个头部传递给服务器,后续用户发起的所有请求,都需要携带这个token,以便进行身份验证和权限控制。
2.无状态 使用token的方式使得可以实现无状态认证。服务器不需要保存会话信息,只需要验证token的有效性。适合分布式系统或微服务架构,因为可以在多个服务器之间共享。
token解决分布式部署下的登录共享问题的思路与传统session的区别:
| 问题(传统 Session 方案) | Token 方案的解决思路 |
|---|---|
| 1. Session 是「服务器内存存储」,多服务器部署时(如集群),Session 不共享 → 用户换服务器需重新登录 | Token 存储在 Redis(分布式缓存),所有服务器都能读取 → 实现「多服务器登录态共享」(你问的「多个服务器登录不用重新注册」就是这个目的) |
| 2. Session 依赖 Cookie,跨域场景下易出问题;且 Session 过期需手动处理 | Token 放在请求头 / 参数中传递,无跨域限制;Redis 可设置过期时间,自动清理失效 Token |
| 3. Session 是「有状态」(服务器需记录用户登录态),高并发下内存压力大 | Token 是「无状态」(服务器只认 Token 不认人,身份信息存在 Redis),降低服务器压力 |
token的生成方式:
1.uuid
2.雪花算法
3.pwt
4.一些自制的具有唯一性的字符串
浙公网安备 33010602011771号