66         for (ClientScopeModel clientScope : realm.getClientScopes()) {
    67             if (clientScope.getName().contains(
" ")) {
    68                 LOG.debugf(
"Replacing spaces with underscores in the name of client scope '%s' of realm '%s'", clientScope.getName(), realm.getName());
    69                 String replacedName = clientScope.getName().replaceAll(
" ", 
"_");
    70                 clientScope.setName(replacedName);
    76             LOG.debugf(
"Adding defaultClientScopes for realm '%s'", realm.getName());
    77             DefaultClientScopes.createDefaultClientScopes(session, realm, 
false);
    81         for (ComponentModel component : realm.getComponents(realm.getId(), 
"org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy")) {
    82             if (
"allowed-client-templates".equals(component.getProviderId())) {
    83                 List<String> configVal = component.getConfig().remove(
"allowed-client-templates");
    84                 if (configVal != null) {
    85                     component.getConfig().put(
"allowed-client-scopes", configVal);
    87                 component.put(
"allow-default-scopes", 
true);
    89                 realm.updateComponent(component);
    96         RoleModel offlineAccessRole = realm.getRole(OAuth2Constants.OFFLINE_ACCESS);
    97         ClientScopeModel offlineAccessScope = null;
    98         if (offlineAccessRole == null) {
    99             LOG.infof(
"Role 'offline_access' not available in realm '%s'. Skip migration of offline_access client scope.", realm.getName());
   101             offlineAccessScope = KeycloakModelUtils.getClientScopeByName(realm, OAuth2Constants.OFFLINE_ACCESS);
   102             if (offlineAccessScope == null) {
   103                 LOG.infof(
"Client scope 'offline_access' not available in realm '%s'. Skip migration of offline_access client scope.", realm.getName());
   105                 for (ClientModel client : realm.getClients()) {
   106                     if (
"openid-connect".equals(client.getProtocol())
   107                             && !client.isBearerOnly()
   108                             && client.hasScope(offlineAccessRole)
   109                             && !client.getClientScopes(
false, 
true).containsKey(OAuth2Constants.OFFLINE_ACCESS)) {
   110                         LOG.debugf(
"Adding client scope 'offline_access' as optional scope to client '%s' in realm '%s'.", client.getClientId(), realm.getName());
   111                         client.addClientScope(offlineAccessScope, 
false);
   113                         if (!client.isFullScopeAllowed()) {
   114                             LOG.debugf(
"Removing role scope mapping for role 'offline_access' from client '%s' in realm '%s'.", client.getClientId(), realm.getName());
   115                             client.deleteScopeMapping(offlineAccessRole);
   124         for (ClientModel client : realm.getClients()) {
   125             if (client.isConsentRequired() && client.getClientScopes(
true, 
true).isEmpty()) {
   126                 LOG.debugf(
"Adding client '%s' of realm '%s' to display itself on consent screen", client.getClientId(), realm.getName());
   127                 client.setDisplayOnConsentScreen(
true);
   128                 String consentText = client.getName()==null ? client.getClientId() : client.getName();
   129                 client.setConsentScreenText(consentText);
 static final Logger LOG
Definition: MigrateTo4_0_0.java:42