Ano*_*142 5 java wildfly keycloak
我需要检索与用户相关联的角色,但是我正在使用wildfly,我已经在wildfly和Java项目中安装了所有jar密钥斗篷,但是可以通过Java适配器检索此列表吗?
其他选项是像通过get,post,put等方式调用其他api一样调用rest api。但是我的第一个选择是Adapters。
我通过适配器进行身份验证,但是找不到任何检索角色,客户端,领域等的方法。
我错了,或者适配器仅用于身份验证?
有人有很好的榜样吗?
use-resource-role-mappings : true 在keycloak.json中设置该选项,您应该能够在servlet中获得角色,如下所示
KeycloakPrincipal principal = (KeycloakPrincipal)request.getUserPrincipal();
principal.getKeycloakSecurityContext().getToken().getResourceAccess("testclient").getRoles();
Run Code Online (Sandbox Code Playgroud)
您也可以KeycloakPrincipal从这样的上下文中获取
Subject subject = (Subject) PolicyContext.getContext("javax.security.auth.Subject.container");
Set<KeycloakPrincipal> principals = subject.getPrincipals(KeycloakPrincipal.class);
Run Code Online (Sandbox Code Playgroud)
然后获得角色
谢谢,这里还有另一种方式:(按名称检索一个角色)
Keycloak keycloak = Keycloak.getInstance("http://localhost/auth", "realm-name", "client-name", authorization);
RoleRepresentation role = keycloak.realm("realm-name").clients().get(idOfClient).roles().get(roleName).toRepresentation();
Run Code Online (Sandbox Code Playgroud)
列出所有用户:
UsersResource users = keycloak.realm("realm-name").users();
Run Code Online (Sandbox Code Playgroud)
而“authorization”是字符串令牌持有者
“getInstance”还有其他方法可以发送,例如 pass 和 user。
| 归档时间: |
|
| 查看次数: |
2414 次 |
| 最近记录: |