Spring security Spring Cloud OAuth2:具有多授权服务器的资源服务器

Spring security Spring Cloud OAuth2:具有多授权服务器的资源服务器,spring-security,spring-boot,oauth-2.0,spring-cloud,spring-security-oauth2,Spring Security,Spring Boot,Oauth 2.0,Spring Cloud,Spring Security Oauth2,我们正在微服务架构中开发一个应用程序,它在多个OAuth2提供商(如Google和Facebook)上使用Spring Cloud OAuth2实现signle登录。我们还在开发自己的授权服务器,并将在下一版本中集成 现在,在我们的微服务(即资源服务器)上,我想知道如何将多个令牌信息uri或用户信息uri处理到多个授权服务器(例如Facebook或Google)。这种情况通常由中间人解决资源服务器信任的单个实体,可用于规范化用户可能通过不同提供商进行身份验证这一事实所产生的任何可能差异。这有时被

我们正在微服务架构中开发一个应用程序,它在多个OAuth2提供商(如Google和Facebook)上使用Spring Cloud OAuth2实现signle登录。我们还在开发自己的授权服务器,并将在下一版本中集成


现在,在我们的微服务(即资源服务器)上,我想知道如何将多个
令牌信息uri
用户信息uri
处理到多个授权服务器(例如Facebook或Google)。

这种情况通常由中间人解决资源服务器信任的单个实体,可用于规范化用户可能通过不同提供商进行身份验证这一事实所产生的任何可能差异。这有时被称为联合提供者

是这种实现的一个很好的例子披露:我是一名Auth0工程师

Auth0位于应用程序和身份验证用户的身份提供程序之间通过这一抽象级别,Auth0使您的应用程序与每个提供商实现的任何更改和特性保持隔离

(重点是我的)

并不是说您的资源服务器在技术上不能信任多个授权服务器,而是将这些逻辑从单个资源服务器转移到一个中心位置将使其更易于管理和解耦

还要记住,身份验证和授权是不同的事情,尽管我们习惯于将它们放在一起如果要实现自己的授权服务器,则应将其作为可以实现的中心点:

  • 处理多种类型的身份验证提供程序
  • 向下游资源服务器提供用户配置文件的规范化视图
  • 提供客户端应用程序可用于向微服务发出授权请求的访问令牌

正面临一个相关的问题。security.oauth2.resource.jwt.keyValue仅允许来自一个授权服务器的密钥。