Package org.keycloak.utils
Class RoleResolveUtil
java.lang.Object
org.keycloak.utils.RoleResolveUtil
Helper class to ensure that all the user's permitted roles (including composite roles) are loaded just once per request.
Then all underlying protocolMappers can consume them.
- Author:
- Marek Posolda
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic Map<String,
AccessToken.Access> getAllResolvedClientRoles
(KeycloakSession session, ClientSessionContext clientSessionCtx) Object (but can be empty map) containing all the user's client roles of all clients.static AccessToken.Access
getResolvedClientRoles
(KeycloakSession session, ClientSessionContext clientSessionCtx, String clientId, boolean createIfMissing) Object (possibly null) containing all the user's client roles of client specified by clientId.static AccessToken.Access
getResolvedRealmRoles
(KeycloakSession session, ClientSessionContext clientSessionCtx, boolean createIfMissing) Object (possibly null) containing all the user's realm roles.
-
Constructor Details
-
RoleResolveUtil
public RoleResolveUtil()
-
-
Method Details
-
getResolvedRealmRoles
public static AccessToken.Access getResolvedRealmRoles(KeycloakSession session, ClientSessionContext clientSessionCtx, boolean createIfMissing) Object (possibly null) containing all the user's realm roles. Including user's groups roles. Composite roles are expanded. Just the roles, which current client has role-scope-mapping for (or it's clientScopes) are included. Current client means the client corresponding to specified clientSessionCtx.- Parameters:
session
-clientSessionCtx
-createIfMissing
-- Returns:
- can return null (just in case that createIfMissing is false)
-
getResolvedClientRoles
public static AccessToken.Access getResolvedClientRoles(KeycloakSession session, ClientSessionContext clientSessionCtx, String clientId, boolean createIfMissing) Object (possibly null) containing all the user's client roles of client specified by clientId. Including user's groups roles. Composite roles are expanded. Just the roles, which current client has role-scope-mapping for (or it's clientScopes) are included. Current client means the client corresponding to specified clientSessionCtx.- Parameters:
session
-clientSessionCtx
-clientId
-createIfMissing
-- Returns:
- can return null (just in case that createIfMissing is false)
-
getAllResolvedClientRoles
public static Map<String,AccessToken.Access> getAllResolvedClientRoles(KeycloakSession session, ClientSessionContext clientSessionCtx) Object (but can be empty map) containing all the user's client roles of all clients. Including user's groups roles. Composite roles are expanded. Just the roles, which current client has role-scope-mapping for (or it's clientScopes) are included. Current client means the client corresponding to specified clientSessionCtx.- Parameters:
session
-clientSessionCtx
-- Returns:
- not-null object (can return empty map)
-