Spring Cloud 鉴权 学习记录
一、JWT
Json Web Token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519)。
该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。
JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,
也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
二、JWT 鉴权流程
1、客户端请求网关方法获取 token
2、客户端将步骤1中获取到的 token 值,添加到请求头里,发起服务调用请求
3、网关拦截服务调用请求,解析 并 验证 token
4、根据步骤3中验证通过的用户信息,获取其权限列表
5、在调用真实服务前,校验是是否有权限。
6、测试:使用 postman 或者其他 http 请求测试工具,添加请求头 进行测试
举例:
http://localhost:9001/CLIENT-SERVICE/accessProvider
参考资料:
Spring Cloud OAuth2 实现用户认证及单点登录
基于spring-security-oauth2实现oauth2
Spring Security OAuth2 开发指南中文版
Gateway中使用SpringSecurity进行网关鉴权与权限控制
Spring Cloud Alibaba实战(六) - Gateway之鉴权、日志
sping cloud gateway集成spring security实现前后端分离模式下的后端微服务认证授权
Spring gateway配置Spring Security实现统一权限验证与授权
Spring Cloud Gateway及Security认证
SpringCloud初体验:七、gateway 网关服务如何做token验证
Spring Cloud Gateway + JWT 实现统一的认证授权