首页 > 编程知识 正文

springboot前后端分离token,前后端分离 csrf token

时间:2023-05-04 20:12:33 阅读:212661 作者:1721

一、 什么是 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");

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。