了解在 SSO 架构中是否可以实现多信任是很有趣的,例如基于 ADFS。 我的意思是以下。 假设我有 ADFS_0 和 ADFS_1(实际上我在这里有 IdentityServer4 作为 STS)及其外部声明(身份)提供者和服务提供者。 是否可以结合两个 ADFS 服务器,以便服务提供商继续信任他们的 ADFS。
我知道例如可以将 ADFS_0 作为主要的,并将 ADFS_1 作为声明提供者连接到 ADFS_0,但在这种情况下,必须将 ADFS_1 中的所有站点和服务重新分配给 ADFS_0,但我只是不想做这个。但在我可以想象的情况下,我们有两个 STS 在一个信任中为两个 ADFS 发行有效令牌......
任何想法谢谢
我会认为这是端到端的,就识别后端请求中的用户而言。我在这里假设您有一个基于 OAuth 的设置。
通常客户端和 API 都信任一个授权服务器。这意味着 API 接收单一类型的访问令牌。然后,他们将主题声明映射到业务资源。我的用户数据管理博客文章中提供了一个示例。
多重授权服务器
只有一个 ADFS 应该提供授权服务器 (AS) 角色。您可能有这种类型的设置,这可能没问题,例如,如果组件来自独立组织:
但是如果您需要在同一组织内将用户、客户端和 API 集成在一起,则不建议使用此设置,因为用户数据管理会变得比它需要的更复杂。
授权服务器(例如 ADFS_0)可以与具有身份提供者角色的另一个身份系统(例如 ADFS_1)集成。但在这种情况下,访问令牌始终由 ADFS_0 颁发给客户端。
所以从客户端和 API 的角度来看,不存在多重信任。相反,他们与他们的授权服务器交互,这是他们信任的中心点。在组织边界内,旨在实现客户端和 API 使用相同授权服务器的未来设置。