[KEYCLOAK-5379] MigrationTest fails for migration to 3.3.0
This commit is contained in:
1 parent
f186ea12c6
commit
07aa718cb9
3 files changed
+28
-27
No files matched your search
@@ -35,8 +35,8 @@ import org.keycloak.migration.migrators.MigrateTo2_5_0;
|
||||
import org.keycloak.migration.migrators.MigrateTo3_0_0;
|
||||
import org.keycloak.migration.migrators.MigrateTo3_1_0;
|
||||
import org.keycloak.migration.migrators.MigrateTo3_2_0;
|
||||
import org.keycloak.migration.migrators.MigrateTo3_3_0;
|
||||
import org.keycloak.migration.migrators.MigrateTo3_4_0;
|
||||
import org.keycloak.migration.migrators.MigrateTo3_4_1;
|
||||
import org.keycloak.migration.migrators.Migration;
|
||||
import org.keycloak.models.KeycloakSession;
|
||||
|
||||
@@ -65,8 +65,8 @@ public class MigrationModelManager {
|
||||
new MigrateTo3_0_0(),
|
||||
new MigrateTo3_1_0(),
|
||||
new MigrateTo3_2_0(),
|
||||
new MigrateTo3_3_0(),
|
||||
new MigrateTo3_4_0()
|
||||
new MigrateTo3_4_0(),
|
||||
new MigrateTo3_4_1()
|
||||
};
|
||||
|
||||
public static void migrate(KeycloakSession session) {
|
||||
|
||||
+13
-12
@@ -25,26 +25,27 @@ import org.keycloak.models.RealmModel;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:bruno@abstractj.org">Bruno Oliveira</a>
|
||||
*/
|
||||
public class MigrateTo3_3_0 implements Migration {
|
||||
public class MigrateTo3_4_1 implements Migration {
|
||||
|
||||
public static final ModelVersion VERSION = new ModelVersion("3.3.0");
|
||||
public static final ModelVersion VERSION = new ModelVersion("3.4.1");
|
||||
|
||||
@Override
|
||||
public void migrate(KeycloakSession session) {
|
||||
for (RealmModel realm : session.realms().getRealms()) {
|
||||
Map<String, String> securityHeaders = realm.getBrowserSecurityHeaders();
|
||||
if (securityHeaders != null && securityHeaders.containsValue("frame-src 'self';")) {
|
||||
|
||||
Map<String, String> browserSecurityHeaders = new HashMap<>(securityHeaders);
|
||||
browserSecurityHeaders.put("contentSecurityPolicy", "frame-src 'self'; frame-ancestors 'self'; object-src 'none';");
|
||||
|
||||
realm.setBrowserSecurityHeaders(Collections.unmodifiableMap(browserSecurityHeaders));
|
||||
}
|
||||
}
|
||||
session.realms().getRealms().stream().forEach(
|
||||
r -> {
|
||||
Map<String, String> securityHeaders = new HashMap<>(r.getBrowserSecurityHeaders());
|
||||
securityHeaders.entrySet().stream()
|
||||
.filter(Objects::nonNull)
|
||||
.filter(entry -> entry.getValue().equals("frame-src 'self'"))
|
||||
.forEach(entry -> entry.setValue("frame-src 'self'; frame-ancestors 'self'; object-src 'none';"));
|
||||
r.setBrowserSecurityHeaders(Collections.unmodifiableMap(securityHeaders));
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
+12
-12
@@ -116,7 +116,7 @@ public class MigrationTest extends AbstractKeycloakTest {
|
||||
public void migration2_5_5Test() {
|
||||
testMigratedData();
|
||||
testMigrationTo3_0_0();
|
||||
testMigrationTo3_3_0();
|
||||
testMigrationTo3_4_1();
|
||||
}
|
||||
@Test
|
||||
@Migration(versionFrom = "1.9.8.Final")
|
||||
@@ -130,8 +130,8 @@ public class MigrationTest extends AbstractKeycloakTest {
|
||||
testMigrationTo2_5_1();
|
||||
testMigrationTo3_0_0();
|
||||
testMigrationTo3_2_0();
|
||||
testMigrationTo3_3_0();
|
||||
testMigrationTo3_4_0();
|
||||
testMigrationTo3_4_1();
|
||||
}
|
||||
@Test
|
||||
@Migration(versionFrom = "2.2.1.Final")
|
||||
@@ -209,16 +209,6 @@ public class MigrationTest extends AbstractKeycloakTest {
|
||||
testDockerAuthenticationFlow(masterRealm, migrationRealm);
|
||||
}
|
||||
|
||||
private void testMigrationTo3_3_0() {
|
||||
Map<String, String> securityHeaders = masterRealm.toRepresentation().getBrowserSecurityHeaders();
|
||||
if (securityHeaders != null) {
|
||||
assertEquals("frame-src 'self'; frame-ancestors 'self'; object-src 'none';",
|
||||
securityHeaders.get("contentSecurityPolicy"));
|
||||
} else {
|
||||
fail("Browser security headers not found");
|
||||
}
|
||||
}
|
||||
|
||||
private void testMigrationTo3_4_0() {
|
||||
Map<String, String> securityHeaders = masterRealm.toRepresentation().getBrowserSecurityHeaders();
|
||||
if (securityHeaders != null) {
|
||||
@@ -229,6 +219,16 @@ public class MigrationTest extends AbstractKeycloakTest {
|
||||
}
|
||||
}
|
||||
|
||||
private void testMigrationTo3_4_1() {
|
||||
Map<String, String> securityHeaders = masterRealm.toRepresentation().getBrowserSecurityHeaders();
|
||||
if (securityHeaders != null) {
|
||||
assertEquals("frame-src 'self'; frame-ancestors 'self'; object-src 'none';",
|
||||
securityHeaders.get("contentSecurityPolicy"));
|
||||
} else {
|
||||
fail("Browser security headers not found");
|
||||
}
|
||||
}
|
||||
|
||||
private void testDockerAuthenticationFlow(RealmResource... realms) {
|
||||
for (RealmResource realm : realms) {
|
||||
AuthenticationFlowRepresentation flow = null;
|
||||
|
||||
Reference in new issue
Block a user