argos/dmp-backend/core/src/main/java/eu/eudat/service/keycloak/KeycloakService.java

23 lines
953 B
Java

package eu.eudat.service.keycloak;
import eu.eudat.data.TenantEntity;
import org.jetbrains.annotations.NotNull;
import org.keycloak.representations.idm.GroupRepresentation;
import java.util.HashMap;
import java.util.UUID;
public interface KeycloakService {
HashMap<String, GroupRepresentation> createTenantGroups(TenantEntity tenant);
void addUserToGroup(UUID subjectId, String groupId);
void removeUserFromGroup(@NotNull UUID subjectId, String groupId);
void addUserToAdministratorsGroup(UUID subjectId);
void removeUserFromAdministratorsGroup(@NotNull UUID subjectId);
void addUserToTenantAuthorityGroup(UUID subjectId, TenantEntity tenant, String key);
void removeUserFromTenantAuthorityGroup(UUID subjectId, TenantEntity tenant, String key);
void assignClientRoleToUser(UUID subjectId, String clientId, KeycloakRole role);
void removeClientRoleFromUser(UUID subjectId, String clientId, KeycloakRole role);
}