Keycloak Java适配器 – 检索列表角色

我需要检索与用户关联的角色,但我正在使用wildfly,我已经在wildfly和我的Java项目中安装了所有jar keycloak,但是我可以通过Java适配器检索此列表吗?

其他选项是通过get,post,put等调用其他api,就像任何api一样.但我的第一个选择是Adapters.

我通过适配器进行身份验证,但我找不到任何方法来检索角色,客户端,领域等.

我错了或适配器只是认证?

有人有一个很好的例子吗?

解决方法:

在keycloak.json中设置选项use-resource-role-mappings:true
你应该能够在servlet中获得如下角色

 KeycloakPrincipal principal = (KeycloakPrincipal)request.getUserPrincipal();

principal.getKeycloakSecurityContext().getToken().getResourceAccess("testclient").getRoles();

你也可以从这样的上下文中获取KeycloakPrincipal

  Subject subject = (Subject) PolicyContext.getContext("javax.security.auth.Subject.container");
  Set<KeycloakPrincipal> principals = subject.getPrincipals(KeycloakPrincipal.class);

然后获得角色

上一篇:java – Spring eureka仪表板在wildfly上返回XML


下一篇:java – Wildfly 10.1.0中的会话问题