KEYCLOAK-1390 mongo migration for identity providers
This commit is contained in:
parent
b578122f19
commit
75e1f50faf
1 changed files with 39 additions and 0 deletions
|
@ -1,6 +1,11 @@
|
||||||
package org.keycloak.connections.mongo.updater.impl.updates;
|
package org.keycloak.connections.mongo.updater.impl.updates;
|
||||||
|
|
||||||
|
import com.mongodb.BasicDBList;
|
||||||
|
import com.mongodb.BasicDBObject;
|
||||||
|
import com.mongodb.DBCollection;
|
||||||
|
import com.mongodb.DBCursor;
|
||||||
import org.keycloak.models.KeycloakSession;
|
import org.keycloak.models.KeycloakSession;
|
||||||
|
import org.keycloak.representations.idm.IdentityProviderRepresentation;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
|
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
|
||||||
|
@ -14,7 +19,41 @@ public class Update1_3_0_Beta1 extends Update {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(KeycloakSession session) {
|
public void update(KeycloakSession session) {
|
||||||
|
deleteEntries("clientSessions");
|
||||||
|
deleteEntries("sessions");
|
||||||
|
|
||||||
removeField("realms", "passwordCredentialGrantAllowed");
|
removeField("realms", "passwordCredentialGrantAllowed");
|
||||||
|
|
||||||
|
updateIdentityProviders();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateIdentityProviders() {
|
||||||
|
DBCollection realms = db.getCollection("realms");
|
||||||
|
DBCursor realmsCursor = realms.find();
|
||||||
|
|
||||||
|
try {
|
||||||
|
while (realmsCursor.hasNext()) {
|
||||||
|
BasicDBObject realm = (BasicDBObject) realmsCursor.next();
|
||||||
|
|
||||||
|
BasicDBList identityProviders = (BasicDBList) realm.get("identityProviders");
|
||||||
|
if (identityProviders != null) {
|
||||||
|
for (Object ipObj : identityProviders) {
|
||||||
|
BasicDBObject identityProvider = (BasicDBObject) ipObj;
|
||||||
|
|
||||||
|
boolean updateProfileFirstLogin = identityProvider.getBoolean("updateProfileFirstLogin");
|
||||||
|
String upflMode = updateProfileFirstLogin ? IdentityProviderRepresentation.UPFLM_ON : IdentityProviderRepresentation.UPFLM_OFF;
|
||||||
|
identityProvider.put("updateProfileFirstLoginMode", upflMode);
|
||||||
|
identityProvider.removeField("updateProfileFirstLogin");
|
||||||
|
|
||||||
|
identityProvider.put("trustEmail", false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
realms.save(realm);
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
realmsCursor.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue