Spring Cloud Gateway 结合 OAuth2 提供 UAA 服务,来袭。

Spring Cloud Gateway 结合 OAuth2 提供 UAA 服务,来袭。_第1张图片

微服务做用户认证和授权一直都是一个难点,随着 OAuth2.0 的密码模式被作废,更是难上加难了。今天胖哥群里的一个群友搭建用户认证授权体系的时候遇到了一些棘手的问题,这让胖哥觉得是时候分享一些思路出来了。

两种思路

通常微服务的认证和授权思路有两种:

  • 所有的认证授权都由一个独立的用户认证授权服务器负责,它只负责发放 Token,然后网关只负责转发请求到各个微服务模块,由微服务各个模块自行对 Token 进行校验处理。

  • 另一种是网关不但承担了流量转发作用,还承担认证授权流程,当前请求的认证信息由网关中继给下游服务器。

第一种非常简单,而且我在多个微服务项目中都是这样设计的。如果你从来没有设计过,我其实建议按这个思路去做,你只需要搞一个负责管理用户、角色权限的服务器,其它的微服务模块都作为资源服务器自行和这个用户授权服务器进行交互,加上三户模型体系就足以应对各种场景了。

Spring Cloud Gateway 结合 OAuth2 提供 UAA 服务,来袭。_第2张图片

第二种结合了 OAuth2 体系,网关不仅仅承担流量转发功能,认证授权也是在网关层处理的,令牌会中继给下游服务。这种模式下需要搭建一个 UAA&#x

你可能感兴趣的:(spring,cloud,gateway,spring,后端,职场和发展)