74             throw new ErrorResponseException(
"invalid_bearer_token", 
"Could not obtain bearer access_token from request.", Status.FORBIDDEN);
    77             throw new ErrorResponseException(
"no_keycloak_session", 
"No keycloak session", Status.FORBIDDEN);
    80             throw new ErrorResponseException(
"no_keycloak_session", 
"No realm set", Status.FORBIDDEN);
    85         Map<String, Collection<String>> 
attributes = 
new HashMap<>();
    88             ObjectNode objectNode = JsonSerialization.createObjectNode(token);
    89             Iterator<String> iterator = objectNode.fieldNames();
    91             while (iterator.hasNext()) {
    92                 String fieldName = iterator.next();
    93                 JsonNode fieldValue = objectNode.get(fieldName);
    94                 List<String> values = 
new ArrayList<>();
    96                 if (fieldValue.isArray()) {
    97                     Iterator<JsonNode> valueIterator = fieldValue.iterator();
    99                     while (valueIterator.hasNext()) {
   100                         values.add(valueIterator.next().asText());
   103                     String value = fieldValue.asText();
   105                     if (StringUtil.isNullOrEmpty(value)) {
   112                 if (!values.isEmpty()) {
   113                     attributes.put(fieldName, values);
   117             if (token instanceof AccessToken) {
   123                 if (userSession == null) {
   124                     userSession = sessions.getOfflineUserSession(
realm, token.getSessionState());
   128                 AuthenticatedClientSessionModel clientSessionModel = userSession.getAuthenticatedClientSessions().get(client.getId());
   130                 ClientSessionContext clientSessionCtx = DefaultClientSessionContext.fromClientSessionScopeParameter(clientSessionModel);
   136             if (realmAccess != null) {
   137                 attributes.put(
"kc.realm.roles", realmAccess.getRoles());
   142             if (resourceAccess != null) {
   143                 resourceAccess.forEach((clientId, access) -> attributes.put(
"kc.client." + clientId + 
".roles", access.getRoles()));
   145         } 
catch (Exception e) {
   146             throw new RuntimeException(
"Error while reading attributes from security token.", e);
   149         this.attributes = Attributes.from(attributes);
 final RealmModel realm
Definition: KeycloakIdentity.java:60
 
ClientModel getClientByClientId(String clientId)
 
final AccessToken accessToken
Definition: KeycloakIdentity.java:59
 
final Attributes attributes
Definition: KeycloakIdentity.java:62
 
final KeycloakSession keycloakSession
Definition: KeycloakIdentity.java:61
 
UserSessionModel getUserSession(RealmModel realm, String id)
 
Definition: AccessToken.java:37
 
Access()
Definition: AccessToken.java:43
 
Access getRealmAccess()
Definition: AccessToken.java:230
 
UserSessionProvider sessions()
 
Map< String, Access > getResourceAccess()
Definition: AccessToken.java:137