keycloak - 如何通过 REST API 为 Keycloak 中的每个用户属性创建映射器?
问题描述
如何通过 Keycloak 的 REST API 创建具有以下值(如附图中所示)的协议映射器?我在文档中找不到它——我确实找到了这个:Protocol Mapper——但是ProtocolMapperRepresentation接受了一个 Map 和几个字符串。当我看到 UI 时 - 我看到更多字段,但我不确定我是否正在查看正确的 API。
这是用户界面:
我如何通过 API 做到这一点?
解决方案
如何通过 Keycloak 的 REST API 创建具有以下值(如附图中所示)的协议映射器?
您可以通过调用以下端点来做到这一点:
POST ${KEYCLOAK_HOST}/auth/admin/realms/${REALM_NAME}/clients/${ID of the Client}/protocol-mappers/models
使用以下数据:
{"protocol":"openid-connect","config":{"id.token.claim":"true","access.token.claim":"true","userinfo.token.claim":"true","multivalued":"","aggregate.attrs":"","user.attribute":"some-attribute","claim.name":"some-attribute","jsonType.label":"String"},"name":"some-attribute","protocolMapper":"oidc-usermodel-attribute-mapper"}
我确实找到了这个:Protocol Mapper - 但是 ProtocolMapperRepresentation 接受一个 Map 和几个字符串。当我看到 UI 时 - 我看到更多字段,但我不确定我是否正在查看正确的 API。
这是设计使然;使端点足够抽象以接受不同类型的协议映射器。该 Map 基本上编码了配置部分,该部分倾向于从映射器更改为映射器。
推荐阅读
- python - Tweepy 将搜索限制为单个用户
- reactjs - 使用 react-loadable 为组件设置路由
- ios - 在 viewDidLoad 中快速设置属性不起作用,但在 viewDidAppear 中有效
- javascript - Wordpress - Yoast 插件框未显示在管理页面上
- mysql - 从用户端将播放列表设为公开或私有
- r - 如何生成 50 个自由度为 50 的 10 chi^2(即 \chi 平方)分布变量的观测值?
- python - Python urllib2.Request 标题响应对于 instagram 不可读
- ios - 如何在推送的视图控制器中的导航栏下方添加一行?
- python - 正则表达式仅搜索一位数字
- c - 如何更改全局数组的元素以供所有线程查看