第 5 章 使用客户端注册服务
为了申请或服务利用 Red Hat Single Sign-On,它必须在红帽单点登录中注册客户端。管理员可以通过管理控制台(或管理员 REST 端点)执行此操作,但客户端也可以通过红帽单点登录客户端注册服务自行注册。
客户端注册服务提供对 Red Hat Single Sign-On Client Representations、OpenID Connect Client Meta Data 和 SAML Entity Descriptors 的内置支持。客户端注册服务端点为 /auth/realms/<realm>/clients-registrations/<provider>。
内置支持的供应商 有 :
- 默认 - Red Hat Single Sign-On Clientpresentation (JSON)
- 安装 - Red Hat Single Sign-On Adapter Configuration (JSON)
- openid-connect - OpenID Connect Client Metadata Description (JSON)
- saml2-entity-descriptor - SAML Entity Descriptor (XML)
以下小节介绍了如何使用不同的供应商。
5.1. 身份验证 复制链接链接已复制到粘贴板!
要调用客户端注册服务,您通常需要令牌。令牌可以是 bearer 令牌、初始访问令牌或注册访问令牌。另外,您还可以在没有令牌的情况下注册新客户端,但随后您需要配置客户端注册策略(请参阅以下)。
5.1.1. bearer 令牌 复制链接链接已复制到粘贴板!
bearer 令牌可由用户或服务帐户发布。调用端点需要以下权限(请参阅《 服务器管理指南》 以了解更多详细信息:
- create-client 或 manage-client - 要创建客户端
- 查看客户端或 manage-client - 要查看客户端
- manage-client - 要更新或删除客户端
如果您使用 bearer 令牌来创建客户端,建议您从仅具有 create-client 角色的服务账户中使用令牌(更多详情请参阅 服务器管理指南 )。
5.1.2. 初始访问令牌 复制链接链接已复制到粘贴板!
注册新客户端的建议方法是使用初始访问令牌。初始访问令牌只能用于创建客户端,并具有可配置的过期时间,以及可以创建客户端数量的可配置限制。
初始访问令牌可以通过管理控制台创建。要创建新初始访问令牌,请先在 admin 控制台中选择域,然后单击左侧菜单中的 Realm Settings,然后在页面中显示的选项卡接 Client Registration。然后,最后单击 Initial Access Tokens 子选项卡。
现在,您可以看到任何现有的初始访问令牌。如果您有访问权限,您可以删除不再需要的令牌。您只能在创建令牌时检索令牌的值。要创建新令牌,请点击 Create。现在,您可以选择性地添加令牌应有效的时长,也可使用令牌创建多少个客户端。在点 Save 后,会显示令牌值。
现在复制/粘贴此令牌非常重要,因为您稍后无法检索该令牌。如果您忘记复制/粘贴,则删除令牌并创建另一个令牌。
令牌值在调用 Client Registration Services 时用作标准 bearer 令牌,方法是将其添加到请求中的 Authorization 标头中。例如:
Authorization: bearer eyJhbGciOiJSUz...
5.1.3. 注册访问令牌 复制链接链接已复制到粘贴板!
通过客户端注册服务创建客户端时,响应将包括注册访问令牌。注册访问令牌提供检索客户端配置的访问,但也会在以后更新或删除客户端。注册访问令牌与 bearer 令牌或初始访问令牌相同。注册访问令牌仅在使用响应时有效,其响应将包括新的令牌。
如果客户端注册服务是在客户端注册服务之外创建的,则它没有与之关联的注册访问令牌。您可以通过管理控制台创建一个。如果您丢失了特定客户端的令牌,这可能也很有用。要创建新令牌,请在 admin 控制台中找到客户端,然后点击 Credentials。然后点击 Generate registration 访问令牌。