Keycloak - 客户端角色 - 检索自定义属性
Keycloak - Client Roles - Retrieve custom attributes
我创建了一个客户端角色 special_agent
并添加了两个属性 approve_leave
和 raise_leave
。
我正在使用 Javascript adapter 并且能够在我的网站上成功登录。我还能够接收分配给用户的客户端角色。但是,我想获得在客户端角色中指定的自定义属性。以下是 keycloak.tokenParsed
的结果
有没有办法检索客户端角色属性?我在客户端设置中查找 Mappers
,但无法弄清楚详细信息。
您可以通过API调用获取Client的角色和属性。
GET /{realm}/clients/{id}/roles/{role-name}
示例)
有几个要求。
#1 用户(agency_user)应该在 Keyclaok UI 中分配两个角色(manage-realm、view-clients)
#2 通过API获取访问令牌并保存到 Postman 变量中
http://127.0.0.1:8080/auth/realms/test/protocol/openid-connect/token
客户端 ID 和密码从 Keyclaok UI 获取,如附件所示
#3 您应该使用 #1 访问令牌通过 GET 客户端 API 知道客户端 ID
http://127.0.0.1:8080/auth/admin/realms/test/clients
更多详细信息,祝你好运!
https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_roles_resource
您还可以创建脚本映射器,例如,
var roles = {}
for each (var role in user.getRoleMappings()) {
roles[role.name] = role.getAttributes();
}
token.setOtherClaims('roles', roles);
我创建了一个客户端角色 special_agent
并添加了两个属性 approve_leave
和 raise_leave
。
我正在使用 Javascript adapter 并且能够在我的网站上成功登录。我还能够接收分配给用户的客户端角色。但是,我想获得在客户端角色中指定的自定义属性。以下是 keycloak.tokenParsed
的结果有没有办法检索客户端角色属性?我在客户端设置中查找 Mappers
,但无法弄清楚详细信息。
您可以通过API调用获取Client的角色和属性。 GET /{realm}/clients/{id}/roles/{role-name}
示例)
有几个要求。
#1 用户(agency_user)应该在 Keyclaok UI 中分配两个角色(manage-realm、view-clients)
#2 通过API获取访问令牌并保存到 Postman 变量中
http://127.0.0.1:8080/auth/realms/test/protocol/openid-connect/token
客户端 ID 和密码从 Keyclaok UI 获取,如附件所示
#3 您应该使用 #1 访问令牌通过 GET 客户端 API 知道客户端 ID
http://127.0.0.1:8080/auth/admin/realms/test/clients
更多详细信息,祝你好运! https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_roles_resource
您还可以创建脚本映射器,例如,
var roles = {}
for each (var role in user.getRoleMappings()) {
roles[role.name] = role.getAttributes();
}
token.setOtherClaims('roles', roles);