Keycloak 将值 Claim 值设置为 "hardcoded claim"
Keycloak set value Claim value to "hardcoded claim"
我创建了映射器类型为“硬编码声明”的自定义协议映射器。
我可以使用 keycloak API 设置“索赔价值”字段吗?
我学习了 API 规范,但没有找到任何东西。
有工作的例子吗?
我正在使用 Springboot restAPI 和 Keycloak.
为此,您可以使用端点 Update the mapper :
PUT /{realm}/clients/<ID_OF_CLIENT>/protocol-mappers/models/<ROLE_MAPPER_ID>
例如
curl -X PUT http://$KEYCLOAK_IP/auth/admin/realms/<REALM_NAME>/clients/<ID_OF_CLIENT>/protocol-mappers/models/<MAPPER_ID>
负载是您的 Mapper 的新更新配置,例如:
{"id":"<MAPPER_ID>","name":"Hardcore","protocol":"openid-connect","protocolMapper":"oidc-hardcoded-claim-mapper","consentRequired":false,"config":{"claim.value":"<NEW_HARDCODE_VALUE>","userinfo.token.claim":"true","id.token.claim":"true","access.token.claim":"true","claim.name":"Name","jsonType.label":"String"}}
您可以通过管理控制台获取客户端的 ID
,方法是:
- 你的
Realm
;
- 客户;
- 你的客户;
- 从 url 复制 ID(例如, .../clients/10000d0a-aa00-00aa-00a0-aa0000000000).
映射器 ID
您可以通过管理控制台获取它,方法是:
- 你的
Realm
;
- 客户;
- 你的客户;
- 映射器;
- 点击您的映射器;
- ID 将位于 url(例如, ../mappers/10000d0a-aa00-00aa-00a0-aa0000000000)
您可以使用此端点同时获取 Client 和 Mapper 的 ID
:
http://$KEYCLOAK_IP/auth/admin/realms/<REALM_NAME>/clients?clientId=<CLIENT_ID>
从 JSON
响应中提取您将获得客户端和映射器 ID。
我创建了映射器类型为“硬编码声明”的自定义协议映射器。 我可以使用 keycloak API 设置“索赔价值”字段吗? 我学习了 API 规范,但没有找到任何东西。 有工作的例子吗? 我正在使用 Springboot restAPI 和 Keycloak.
为此,您可以使用端点 Update the mapper :
PUT /{realm}/clients/<ID_OF_CLIENT>/protocol-mappers/models/<ROLE_MAPPER_ID>
例如
curl -X PUT http://$KEYCLOAK_IP/auth/admin/realms/<REALM_NAME>/clients/<ID_OF_CLIENT>/protocol-mappers/models/<MAPPER_ID>
负载是您的 Mapper 的新更新配置,例如:
{"id":"<MAPPER_ID>","name":"Hardcore","protocol":"openid-connect","protocolMapper":"oidc-hardcoded-claim-mapper","consentRequired":false,"config":{"claim.value":"<NEW_HARDCODE_VALUE>","userinfo.token.claim":"true","id.token.claim":"true","access.token.claim":"true","claim.name":"Name","jsonType.label":"String"}}
您可以通过管理控制台获取客户端的 ID
,方法是:
- 你的
Realm
; - 客户;
- 你的客户;
- 从 url 复制 ID(例如, .../clients/10000d0a-aa00-00aa-00a0-aa0000000000).
映射器 ID
您可以通过管理控制台获取它,方法是:
- 你的
Realm
; - 客户;
- 你的客户;
- 映射器;
- 点击您的映射器;
- ID 将位于 url(例如, ../mappers/10000d0a-aa00-00aa-00a0-aa0000000000)
您可以使用此端点同时获取 Client 和 Mapper 的 ID
:
http://$KEYCLOAK_IP/auth/admin/realms/<REALM_NAME>/clients?clientId=<CLIENT_ID>
从 JSON
响应中提取您将获得客户端和映射器 ID。