9.11. 检索外部 IDP 令牌
使用红帽构建的 Keycloak,您可以使用 IDP 设置页面中的 Store Token
配置选项从带有外部 IDP 的身份验证过程中存储令牌和响应。
应用程序代码可以检索这些令牌和响应以导入额外的用户信息或安全地请求外部 IDP。例如,应用程序可以使用 Google 令牌来使用其他 Google 服务和 REST API。要检索特定身份提供程序的令牌,请按如下所示发送请求:
GET /realms/{realm}/broker/{provider_alias}/token HTTP/1.1 Host: localhost:8080 Authorization: Bearer <KEYCLOAK ACCESS TOKEN>
GET /realms/{realm}/broker/{provider_alias}/token HTTP/1.1
Host: localhost:8080
Authorization: Bearer <KEYCLOAK ACCESS TOKEN>
应用程序必须使用红帽构建的 Keycloak 进行身份验证并接收访问令牌。此访问令牌必须设置 代理
客户端级别的 read-token
角色,因此用户必须具有此角色的角色映射,客户端应用必须在其范围内具有该角色。在这种情况下,因为您在红帽构建的 Keycloak 中访问受保护的服务,请在用户身份验证过程中发送由红帽构建的 Keycloak 发布的访问令牌。您可以通过将 Stored Tokens Readable 开关设置为 ON,将此角色分配给代理配置页面中的新导入的用户。
这些外部令牌可以通过提供程序再次登录或使用客户端发起的帐户链接 API 重新建立。