Keycloak Realm VS Keycloak 客户端

Roh*_*adu 19 keycloak devops

我最近正在研究用于 SSO 的 Keycloak 6.0.1,以对组织中的多个应用程序进行身份验证。我对客户和领域之间的区别感到困惑。

如果我要为 SSO 管理 5 个不同的应用程序,那么我是否必须创建 5 个不同的客户端或 5 个不同的领域?

如果我说我必须在 1 个领域下创建 5 个不同的客户端,那么我可以为同一领域的不同客户端执行不同的身份验证流程吗?

小智 18

根据 Keycloak 文档

  1. 领域 - 领域管理一组用户、凭据、角色和组。用户属于并登录到一个领域。领域彼此隔离,只能管理和验证它们控制的用户。

  2. 客户端是可以请求 Keycloak 对用户进行身份验证的实体。大多数情况下,客户端是希望使用 Keycloak 来保护自己并提供单点登录解决方案的应用程序和服务。客户端也可以是只想请求身份信息或访问令牌的实体,以便他们可以安全地调用网络上由 Keycloak 保护的其他服务。

对于您的场景,您可以在一个领域下创建 5 个不同的客户端。Keycloak 为单点登录提供开箱即用的支持。有关更多信息,请参阅 Keycloak 文档keycloak 文档链接


小智 7

Keycloak 的核心概念是 Realm。领域为一组用户、应用程序和注册的 oauth 客户端保护和管理安全元数据。可以在管理控制台的特定领域内创建用户。角色(权限类型)可以在领域级别定义,您还可以设置用户角色映射以将这些权限分配给特定用户。

http://www.mastertheboss.com/jboss-frameworks/keycloak/introduction-to-keycloak

一般来说,客户端代表一些用户可以访问的资源。Keycloak 的内置客户端供 keycloak 内部使用。

应用程序的示例可以是任何移动应用程序。客户端可以是一个简单的 REST API。