@Override public UserModel getServiceAccount(ClientModel client) { TypedQuery<UserEntity> query = em.createNamedQuery("getRealmUserByServiceAccount", UserEntity.class); query.setParameter("realmId", client.getRealm().getId()); query.setParameter("clientInternalId", client.getId()); List<UserEntity> results = query.getResultList(); if (results.isEmpty()) { return null; } else if (results.size() > 1) { throw new IllegalStateException("More service account linked users found for client=" + client.getClientId() + ", results=" + results); } else { UserEntity user = results.get(0); return new UserAdapter(session, client.getRealm(), em, user); } }
@Override public UserModel getUserByServiceAccountClient(ClientModel client) { UserModel user = session.userStorage().getUserByServiceAccountClient(client); if (user != null) { user = validateAndProxyUser(client.getRealm(), user); } return user; }
public static ClientRemovedEvent create(ClientModel client) { ClientRemovedEvent event = new ClientRemovedEvent(); event.realmId = client.getRealm().getId(); event.clientUuid = client.getId(); event.clientId = client.getClientId(); event.clientRoles = new HashMap<>(); for (RoleModel clientRole : client.getRoles()) { event.clientRoles.put(clientRole.getId(), clientRole.getName()); } return event; }
@Override public CrossDCMessageStatus getCrossDCMessageStatus(SessionEntityWrapper<AuthenticatedClientSessionEntity> sessionWrapper) { return new CrossDCLastSessionRefreshChecker(provider.getLastSessionRefreshStore(), provider.getOfflineLastSessionRefreshStore()) .shouldSaveClientSessionToRemoteCache(kcSession, client.getRealm(), sessionWrapper, userSession, offline, timestamp); }
@Override public UserModel getServiceAccount(ClientModel client) { DBObject query = new QueryBuilder() .and("serviceAccountClientLink").is(client.getId()) .and("realmId").is(client.getRealm().getId()) .get(); MongoUserEntity userEntity = getMongoStore().loadSingleEntity(MongoUserEntity.class, query, invocationContext); return userEntity == null ? null : new UserAdapter(session, client.getRealm(), userEntity, invocationContext); }
logger.tracev("getServiceAccount: {0}", username); username = username.toLowerCase(); RealmModel realm = client.getRealm(); if (realmInvalidations.contains(realm.getId())) { logger.tracev("realmInvalidations");
private SessionAndKeyHolder getCacheKeyToInvalidate(ProviderEvent event) { if (event instanceof RealmModel.ClientUpdatedEvent) { RealmModel.ClientUpdatedEvent eventt = (RealmModel.ClientUpdatedEvent) event; String cacheKey = PublicKeyStorageUtils.getClientModelCacheKey(eventt.getUpdatedClient().getRealm().getId(), eventt.getUpdatedClient().getId()); return new SessionAndKeyHolder(eventt.getKeycloakSession(), cacheKey); } else if (event instanceof RealmModel.ClientRemovedEvent) { RealmModel.ClientRemovedEvent eventt = (RealmModel.ClientRemovedEvent) event; String cacheKey = PublicKeyStorageUtils.getClientModelCacheKey(eventt.getClient().getRealm().getId(), eventt.getClient().getId()); return new SessionAndKeyHolder(eventt.getKeycloakSession(), cacheKey); } else if (event instanceof RealmModel.IdentityProviderUpdatedEvent) { RealmModel.IdentityProviderUpdatedEvent eventt = (RealmModel.IdentityProviderUpdatedEvent) event; String cacheKey = PublicKeyStorageUtils.getIdpModelCacheKey(eventt.getRealm().getId(), eventt.getUpdatedIdentityProvider().getInternalId()); return new SessionAndKeyHolder(eventt.getKeycloakSession(), cacheKey); } else if (event instanceof RealmModel.IdentityProviderRemovedEvent) { RealmModel.IdentityProviderRemovedEvent eventt = (RealmModel.IdentityProviderRemovedEvent) event; String cacheKey = PublicKeyStorageUtils.getIdpModelCacheKey(eventt.getRealm().getId(), eventt.getRemovedIdentityProvider().getInternalId()); return new SessionAndKeyHolder(eventt.getKeycloakSession(), cacheKey); } else { return null; } }
role.setScopeParamRequired(false); client.getRealm().getRole(AdminRoles.ADMIN).addCompositeRole(role);
resource.setClientTemplate(null); } else { RealmModel realm = resource.getRealm(); for (ClientTemplateModel template : realm.getClientTemplates()) {