第 4 章 身份代理 API


红帽构建的 Keycloak 可将身份验证委托给父 IDP 以进行登录。其中一个典型的例子是您希望用户能够通过 Facebook 或 Google 等社交提供商登录。您还可以将现有帐户链接到代理 IDP。本节论述了应用程序可以使用的一些 API 与身份代理相关。

4.1. 检索外部 IDP 令牌

红帽构建的 Keycloak 允许您使用外部 IDP 存储来自身份验证流程的令牌和响应。为此,您可以在 IDP 的设置页面中使用 Store Token 配置选项。

应用程序代码可以检索这些令牌和响应,以拉取额外的用户信息,或者安全地调用外部 IDP 的请求。例如,应用程序可能希望使用 Google 令牌在其他 Google 服务和 REST API 上调用。要检索特定身份提供程序的令牌,您需要发送请求,如下所示:

GET /realms/{realm}/broker/{provider_alias}/token HTTP/1.1
Host: localhost:8080
Authorization: Bearer <KEYCLOAK ACCESS TOKEN>
Copy to Clipboard Toggle word wrap

应用程序必须通过红帽构建的 Keycloak 进行身份验证,并收到访问令牌。此访问令牌需要设置 代理 客户端级别的角色 read-token。这意味着用户必须具有此角色的角色映射,客户端应用必须在其范围内具有该角色。在这种情况下,由于您在红帽构建的 Keycloak 中访问受保护的服务,您需要在用户身份验证过程中发送由红帽构建 Keycloak 发布的访问令牌。在代理配置页面中,您可以通过打开 Stored Tokens Readable 开关来自动将此角色分配给新导入的用户。

这些外部令牌可以通过提供程序再次登录,也可以使用客户端发起的帐户链接 API 来重新建立。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat