All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
org.keycloak.models.RealmModel Maven / Gradle / Ivy
/*
* Copyright 2016 Red Hat, Inc. and/or its affiliates
* and other contributors as indicated by the @author tags.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.keycloak.models;
import org.keycloak.common.enums.SslRequired;
import org.keycloak.component.ComponentModel;
import org.keycloak.provider.ProviderEvent;
import org.keycloak.storage.UserStorageProvider;
import org.keycloak.storage.UserStorageProviderModel;
import org.keycloak.storage.client.ClientStorageProvider;
import org.keycloak.storage.client.ClientStorageProviderModel;
import java.util.*;
/**
* @author Bill Burke
* @version $Revision: 1 $
*/
public interface RealmModel extends RoleContainerModel {
interface RealmCreationEvent extends ProviderEvent {
RealmModel getCreatedRealm();
KeycloakSession getKeycloakSession();
}
interface RealmPostCreateEvent extends ProviderEvent {
RealmModel getCreatedRealm();
KeycloakSession getKeycloakSession();
}
interface RealmRemovedEvent extends ProviderEvent {
RealmModel getRealm();
KeycloakSession getKeycloakSession();
}
interface ClientCreationEvent extends ProviderEvent {
ClientModel getCreatedClient();
}
// Called also during client creation after client is fully initialized (including all attributes etc)
interface ClientUpdatedEvent extends ProviderEvent {
ClientModel getUpdatedClient();
KeycloakSession getKeycloakSession();
}
interface ClientRemovedEvent extends ProviderEvent {
ClientModel getClient();
KeycloakSession getKeycloakSession();
}
interface IdentityProviderUpdatedEvent extends ProviderEvent {
RealmModel getRealm();
IdentityProviderModel getUpdatedIdentityProvider();
KeycloakSession getKeycloakSession();
}
interface IdentityProviderRemovedEvent extends ProviderEvent {
RealmModel getRealm();
IdentityProviderModel getRemovedIdentityProvider();
KeycloakSession getKeycloakSession();
}
String getId();
String getName();
void setName(String name);
String getDisplayName();
void setDisplayName(String displayName);
String getDisplayNameHtml();
void setDisplayNameHtml(String displayNameHtml);
boolean isEnabled();
void setEnabled(boolean enabled);
SslRequired getSslRequired();
void setSslRequired(SslRequired sslRequired);
boolean isRegistrationAllowed();
void setRegistrationAllowed(boolean registrationAllowed);
boolean isRegistrationEmailAsUsername();
void setRegistrationEmailAsUsername(boolean registrationEmailAsUsername);
boolean isRememberMe();
void setRememberMe(boolean rememberMe);
boolean isEditUsernameAllowed();
void setEditUsernameAllowed(boolean editUsernameAllowed);
boolean isUserManagedAccessAllowed();
void setUserManagedAccessAllowed(boolean userManagedAccessAllowed);
void setAttribute(String name, String value);
void setAttribute(String name, Boolean value);
void setAttribute(String name, Integer value);
void setAttribute(String name, Long value);
void removeAttribute(String name);
String getAttribute(String name);
Integer getAttribute(String name, Integer defaultValue);
Long getAttribute(String name, Long defaultValue);
Boolean getAttribute(String name, Boolean defaultValue);
Map getAttributes();
//--- brute force settings
boolean isBruteForceProtected();
void setBruteForceProtected(boolean value);
boolean isPermanentLockout();
void setPermanentLockout(boolean val);
int getMaxFailureWaitSeconds();
void setMaxFailureWaitSeconds(int val);
int getWaitIncrementSeconds();
void setWaitIncrementSeconds(int val);
int getMinimumQuickLoginWaitSeconds();
void setMinimumQuickLoginWaitSeconds(int val);
long getQuickLoginCheckMilliSeconds();
void setQuickLoginCheckMilliSeconds(long val);
int getMaxDeltaTimeSeconds();
void setMaxDeltaTimeSeconds(int val);
int getFailureFactor();
void setFailureFactor(int failureFactor);
//--- end brute force settings
boolean isVerifyEmail();
void setVerifyEmail(boolean verifyEmail);
boolean isLoginWithEmailAllowed();
void setLoginWithEmailAllowed(boolean loginWithEmailAllowed);
boolean isDuplicateEmailsAllowed();
void setDuplicateEmailsAllowed(boolean duplicateEmailsAllowed);
boolean isResetPasswordAllowed();
void setResetPasswordAllowed(boolean resetPasswordAllowed);
String getDefaultSignatureAlgorithm();
void setDefaultSignatureAlgorithm(String defaultSignatureAlgorithm);
boolean isRevokeRefreshToken();
void setRevokeRefreshToken(boolean revokeRefreshToken);
int getRefreshTokenMaxReuse();
void setRefreshTokenMaxReuse(int revokeRefreshTokenCount);
int getSsoSessionIdleTimeout();
void setSsoSessionIdleTimeout(int seconds);
int getSsoSessionMaxLifespan();
void setSsoSessionMaxLifespan(int seconds);
int getSsoSessionIdleTimeoutRememberMe();
void setSsoSessionIdleTimeoutRememberMe(int seconds);
int getSsoSessionMaxLifespanRememberMe();
void setSsoSessionMaxLifespanRememberMe(int seconds);
int getOfflineSessionIdleTimeout();
void setOfflineSessionIdleTimeout(int seconds);
int getAccessTokenLifespan();
// KEYCLOAK-7688 Offline Session Max for Offline Token
boolean isOfflineSessionMaxLifespanEnabled();
void setOfflineSessionMaxLifespanEnabled(boolean offlineSessionMaxLifespanEnabled);
int getOfflineSessionMaxLifespan();
void setOfflineSessionMaxLifespan(int seconds);
int getClientSessionIdleTimeout();
void setClientSessionIdleTimeout(int seconds);
int getClientSessionMaxLifespan();
void setClientSessionMaxLifespan(int seconds);
int getClientOfflineSessionIdleTimeout();
void setClientOfflineSessionIdleTimeout(int seconds);
int getClientOfflineSessionMaxLifespan();
void setClientOfflineSessionMaxLifespan(int seconds);
void setAccessTokenLifespan(int seconds);
int getAccessTokenLifespanForImplicitFlow();
void setAccessTokenLifespanForImplicitFlow(int seconds);
int getAccessCodeLifespan();
void setAccessCodeLifespan(int seconds);
int getAccessCodeLifespanUserAction();
void setAccessCodeLifespanUserAction(int seconds);
/**
* This method will return a map with all the lifespans available
* or an empty map, but never null.
* @return map with user action token lifespans
*/
Map getUserActionTokenLifespans();
int getAccessCodeLifespanLogin();
void setAccessCodeLifespanLogin(int seconds);
int getActionTokenGeneratedByAdminLifespan();
void setActionTokenGeneratedByAdminLifespan(int seconds);
int getActionTokenGeneratedByUserLifespan();
void setActionTokenGeneratedByUserLifespan(int seconds);
int getActionTokenGeneratedByUserLifespan(String actionTokenType);
void setActionTokenGeneratedByUserLifespan(String actionTokenType, Integer seconds);
List getRequiredCredentials();
void addRequiredCredential(String cred);
PasswordPolicy getPasswordPolicy();
void setPasswordPolicy(PasswordPolicy policy);
OTPPolicy getOTPPolicy();
void setOTPPolicy(OTPPolicy policy);
/**
* @return WebAuthn policy for 2-factor authentication
*/
WebAuthnPolicy getWebAuthnPolicy();
/**
* Set WebAuthn policy for 2-factor authentication
*
* @param policy
*/
void setWebAuthnPolicy(WebAuthnPolicy policy);
/**
*
* @return WebAuthn passwordless policy below. This is temporary and will be removed later.
*/
WebAuthnPolicy getWebAuthnPolicyPasswordless();
/**
* Set WebAuthn passwordless policy below. This is temporary and will be removed later.
* @param policy
*/
void setWebAuthnPolicyPasswordless(WebAuthnPolicy policy);
RoleModel getRoleById(String id);
List getDefaultGroups();
void addDefaultGroup(GroupModel group);
void removeDefaultGroup(GroupModel group);
List getClients();
List getClients(Integer firstResult, Integer maxResults);
Long getClientsCount();
List getAlwaysDisplayInConsoleClients();
ClientModel addClient(String name);
ClientModel addClient(String id, String clientId);
boolean removeClient(String id);
ClientModel getClientById(String id);
ClientModel getClientByClientId(String clientId);
List searchClientByClientId(String clientId, Integer firstResult, Integer maxResults);
void updateRequiredCredentials(Set creds);
Map getBrowserSecurityHeaders();
void setBrowserSecurityHeaders(Map headers);
Map getSmtpConfig();
void setSmtpConfig(Map smtpConfig);
AuthenticationFlowModel getBrowserFlow();
void setBrowserFlow(AuthenticationFlowModel flow);
AuthenticationFlowModel getRegistrationFlow();
void setRegistrationFlow(AuthenticationFlowModel flow);
AuthenticationFlowModel getDirectGrantFlow();
void setDirectGrantFlow(AuthenticationFlowModel flow);
AuthenticationFlowModel getResetCredentialsFlow();
void setResetCredentialsFlow(AuthenticationFlowModel flow);
AuthenticationFlowModel getClientAuthenticationFlow();
void setClientAuthenticationFlow(AuthenticationFlowModel flow);
AuthenticationFlowModel getDockerAuthenticationFlow();
void setDockerAuthenticationFlow(AuthenticationFlowModel flow);
List getAuthenticationFlows();
AuthenticationFlowModel getFlowByAlias(String alias);
AuthenticationFlowModel addAuthenticationFlow(AuthenticationFlowModel model);
AuthenticationFlowModel getAuthenticationFlowById(String id);
void removeAuthenticationFlow(AuthenticationFlowModel model);
void updateAuthenticationFlow(AuthenticationFlowModel model);
List getAuthenticationExecutions(String flowId);
AuthenticationExecutionModel getAuthenticationExecutionById(String id);
AuthenticationExecutionModel getAuthenticationExecutionByFlowId(String flowId);
AuthenticationExecutionModel addAuthenticatorExecution(AuthenticationExecutionModel model);
void updateAuthenticatorExecution(AuthenticationExecutionModel model);
void removeAuthenticatorExecution(AuthenticationExecutionModel model);
List getAuthenticatorConfigs();
AuthenticatorConfigModel addAuthenticatorConfig(AuthenticatorConfigModel model);
void updateAuthenticatorConfig(AuthenticatorConfigModel model);
void removeAuthenticatorConfig(AuthenticatorConfigModel model);
AuthenticatorConfigModel getAuthenticatorConfigById(String id);
AuthenticatorConfigModel getAuthenticatorConfigByAlias(String alias);
List getRequiredActionProviders();
RequiredActionProviderModel addRequiredActionProvider(RequiredActionProviderModel model);
void updateRequiredActionProvider(RequiredActionProviderModel model);
void removeRequiredActionProvider(RequiredActionProviderModel model);
RequiredActionProviderModel getRequiredActionProviderById(String id);
RequiredActionProviderModel getRequiredActionProviderByAlias(String alias);
List getIdentityProviders();
IdentityProviderModel getIdentityProviderByAlias(String alias);
void addIdentityProvider(IdentityProviderModel identityProvider);
void removeIdentityProviderByAlias(String alias);
void updateIdentityProvider(IdentityProviderModel identityProvider);
Set getIdentityProviderMappers();
Set getIdentityProviderMappersByAlias(String brokerAlias);
IdentityProviderMapperModel addIdentityProviderMapper(IdentityProviderMapperModel model);
void removeIdentityProviderMapper(IdentityProviderMapperModel mapping);
void updateIdentityProviderMapper(IdentityProviderMapperModel mapping);
IdentityProviderMapperModel getIdentityProviderMapperById(String id);
IdentityProviderMapperModel getIdentityProviderMapperByName(String brokerAlias, String name);
/**
* Adds component model. Will call onCreate() method of ComponentFactory
*
* @param model
* @return
*/
ComponentModel addComponentModel(ComponentModel model);
/**
* Adds component model. Will NOT call onCreate() method of ComponentFactory
*
* @param model
* @return
*/
ComponentModel importComponentModel(ComponentModel model);
void updateComponent(ComponentModel component);
void removeComponent(ComponentModel component);
void removeComponents(String parentId);
List getComponents(String parentId, String providerType);
List getComponents(String parentId);
List getComponents();
ComponentModel getComponent(String id);
default
List getUserStorageProviders() {
List list = new LinkedList<>();
for (ComponentModel component : getComponents(getId(), UserStorageProvider.class.getName())) {
list.add(new UserStorageProviderModel(component));
}
Collections.sort(list, UserStorageProviderModel.comparator);
return list;
}
default
List getClientStorageProviders() {
List list = new LinkedList<>();
for (ComponentModel component : getComponents(getId(), ClientStorageProvider.class.getName())) {
list.add(new ClientStorageProviderModel(component));
}
Collections.sort(list, ClientStorageProviderModel.comparator);
return list;
}
String getLoginTheme();
void setLoginTheme(String name);
String getAccountTheme();
void setAccountTheme(String name);
String getAdminTheme();
void setAdminTheme(String name);
String getEmailTheme();
void setEmailTheme(String name);
/**
* Time in seconds since epoc
*
* @return
*/
int getNotBefore();
void setNotBefore(int notBefore);
boolean isEventsEnabled();
void setEventsEnabled(boolean enabled);
// boolean isPersistUserSessions();
//
// void setPersistUserSessions();
long getEventsExpiration();
void setEventsExpiration(long expiration);
Set getEventsListeners();
void setEventsListeners(Set listeners);
Set getEnabledEventTypes();
void setEnabledEventTypes(Set enabledEventTypes);
boolean isAdminEventsEnabled();
void setAdminEventsEnabled(boolean enabled);
boolean isAdminEventsDetailsEnabled();
void setAdminEventsDetailsEnabled(boolean enabled);
ClientModel getMasterAdminClient();
void setMasterAdminClient(ClientModel client);
boolean isIdentityFederationEnabled();
boolean isInternationalizationEnabled();
void setInternationalizationEnabled(boolean enabled);
Set getSupportedLocales();
void setSupportedLocales(Set locales);
String getDefaultLocale();
void setDefaultLocale(String locale);
default GroupModel createGroup(String name) {
return createGroup(null, name, null);
};
default GroupModel createGroup(String id, String name) {
return createGroup(id, name, null);
};
default GroupModel createGroup(String name, GroupModel toParent) {
return createGroup(null, name, toParent);
};
GroupModel createGroup(String id, String name, GroupModel toParent);
GroupModel getGroupById(String id);
List getGroups();
Long getGroupsCount(Boolean onlyTopGroups);
Long getGroupsCountByNameContaining(String search);
List getTopLevelGroups();
List getTopLevelGroups(Integer first, Integer max);
List searchForGroupByName(String search, Integer first, Integer max);
boolean removeGroup(GroupModel group);
void moveGroup(GroupModel group, GroupModel toParent);
List getClientScopes();
ClientScopeModel addClientScope(String name);
ClientScopeModel addClientScope(String id, String name);
boolean removeClientScope(String id);
ClientScopeModel getClientScopeById(String id);
void addDefaultClientScope(ClientScopeModel clientScope, boolean defaultScope);
void removeDefaultClientScope(ClientScopeModel clientScope);
List getDefaultClientScopes(boolean defaultScope);
}