所有 Keycloak 协议映射器配置选项都记录在哪里?

Aus*_*own 5 java keycloak keycloak-services

我正在使用 Keycloak 的 Java keycloak-admin-client,我想为我的领域的客户端设置一些协议映射器。

Java API 公开此类来创建协议映射器,然后使用以下方法来设置配置选项:

    ProtocolMapperRepresentation protocolMapperRep = new ProtocolMapperRepresentation();
    protocolMapperRep.setConfig(Map.of("some.mapper.config.option", "mapper-value"));
Run Code Online (Sandbox Code Playgroud)

我查看了 javadoc 文档,不幸的是,它完全没用。:( 我没有看过rest-api文档,但我只是看了它,它没有做任何事情来枚举协议映射器表示的配置选项: https: //www.keycloak.org/docs-api /12.0/rest-api/index.html#_protocolmapperrepresentation

我在这里看到了另一个 StackOverflow 问题中的一些选项:Add protocol-mapper to keycloak using kcadm.sh

然而,必须有一个更好的地方来记录这些内容。

dre*_*ash 6

通常,您可以首先查看Rest API 文档Keycloak API

或者,这几乎总是有效的,您只需使用 Keycloak Admin API 创建协议映射器,例如:

在此输入图像描述

然后在单击 之前Save,打开浏览器开发人员网络控制台并查看网络请求。然后点击save

您将有两个发布请求,一个用于令牌,另一个用于创建映射器:

在此输入图像描述

查看请求负载,您将看到以下内容:

{
  "protocol": "openid-connect",
  "config": {
    "multivalued": "true",
    "id.token.claim": "true",
    "access.token.claim": "true",
    "userinfo.token.claim": "true",
    "claim.name": "asdas"
  },
  "name": "asdas",
  "protocolMapper": "oidc-usermodel-realm-role-mapper"
}
Run Code Online (Sandbox Code Playgroud)

现在您可以从那里推断出选项。我知道并不理想。