Spring Cloud Gateway 整合 OAuth2.0 实现分布式统一认证授权②

love374
发布于 2022-7-11 11:45
浏览
0收藏

 

认证授权服务搭建

 

很多企业是将认证授权服务直接集成到网关中,这么做耦合性太高了,这里陈某直接将认证授权服务抽离出来。

 

认证服务的搭建这里就不再细说了,上一篇文章中已经介绍的很清楚了:OAuth2.0实战!使用JWT令牌认证!

 

新建一个oauth2-cloud-auth-server模块,目录如下:

 Spring Cloud Gateway 整合 OAuth2.0 实现分布式统一认证授权②-鸿蒙开发者社区
和上篇文章不同的是创建了JwtTokenUserDetailsService这个类,用于从数据库中加载用户,如下:

 Spring Cloud Gateway 整合 OAuth2.0 实现分布式统一认证授权②-鸿蒙开发者社区
为了演示只是模拟了从数据库中查询,其中存了两个用户,如下:

  • user:具有ROLE_user权限
  • admin:具有ROLE_admin、ROLE_user权限


要想这个生效,还要在security的配置文件SecurityConfig中指定,如下图:

 Spring Cloud Gateway 整合 OAuth2.0 实现分布式统一认证授权②-鸿蒙开发者社区
另外还整合了注册中心Nacos,详细配置就不贴了,可以看源码。有不清楚Nacos,可以看之前文章:五十五张图告诉你微服务的灵魂摆渡者Nacos究竟有多强?

“案例源码已经上传GitHub,关注公众号:码猿技术专栏,回复关键词:9529 获取!”


网关服务搭建
网关使用的是Spring Cloud Gateway,网关如何搭建这里就不再细说了,有不清楚的可以看之前文章:Spring Cloud Gateway夺命连环10问?

 

新建一个oauth2-cloud-gateway模块,目录如下图:

 Spring Cloud Gateway 整合 OAuth2.0 实现分布式统一认证授权②-鸿蒙开发者社区
1、添加依赖
需要添加几个OAuth2.0相关的依赖,如下:

 Spring Cloud Gateway 整合 OAuth2.0 实现分布式统一认证授权②-鸿蒙开发者社区
2、JWT令牌服务配置
使用JWT令牌,配置要和认证服务的令牌配置相同,代码如下:

 Spring Cloud Gateway 整合 OAuth2.0 实现分布式统一认证授权②-鸿蒙开发者社区
文章转自公众号:码猿技术专栏

已于2022-7-11 11:45:08修改
收藏
回复
举报
回复
    相关推荐