@GET @Path("/user-by-federated-identity") @Produces(MediaType.APPLICATION_JSON) public UserRepresentation getUserByFederatedIdentity(@QueryParam("realmName") String realmName, @QueryParam("identityProvider") String identityProvider, @QueryParam("userId") String userId, @QueryParam("userName") String userName) { RealmModel realm = getRealmByName(realmName); UserModel foundFederatedUser = session.users().getUserByFederatedIdentity(new FederatedIdentityModel(identityProvider, userId, userName), realm); if (foundFederatedUser == null) return null; return ModelToRepresentation.toRepresentation(foundFederatedUser); }
@GET @Path("/get-user-by-service-account-client") @Produces(MediaType.APPLICATION_JSON) public UserRepresentation getUserByServiceAccountClient(@QueryParam("realmName") String realmName, @QueryParam("clientId") String clientId) { RealmModel realm = getRealmByName(realmName); ClientModel client = realm.getClientByClientId(clientId); UserModel user = session.users().getServiceAccount(client); if (user == null) return null; return ModelToRepresentation.toRepresentation(user); }
@Override public UserModel getUser() { return session.users().getUserById(entity.getUserId(), realm); }
@Override public void removeProtocolMapper(ProtocolMapperModel mapping) { ProtocolMapperEntity toDelete = getProtocolMapperEntity(mapping.getId()); if (toDelete != null) { session.users().preRemove(mapping); this.entity.getProtocolMappers().remove(toDelete); em.remove(toDelete); } }
@Override public void removeProtocolMapper(ProtocolMapperModel mapping) { ProtocolMapperEntity toDelete = getProtocolMapperEntity(mapping.getId()); if (toDelete != null) { session.users().preRemove(mapping); this.entity.getProtocolMappers().remove(toDelete); em.remove(toDelete); } }
@Override public void removeComponents(String parentId) { Predicate<ComponentEntity> sameParent = c -> Objects.equals(parentId, c.getParentId()); getEntity().getComponents().stream() .filter(sameParent) .map(this::entityToModel) .forEach((ComponentModel c) -> { session.users().preRemove(this, c); ComponentUtil.notifyPreRemove(session, this, c); }); getEntity().getComponents().removeIf(sameParent); }
private static List<String> userRoles(String userName, KeycloakSession keycloakSession) { List<String> userRoles = new ArrayList<>(); for (RoleModel roleMapping : keycloakSession.users() .getUserByUsername(userName, keycloakSession.getContext().getRealm()) .getRoleMappings()) userRoles.add(roleMapping.getName()); return userRoles; }
@Override protected void runExportImportTask(KeycloakSession session) throws IOException { RealmModel realm = session.realms().getRealmByName(realmName); usersHolder.users = session.users().getUsers(realm, usersHolder.currentPageStart, usersHolder.currentPageEnd - usersHolder.currentPageStart, true); writeUsers(realmName + "-users-" + (usersHolder.currentPageStart / countPerPage) + ".json", session, realm, usersHolder.users); logger.info("Users " + usersHolder.currentPageStart + "-" + (usersHolder.currentPageEnd -1) + " exported"); }
private static List<String> userRoles(String userName, KeycloakSession keycloakSession) { List<String> userRoles = new ArrayList<>(); for (RoleModel roleMapping : keycloakSession.users() .getUserByUsername(userName, keycloakSession.getContext().getRealm()) .getRoleMappings()) userRoles.add(roleMapping.getName()); return userRoles; }
@Override protected void runExportImportTask(KeycloakSession session) throws IOException { RealmModel realm = session.realms().getRealmByName(realmName); RealmRepresentation rep = ExportUtils.exportRealm(session, realm, exportUsersIntoRealmFile); writeRealm(realmName + "-realm.json", rep); logger.info("Realm '" + realmName + "' - data exported"); // Count total number of users if (!exportUsersIntoRealmFile) { usersHolder.totalCount = session.users().getUsersCount(realm); } }
public TotpBean(KeycloakSession session, RealmModel realm, UserModel user, URI baseUri) { this.enabled = session.users().configuredForCredentialType(realm.getOTPPolicy().getType(), realm, user); this.contextUrl = baseUri.getPath(); this.totpSecret = randomString(20); this.totpSecretEncoded = Base32.encode(totpSecret.getBytes()); this.keyUri = realm.getOTPPolicy().getKeyURI(realm, user, this.totpSecret); }
@Override public void removeComponent(ComponentModel component) { ComponentEntity c = em.find(ComponentEntity.class, component.getId()); if (c == null) return; session.users().preRemove(this, component); ComponentUtil.notifyPreRemove(session, this, component); removeComponents(component.getId()); getEntity().getComponents().remove(c); }
@Override public void removeProtocolMapper(ProtocolMapperModel mapping) { for (ProtocolMapperEntity entity : getMongoEntity().getProtocolMappers()) { if (entity.getId().equals(mapping.getId())) { session.users().preRemove(mapping); getMongoEntity().getProtocolMappers().remove(entity); updateMongoEntity(); break; } } }
@Override public void removeProtocolMapper(ProtocolMapperModel mapping) { for (ProtocolMapperEntity entity : getMongoEntity().getProtocolMappers()) { if (entity.getId().equals(mapping.getId())) { session.users().preRemove(mapping); getMongoEntity().getProtocolMappers().remove(entity); updateMongoEntity(); break; } } }
AuthInfo (Event event, KeycloakSession keycloakSession) { fields = new String[] { event.getDetails() != null ? event.getDetails().get("username") : keycloakSession.users().getUserById(event.getUserId(), keycloakSession.getContext().getRealm()) .getUsername(), event.getIpAddress() }; } AuthInfo(String s) {
AuthInfo (Event event, KeycloakSession keycloakSession) { fields = new String[] { event.getDetails() != null ? event.getDetails().get("username") : keycloakSession.users().getUserById(event.getUserId(), keycloakSession.getContext().getRealm()) .getUsername(), event.getIpAddress() }; } AuthInfo(String s) {
@Override public boolean removeRole(RealmModel realm, RoleModel role) { session.users().preRemove(realm, role); RoleContainerModel container = role.getContainer(); if (container.getDefaultRoles().contains(role.getName())) { container.removeDefaultRoles(role.getName()); } return getMongoStore().removeEntity(MongoRoleEntity.class, role.getId(), invocationContext); }
@Override public boolean removeGroup(RealmModel realm, GroupModel group) { session.users().preRemove(realm, group); realm.removeDefaultGroup(group); for (GroupModel subGroup : group.getSubGroups()) { removeGroup(realm, subGroup); } moveGroup(realm, group, null); return getMongoStore().removeEntity(MongoGroupEntity.class, group.getId(), invocationContext); }
AuthInfo (AdminEvent adminEvent, KeycloakSession keycloakSession) { AuthDetails authDetails = adminEvent.getAuthDetails(); fields = new String[] { keycloakSession.users().getUserById(authDetails.getUserId(), keycloakSession.getContext().getRealm()) .getUsername(), authDetails.getIpAddress(), adminEvent.getResourceType().name(), adminEvent.getResourcePath(), adminEvent.getRepresentation() }; } AuthInfo(String s) {
AuthInfo (AdminEvent adminEvent, KeycloakSession keycloakSession) { AuthDetails authDetails = adminEvent.getAuthDetails(); fields = new String[] { keycloakSession.users().getUserById(authDetails.getUserId(), keycloakSession.getContext().getRealm()) .getUsername(), authDetails.getIpAddress(), adminEvent.getOperationType().name() + " " + adminEvent.getResourceType().name(), adminEvent.getResourcePath(), adminEvent.getRepresentation() }; } AuthInfo(String s) {