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