最近经常有小伙伴问我关于在微服务中使用Oauth2的问题,其实之前已经写过一篇相关文章了。这次抽空把之前文章中的Demo给升级了,支持了最新版的Spring Cloud和Nacos。今天再来介绍下这套微服务权限终极解决方案,希望对大家有所帮助!
实现思路
首先还是来聊聊这套解决方案的实现思路,我们理想的解决方案应该是这样的,认证服务负责统一认证,网关服务负责校验认证和鉴权,其他API服务则负责处理自己的业务逻辑。安全相关的逻辑只存在于认证服务和网关服务中,其他服务只是单纯地提供服务而没有任何安全相关逻辑。
这套解决方案中相关服务的划分如下:
-
micro-oauth2-gateway:网关服务,负责请求转发和鉴权功能,整合Spring Security+Oauth2;
-
micro-oauth2-auth:认证服务,负责对登录用户进行认证,整合Spring Security+Oauth2;
-
micro-oauth2-api:API服务,受网关服务的保护,用户鉴权通过后可以访问该服务,不整合Spring Security+Oauth2。
升级注意点
-
这里项目的依赖版本都升级了,支持SpringBoot 2.7.0和最新版的Spring Cloud;
<properties> <spring-