第 10 章 客户端注册服务


要让应用程序或服务使用红帽构建的 Keycloak,必须在红帽构建的 Keycloak 中注册客户端。管理员可以通过管理控制台(或 admin REST 端点),但客户端也可以通过红帽构建的 Keycloak 客户端注册服务自行注册。

客户端注册服务提供对红帽构建的 Keycloak Client Representations、OpenID Connect Client Meta Data 和 SAML Entity Descriptors 的内置支持。客户端注册服务端点为 /realms/<realm>/clients-registrations/<provider&gt;。

内置支持的 供应商 有:

  • Default - Red Hat build of Keycloak Clientpresentation (JSON)
  • Install - 红帽构建的 Keycloak Adapter 配置(JSON)
  • openid-connect - OpenID Connect Client Metadata Description (JSON)
  • saml2-entity-descriptor - SAML Entity Descriptor (XML)

以下小节将描述如何使用不同的提供程序。

10.1. 身份验证

要调用客户端注册服务,您需要令牌。令牌可以是 bearer 令牌、初始访问令牌或注册访问令牌。另外,还可以在没有任何令牌的情况下注册新客户端,但随后您需要配置客户端注册策略(请参阅以下)。

10.1.1. bearer 令牌

bearer 令牌可代表用户或服务帐户发布。调用端点需要以下权限( 更多详情请参阅服务器管理指南 ):

  • create-client 或 manage-client - 要创建客户端
  • view-client 或 manage-client - 要查看客户端
  • manage-client - 要更新或删除客户端

如果您使用 bearer 令牌来创建客户端,建议只使用 create-client 角色的服务帐户中的令牌(更多详情请参阅 服务器管理指南 )。

10.1.2. 初始访问令牌

注册新客户端的建议方法是使用初始访问令牌。初始访问令牌只能用于创建客户端,并且具有可配置的过期时间以及可创建客户端数量的可配置限制。

可以通过管理控制台创建初始访问令牌。要创建新的初始访问令牌,首先在 admin 控制台中选择域,然后在左侧的菜单中单击 Client,然后在页面中显示的标签页中单击 Initial access token

现在,您可以看到任何现有的初始访问令牌。如果您有访问权限,您可以删除不再需要的令牌。您只能在创建令牌时检索令牌的值。要创建新令牌,请点 Create。现在,您可以选择添加令牌应有效的时长,也可以使用令牌创建多少个客户端。点 Save the token 值后会显示。

务必要现在复制/粘贴此令牌,因为您在以后无法检索此令牌。如果您忘记复制/粘贴,请删除该令牌并创建另一个令牌。

在调用 Client Registration Services 时,令牌值用作标准 bearer 令牌,方法是将其添加到请求中的 Authorization 标头中。例如:

Authorization: bearer eyJhbGciOiJSUz...
Copy to Clipboard Toggle word wrap

10.1.3. 注册访问令牌

当您通过客户端注册服务创建客户端时,响应将包括注册访问令牌。注册访问令牌提供对稍后检索客户端配置的访问权限,但也要更新或删除客户端。注册访问令牌包含在请求中,其方式与 bearer 令牌或初始访问令牌相同。

默认情况下启用注册访问令牌轮转。这意味着注册访问令牌仅有效一次。使用令牌时,响应将包括新令牌。请注意,可以使用客户端策略禁用注册访问令牌 轮转

如果在客户端注册服务之外创建客户端,它没有与之关联的注册访问令牌。您可以通过 admin 控制台创建一个。如果您丢失了特定客户端的令牌,这也很有用。若要创建新令牌,请在 admin 控制台中查找客户端,再单击 Credentials。然后,单击 Generate registration access token

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat