课程章节:**第3章 技术选型和知识点介绍(下) 3-15
课程讲师:双越
课程内容:
JWT 是什么
验证用户身份,除了使用传统的 Session + Cookie,还可以使用 JWT。
JWT 就是 Json Web Token,一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息。
用户认证成功之后,server 端返回一个加密的token给客户端。客户端后续请求,都要带上token,以示当前的用户身份。和 session一样,JWT 也是用来做用户认证和用户信息存储的一个手段。
jwt的使用步骤
1.用户登录,此时还用不到session,也不到jwt。
2.经过查询数据库,认证成功之后,系统会把用户的一些登录信息(可以理解为往session中存了什么,就往这存什么),加密成token
3.服务器不会把token存到服务端,也不会存到redis中,而是将token返回给客户端
4.客户端拿到密文token后,存储到本地,或者存到localstorage,或者存到cookie中
5.客户端再向服务器发请求时,从本地存储中拿到token,如果是存在了cookie中,会自动携带;如果存到了localstorage中,可以放到Header中携带。
6.服务端接受到用户的请求,从Header中拿到token,验证token有效后,再返回给用户需要的数据。
token认证的优点是无状态机制,在此基础之上,可以实现天然的跨域和前后端分离等。
课程收获:
这节课学习了 JWT ,它是用来验证用户身份的一种常用技术方案。相比 session,它的有点是无状态,方便做集群。