前后端分离下的token机制

一、 什么是 token ?

Token 是在服务端产生的,如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 Token 给前端。前端可以在每次请求的时候带上 Token 证明自己的合法地位。

二、token 的适用场景

登录:

 业务请求:

Token 过期,刷新 Token:

 三、token的使用

1.创建:token 的实质其实就是一个唯一标识的字符串,一般来说由UUID生成,或者一些复杂的可以由时间戳或者用户的ID根据某一算法进行加密生成,取到token之后再进行解密,取出用户的ID。我这里以简单的UUID进行举例:

String token = UUID.randomUUID().toString();// 生成token

2.保存:很多常见的做法是将token保存进数据库或者缓存,但是放进数据库会严重消耗服务器资源,所以本人不建议这样做,我比较喜欢把token 存进redis缓存里,最主要的好处就是简单易操作,还大大加快了数据查询速度,我把 redis 理解为一张庞大的Map 表。

3.将 token 添加到响应头

response.setHeader("Access-Control-Expose-Headers",
				"Cache-Control,Content-Type,Expires,Pragma,Content-Language,Last-Modified,token");
response.addHeader("token", token);

4.从请求头里取出token

response.getHeader("token");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西瓜不甜柠檬不酸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值