Keycloak Admin REST API新建客户端作用域后如何按名称获取其ID
Keycloak获取客户端作用域ID的简便方法
你不需要拉取全量客户端作用域列表遍历筛选,有两种更高效的实现方式:
1. 创建时直接从响应头提取ID
调用POST接口创建客户端作用域成功后(返回状态码为201 Created),可以直接从响应头的Location字段拿到新建资源的访问路径,路径最后一段就是对应的客户端作用域ID,不需要额外发起查询请求。
比如创建成功后Location头的典型值如下:
http://localhost:8080/admin/realms/master/client-scopes/9c27b6d1-4e8a-4f3c-9b2d-7a1e6c3f8a9d
截取最后一段UUID即可得到目标id,这是最推荐的实现方式,完全符合RESTful接口的设计规范。
2. 按名称精确查询目标客户端作用域
Keycloak原生支持按名称精确查询客户端作用域,不需要拉取全量列表。在调用客户端作用域列表的GET接口时,传入clientScopeName查询参数指定目标名称即可:
GET http://localhost:8080/admin/realms/master/client-scopes?clientScopeName=example
接口会直接返回名称完全匹配的客户端作用域对象,直接读取返回结果里的id字段即可,无需额外遍历筛选。
注意:该查询为精确匹配,大小写敏感,仅会返回名称与传入参数完全一致的条目。
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

