JWT与加密算法(RSA)实现Token以及Zuul实现鉴权

时间:2024-04-07 16:09:59

JWT

1、简介
JWT,全称json Web Token,是JSON风格轻量级的授权和身份认证规范可以实现无状态、分布式的Web应用授权;官网:https://jwt.io
2、JWT数据格式:
JWT包含三部分:
Header :头部,通常头部有两部分信息
Payload :载荷,就是有效数据,一般包含用户身份信息、注册声明
Signature:签名是整个数据的认证信息。一般根据前两步的数据,再加上服务的秘钥(secret)
JWT与加密算法(RSA)实现Token以及Zuul实现鉴权
3、JWT交互流程
(1)用户登录(一般POST方式保证安全)
(2)服务认证,通过后根据secret生成token
(3)将生成的token返回给浏览器
(4)用户每次请求携带token
(5)服务端利用公钥解读jwt签名,签名有效后,从Payload中获取用户信息
JWT与加密算法(RSA)实现Token以及Zuul实现鉴权
4、非对称加密
JWT与加密算法(RSA)实现Token以及Zuul实现鉴权
5、Zuul网关鉴权流程
(1)用户请求登录
(2)Zuul将请求转发到授权中心,请求授权
(3)授权中心校验完成,颁发JWT凭证
(4)客户端请求其他功能,携带JWT
(5)Zuul将JWT交给授权中心校验,通过后放行
(6)用户请求到达微服务
(7)微服务将JWT交给鉴权中心,鉴权同时解析用户信息
(8)鉴权中心返回用户数据给微服务
(9)微服务处理请求返回响应
JWT与加密算法(RSA)实现Token以及Zuul实现鉴权