Admin REST API
Keycloak 提供了一个完整的 REST API,用于以编程方式管理服务器的各个方面。Admin REST API 支持与 Admin Console 中相同的操作。
目录
API 基础 URL身份验证方法 1:用户名和密码方法 2:Service Account使用 Token常见 API 操作RealmsUsersClientsRolesGroupsIdentity ProvidersEvents分页错误处理完整 API 参考API 基础 URL
所有 Admin REST API 端点都相对于此基础 URL。
身份验证
所有 API 请求都需要具有管理员权限的有效 access token。获取该 token 有两种方法。
方法 1:用户名和密码
使用管理员用户的凭据进行身份验证:
方法 2:Service Account
使用带有 service account 角色的 confidential client:
-
在
masterRealm(或目标 Realm)中创建一个 confidential client。 -
启用 Service accounts roles。
-
将适当的 admin 角色分配给该 service account(例如,
realm-admin)。 -
使用
client_credentialsgrant 获取 token:
建议在自动化和 CI/CD 流水线中使用 service account。
使用 Token
在 Authorization header 中包含 access token:
常见 API 操作
Realms
Users
Clients
Roles
Groups
Identity Providers
Events
分页
大多数列表端点都支持通过 first(偏移量)和 max(每页大小)查询参数进行分页:
错误处理
API 返回标准 HTTP 状态码:
完整 API 参考
如需完整的 API 规范,请参阅上游 Keycloak REST API 文档:
- Official REST API Reference: https://www.keycloak.org/docs-api/latest/rest-api/index.html
没有运行时 OpenAPI 端点
Keycloak 不会公开运行时 OpenAPI/Swagger 端点。官方 OpenAPI 定义作为静态文件发布在 Keycloak 文档站点上,并按每个发行版进行版本化(例如,/docs-api/26.1.4/rest-api/index.html)。