第 2 章 admin REST API


Red Hat Single Sign-On 附带了功能齐全的 Admin REST API,具有管理控制台提供的所有功能。

若要调用 API,您需要获取具有适当权限的访问令牌。服务器管理指南中介绍了所需的权限。

您可以使用 Red Hat Single Sign-On 为应用程序启用身份验证来获取令牌,请参阅保护应用程序和服务指南。您还可以使用直接访问权限授权来获取访问令牌。

2.1. 使用 CURL 的示例

2.1.1. 使用用户名和密码进行身份验证

流程

  1. 使用用户名 admin 和密码,为 realm master 中的用户获取访问令牌:

    curl \
      -d "client_id=admin-cli" \
      -d "username=admin" \
      -d "password=password" \
      -d "grant_type=password" \
      "http://localhost:8080/auth/realms/master/protocol/openid-connect/token"
    Copy to Clipboard Toggle word wrap
    注意

    默认情况下,此令牌在 1 分钟后过期

    结果将是一个 JSON 文档。

  2. 通过提取 access_token 属性的值来调用所需的 API。
  3. 通过在 API 请求的 Authorization 标头中包含值来调用 API。

    以下示例演示了如何获取 master 域的详情:

    curl \
      -H "Authorization: bearer eyJhbGciOiJSUz..." \
      "http://localhost:8080/auth/admin/realms/master"
    Copy to Clipboard Toggle word wrap

2.1.2. 使用服务帐户进行身份验证

要使用 client_idclient_secret 对 Admin REST API 进行身份验证,请执行此流程。

流程

  1. 确保配置了客户端,如下所示:

    • client_id 属于域 master的机密客户端
    • client_id 启用了 Service Accounts Enabled 选项
    • client_id 有自定义"Audience"映射程序

      • 包含的客户端 Audience: security-admin-console
  2. 检查 client_id 在 "Service Account Roles" 选项卡中分配了角色 'admin'。
curl \
  -d "client_id=<YOUR_CLIENT_ID>" \
  -d "client_secret=<YOUR_CLIENT_SECRET>" \
  -d "grant_type=client_credentials" \
  "http://localhost:8080/auth/realms/master/protocol/openid-connect/token"
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat