KEYCLOAK-8530 KEYCLOAK-8531 Fix MigrationTest and migration from 2.5.5.Final and 3.4.3.Final
This commit is contained in:
parent
5f0424fb11
commit
60a8267576
6 changed files with 61 additions and 655 deletions
|
@ -252,10 +252,9 @@ This test will:
|
||||||
|
|
||||||
mvn -f testsuite/integration-arquillian/pom.xml \
|
mvn -f testsuite/integration-arquillian/pom.xml \
|
||||||
clean install \
|
clean install \
|
||||||
-Pauth-server-wildfly,jpa,clean-jpa,auth-server-migration \
|
-Pauth-server-wildfly,jpa,clean-jpa,auth-server-migration,test-70-migration \
|
||||||
-Dtest=MigrationTest \
|
-Dtest=MigrationTest \
|
||||||
-Dmigration.mode=auto \
|
-Dmigration.mode=auto \
|
||||||
-Dmigrated.auth.server.version=1.9.8.Final \
|
|
||||||
-Djdbc.mvn.groupId=mysql \
|
-Djdbc.mvn.groupId=mysql \
|
||||||
-Djdbc.mvn.version=5.1.29 \
|
-Djdbc.mvn.version=5.1.29 \
|
||||||
-Djdbc.mvn.artifactId=mysql-connector-java \
|
-Djdbc.mvn.artifactId=mysql-connector-java \
|
||||||
|
@ -263,6 +262,11 @@ This test will:
|
||||||
-Dkeycloak.connectionsJpa.user=keycloak \
|
-Dkeycloak.connectionsJpa.user=keycloak \
|
||||||
-Dkeycloak.connectionsJpa.password=keycloak
|
-Dkeycloak.connectionsJpa.password=keycloak
|
||||||
|
|
||||||
|
The profile "test-7X-migration" indicates from which version you want to test migration. The valid values are:
|
||||||
|
* test-70-migration - indicates migration from RHSSO 7.0 (Equivalent to Keycloak 1.9.8.Final)
|
||||||
|
* test-71-migration - indicates migration from RHSSO 7.1 (Equivalent to Keycloak 2.5.5.Final)
|
||||||
|
* test-72-migration - indicates migration from RHSSO 7.2 (Equivalent to Keycloak 3.4.3.Final)
|
||||||
|
|
||||||
### DB migration test with manual mode
|
### DB migration test with manual mode
|
||||||
|
|
||||||
Same test as above, but it uses manual migration mode. During startup of the new Keycloak server, Liquibase won't automatically perform DB update, but it
|
Same test as above, but it uses manual migration mode. During startup of the new Keycloak server, Liquibase won't automatically perform DB update, but it
|
||||||
|
@ -274,10 +278,9 @@ just exports the needed SQL into the script. This SQL script then needs to be ma
|
||||||
|
|
||||||
mvn -f testsuite/integration-arquillian/pom.xml \
|
mvn -f testsuite/integration-arquillian/pom.xml \
|
||||||
clean install \
|
clean install \
|
||||||
-Pauth-server-wildfly,jpa,clean-jpa,auth-server-migration \
|
-Pauth-server-wildfly,jpa,clean-jpa,auth-server-migration,test-70-migration \
|
||||||
-Dtest=MigrationTest \
|
-Dtest=MigrationTest \
|
||||||
-Dmigration.mode=manual \
|
-Dmigration.mode=manual \
|
||||||
-Dmigrated.auth.server.version=1.9.8.Final \
|
|
||||||
-Djdbc.mvn.groupId=mysql \
|
-Djdbc.mvn.groupId=mysql \
|
||||||
-Djdbc.mvn.version=5.1.29 \
|
-Djdbc.mvn.version=5.1.29 \
|
||||||
-Djdbc.mvn.artifactId=mysql-connector-java \
|
-Djdbc.mvn.artifactId=mysql-connector-java \
|
||||||
|
@ -293,10 +296,9 @@ just exports the needed SQL into the script. This SQL script then needs to be ma
|
||||||
|
|
||||||
mvn -f testsuite/integration-arquillian/tests/base/pom.xml \
|
mvn -f testsuite/integration-arquillian/tests/base/pom.xml \
|
||||||
clean install \
|
clean install \
|
||||||
-Pauth-server-wildfly \
|
-Pauth-server-wildfly,test-70-migration \
|
||||||
-Dskip.add.user.json=true \
|
-Dskip.add.user.json=true \
|
||||||
-Dmigrated.auth.server.version=1.9.8.Final \
|
-Dtest=MigrationTest
|
||||||
-Dtest=MigrationTest
|
|
||||||
|
|
||||||
### JSON export/import migration test
|
### JSON export/import migration test
|
||||||
This will start latest Keycloak and import the realm JSON file, which was previously exported from Keycloak 1.9.8.Final
|
This will start latest Keycloak and import the realm JSON file, which was previously exported from Keycloak 1.9.8.Final
|
||||||
|
@ -304,10 +306,9 @@ This will start latest Keycloak and import the realm JSON file, which was previo
|
||||||
|
|
||||||
mvn -f testsuite/integration-arquillian/pom.xml \
|
mvn -f testsuite/integration-arquillian/pom.xml \
|
||||||
clean install \
|
clean install \
|
||||||
-Pauth-server-wildfly,migration-import \
|
-Pauth-server-wildfly,migration-import,test-70-migration \
|
||||||
-Dtest=MigrationTest \
|
-Dtest=MigrationTest \
|
||||||
-Dmigration.mode=import \
|
-Dmigration.mode=import
|
||||||
-Dmigrated.auth.server.version=1.9.8.Final
|
|
||||||
|
|
||||||
|
|
||||||
## Server configuration migration test
|
## Server configuration migration test
|
||||||
|
|
|
@ -71,8 +71,9 @@
|
||||||
|
|
||||||
<!--migration properties-->
|
<!--migration properties-->
|
||||||
<migration.70.version>1.9.8.Final</migration.70.version>
|
<migration.70.version>1.9.8.Final</migration.70.version>
|
||||||
<migration.70.authz.version>2.2.1.Final</migration.70.authz.version>
|
|
||||||
<migration.71.version>2.5.5.Final</migration.71.version>
|
<migration.71.version>2.5.5.Final</migration.71.version>
|
||||||
|
<migration.72.version>3.4.3.Final</migration.72.version>
|
||||||
|
|
||||||
<google.guava.version>23.0</google.guava.version>
|
<google.guava.version>23.0</google.guava.version>
|
||||||
|
|
||||||
<maven.compiler.target>1.8</maven.compiler.target>
|
<maven.compiler.target>1.8</maven.compiler.target>
|
||||||
|
@ -280,26 +281,6 @@
|
||||||
</pluginManagement>
|
</pluginManagement>
|
||||||
</build>
|
</build>
|
||||||
</profile>
|
</profile>
|
||||||
<profile>
|
|
||||||
<id>test-70-authz-migration</id>
|
|
||||||
<properties>
|
|
||||||
<migrated.auth.server.version>${migration.70.authz.version}</migrated.auth.server.version>
|
|
||||||
</properties>
|
|
||||||
<build>
|
|
||||||
<pluginManagement>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<artifactId>maven-surefire-plugin</artifactId>
|
|
||||||
<configuration>
|
|
||||||
<systemPropertyVariables>
|
|
||||||
<migrated.auth.server.version>${migrated.auth.server.version}</migrated.auth.server.version>
|
|
||||||
</systemPropertyVariables>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</pluginManagement>
|
|
||||||
</build>
|
|
||||||
</profile>
|
|
||||||
<profile>
|
<profile>
|
||||||
<id>test-71-migration</id>
|
<id>test-71-migration</id>
|
||||||
<properties>
|
<properties>
|
||||||
|
@ -320,6 +301,26 @@
|
||||||
</pluginManagement>
|
</pluginManagement>
|
||||||
</build>
|
</build>
|
||||||
</profile>
|
</profile>
|
||||||
|
<profile>
|
||||||
|
<id>test-72-migration</id>
|
||||||
|
<properties>
|
||||||
|
<migrated.auth.server.version>${migration.72.version}</migrated.auth.server.version>
|
||||||
|
</properties>
|
||||||
|
<build>
|
||||||
|
<pluginManagement>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<systemPropertyVariables>
|
||||||
|
<migrated.auth.server.version>${migrated.auth.server.version}</migrated.auth.server.version>
|
||||||
|
</systemPropertyVariables>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</pluginManagement>
|
||||||
|
</build>
|
||||||
|
</profile>
|
||||||
</profiles>
|
</profiles>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|
|
@ -91,9 +91,4 @@ public class MigrationTest extends AbstractMigrationTest {
|
||||||
testMigrationTo4_x(false, false);
|
testMigrationTo4_x(false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
@Migration(versionFrom = "2.2.1.Final")
|
|
||||||
public void migrationInAuthorizationServicesTest() {
|
|
||||||
testDroolsToRulesPolicyTypeMigration();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,615 +0,0 @@
|
||||||
{
|
|
||||||
"id": "authorization",
|
|
||||||
"realm": "authorization",
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "0bd13931-f428-44e6-96ee-18ba82a6243d",
|
|
||||||
"clientId": "photoz-restful-api",
|
|
||||||
"baseUrl": "/photoz-restful-api",
|
|
||||||
"surrogateAuthRequired": false,
|
|
||||||
"enabled": true,
|
|
||||||
"clientAuthenticatorType": "client-secret",
|
|
||||||
"secret": "secret",
|
|
||||||
"redirectUris": [
|
|
||||||
"/photoz-restful-api/*"
|
|
||||||
],
|
|
||||||
"webOrigins": [
|
|
||||||
"*"
|
|
||||||
],
|
|
||||||
"notBefore": 0,
|
|
||||||
"bearerOnly": false,
|
|
||||||
"consentRequired": false,
|
|
||||||
"standardFlowEnabled": true,
|
|
||||||
"implicitFlowEnabled": false,
|
|
||||||
"directAccessGrantsEnabled": false,
|
|
||||||
"serviceAccountsEnabled": true,
|
|
||||||
"authorizationServicesEnabled": true,
|
|
||||||
"publicClient": false,
|
|
||||||
"frontchannelLogout": false,
|
|
||||||
"attributes": {},
|
|
||||||
"fullScopeAllowed": true,
|
|
||||||
"nodeReRegistrationTimeout": -1,
|
|
||||||
"protocolMappers": [
|
|
||||||
{
|
|
||||||
"id": "71c43c1d-daee-41d5-87a9-ee8ab49e2f80",
|
|
||||||
"name": "email",
|
|
||||||
"protocol": "openid-connect",
|
|
||||||
"protocolMapper": "oidc-usermodel-property-mapper",
|
|
||||||
"consentRequired": true,
|
|
||||||
"consentText": "${email}",
|
|
||||||
"config": {
|
|
||||||
"userinfo.token.claim": "true",
|
|
||||||
"user.attribute": "email",
|
|
||||||
"id.token.claim": "true",
|
|
||||||
"access.token.claim": "true",
|
|
||||||
"claim.name": "email",
|
|
||||||
"jsonType.label": "String"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "18778057-3bd3-4775-84d5-93581c720854",
|
|
||||||
"name": "full name",
|
|
||||||
"protocol": "openid-connect",
|
|
||||||
"protocolMapper": "oidc-full-name-mapper",
|
|
||||||
"consentRequired": true,
|
|
||||||
"consentText": "${fullName}",
|
|
||||||
"config": {
|
|
||||||
"id.token.claim": "true",
|
|
||||||
"access.token.claim": "true"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "e6a5752b-db2c-4df4-a321-e0c2736a6a84",
|
|
||||||
"name": "given name",
|
|
||||||
"protocol": "openid-connect",
|
|
||||||
"protocolMapper": "oidc-usermodel-property-mapper",
|
|
||||||
"consentRequired": true,
|
|
||||||
"consentText": "${givenName}",
|
|
||||||
"config": {
|
|
||||||
"userinfo.token.claim": "true",
|
|
||||||
"user.attribute": "firstName",
|
|
||||||
"id.token.claim": "true",
|
|
||||||
"access.token.claim": "true",
|
|
||||||
"claim.name": "given_name",
|
|
||||||
"jsonType.label": "String"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "46802dfe-5937-4f49-9a57-6e8b2309141b",
|
|
||||||
"name": "family name",
|
|
||||||
"protocol": "openid-connect",
|
|
||||||
"protocolMapper": "oidc-usermodel-property-mapper",
|
|
||||||
"consentRequired": true,
|
|
||||||
"consentText": "${familyName}",
|
|
||||||
"config": {
|
|
||||||
"userinfo.token.claim": "true",
|
|
||||||
"user.attribute": "lastName",
|
|
||||||
"id.token.claim": "true",
|
|
||||||
"access.token.claim": "true",
|
|
||||||
"claim.name": "family_name",
|
|
||||||
"jsonType.label": "String"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "d0989fb6-45fc-4722-8940-0357c9030016",
|
|
||||||
"name": "role list",
|
|
||||||
"protocol": "saml",
|
|
||||||
"protocolMapper": "saml-role-list-mapper",
|
|
||||||
"consentRequired": false,
|
|
||||||
"config": {
|
|
||||||
"single": "false",
|
|
||||||
"attribute.nameformat": "Basic",
|
|
||||||
"attribute.name": "Role"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "980ec856-fea0-4631-a729-4d1a246b7e13",
|
|
||||||
"name": "username",
|
|
||||||
"protocol": "openid-connect",
|
|
||||||
"protocolMapper": "oidc-usermodel-property-mapper",
|
|
||||||
"consentRequired": true,
|
|
||||||
"consentText": "${username}",
|
|
||||||
"config": {
|
|
||||||
"userinfo.token.claim": "true",
|
|
||||||
"user.attribute": "username",
|
|
||||||
"id.token.claim": "true",
|
|
||||||
"access.token.claim": "true",
|
|
||||||
"claim.name": "preferred_username",
|
|
||||||
"jsonType.label": "String"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"useTemplateConfig": false,
|
|
||||||
"useTemplateScope": false,
|
|
||||||
"useTemplateMappers": false,
|
|
||||||
"authorizationSettings": {
|
|
||||||
"allowRemoteResourceManagement": true,
|
|
||||||
"policyEnforcementMode": "ENFORCING",
|
|
||||||
"resources": [
|
|
||||||
{
|
|
||||||
"name": "User Profile Resource",
|
|
||||||
"uri": "/profile",
|
|
||||||
"type": "http://photoz.com/profile",
|
|
||||||
"scopes": [
|
|
||||||
{
|
|
||||||
"name": "urn:photoz.com:scopes:profile:view"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Album Resource",
|
|
||||||
"uri": "/album/*",
|
|
||||||
"type": "http://photoz.com/album",
|
|
||||||
"scopes": [
|
|
||||||
{
|
|
||||||
"name": "urn:photoz.com:scopes:album:view"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "urn:photoz.com:scopes:album:create"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "urn:photoz.com:scopes:album:delete"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Admin Resources",
|
|
||||||
"uri": "/admin/*",
|
|
||||||
"type": "http://photoz.com/admin",
|
|
||||||
"scopes": [
|
|
||||||
{
|
|
||||||
"name": "urn:photoz.com:scopes:album:admin:manage"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"policies": [
|
|
||||||
{
|
|
||||||
"name": "Only Owner Policy",
|
|
||||||
"description": "Defines that only the resource owner is allowed to do something",
|
|
||||||
"type": "drools",
|
|
||||||
"logic": "POSITIVE",
|
|
||||||
"decisionStrategy": "UNANIMOUS",
|
|
||||||
"config": {
|
|
||||||
"mavenArtifactVersion": "${project.version}",
|
|
||||||
"mavenArtifactId": "photoz-authz-policy",
|
|
||||||
"sessionName": "MainOwnerSession",
|
|
||||||
"mavenArtifactGroupId": "org.keycloak",
|
|
||||||
"moduleName": "PhotozAuthzOwnerPolicy",
|
|
||||||
"scannerPeriod": "1",
|
|
||||||
"scannerPeriodUnit": "Hours"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"scopes": [
|
|
||||||
{
|
|
||||||
"name": "urn:photoz.com:scopes:profile:view"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "urn:photoz.com:scopes:album:view"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "urn:photoz.com:scopes:album:create"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "urn:photoz.com:scopes:album:delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "urn:photoz.com:scopes:album:admin:manage"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"clientTemplates": [],
|
|
||||||
"browserSecurityHeaders": {
|
|
||||||
"xContentTypeOptions": "nosniff",
|
|
||||||
"xFrameOptions": "SAMEORIGIN",
|
|
||||||
"contentSecurityPolicy": "frame-src 'self'"
|
|
||||||
},
|
|
||||||
"smtpServer": {},
|
|
||||||
"eventsEnabled": false,
|
|
||||||
"eventsListeners": [
|
|
||||||
"jboss-logging"
|
|
||||||
],
|
|
||||||
"enabledEventTypes": [],
|
|
||||||
"adminEventsEnabled": false,
|
|
||||||
"adminEventsDetailsEnabled": false,
|
|
||||||
"components": {},
|
|
||||||
"internationalizationEnabled": false,
|
|
||||||
"supportedLocales": [],
|
|
||||||
"authenticationFlows": [
|
|
||||||
{
|
|
||||||
"id": "efc32428-2d66-4eab-9c72-3d3072bfe123",
|
|
||||||
"alias": "Handle Existing Account",
|
|
||||||
"description": "Handle what to do if there is existing account with same email/username like authenticated identity provider",
|
|
||||||
"providerId": "basic-flow",
|
|
||||||
"topLevel": false,
|
|
||||||
"builtIn": true,
|
|
||||||
"authenticationExecutions": [
|
|
||||||
{
|
|
||||||
"authenticator": "idp-confirm-link",
|
|
||||||
"requirement": "REQUIRED",
|
|
||||||
"priority": 10,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"authenticator": "idp-email-verification",
|
|
||||||
"requirement": "ALTERNATIVE",
|
|
||||||
"priority": 20,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"requirement": "ALTERNATIVE",
|
|
||||||
"priority": 30,
|
|
||||||
"flowAlias": "Verify Existing Account by Re-authentication",
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "9e760226-9a88-4fc8-adb0-db9c39cdcbc9",
|
|
||||||
"alias": "Verify Existing Account by Re-authentication",
|
|
||||||
"description": "Reauthentication of existing account",
|
|
||||||
"providerId": "basic-flow",
|
|
||||||
"topLevel": false,
|
|
||||||
"builtIn": true,
|
|
||||||
"authenticationExecutions": [
|
|
||||||
{
|
|
||||||
"authenticator": "idp-username-password-form",
|
|
||||||
"requirement": "REQUIRED",
|
|
||||||
"priority": 10,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"authenticator": "auth-otp-form",
|
|
||||||
"requirement": "OPTIONAL",
|
|
||||||
"priority": 20,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "f8b31433-d2b0-424a-b800-cc20e7276113",
|
|
||||||
"alias": "browser",
|
|
||||||
"description": "browser based authentication",
|
|
||||||
"providerId": "basic-flow",
|
|
||||||
"topLevel": true,
|
|
||||||
"builtIn": true,
|
|
||||||
"authenticationExecutions": [
|
|
||||||
{
|
|
||||||
"authenticator": "auth-cookie",
|
|
||||||
"requirement": "ALTERNATIVE",
|
|
||||||
"priority": 10,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"authenticator": "auth-spnego",
|
|
||||||
"requirement": "DISABLED",
|
|
||||||
"priority": 20,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"authenticator": "identity-provider-redirector",
|
|
||||||
"requirement": "ALTERNATIVE",
|
|
||||||
"priority": 25,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"requirement": "ALTERNATIVE",
|
|
||||||
"priority": 30,
|
|
||||||
"flowAlias": "forms",
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "d616b91c-5e69-4792-a770-41bdbfeca227",
|
|
||||||
"alias": "clients",
|
|
||||||
"description": "Base authentication for clients",
|
|
||||||
"providerId": "client-flow",
|
|
||||||
"topLevel": true,
|
|
||||||
"builtIn": true,
|
|
||||||
"authenticationExecutions": [
|
|
||||||
{
|
|
||||||
"authenticator": "client-secret",
|
|
||||||
"requirement": "ALTERNATIVE",
|
|
||||||
"priority": 10,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"authenticator": "client-jwt",
|
|
||||||
"requirement": "ALTERNATIVE",
|
|
||||||
"priority": 20,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "7be60a19-1b3e-4255-9ce5-44fa90694e4e",
|
|
||||||
"alias": "direct grant",
|
|
||||||
"description": "OpenID Connect Resource Owner Grant",
|
|
||||||
"providerId": "basic-flow",
|
|
||||||
"topLevel": true,
|
|
||||||
"builtIn": true,
|
|
||||||
"authenticationExecutions": [
|
|
||||||
{
|
|
||||||
"authenticator": "direct-grant-validate-username",
|
|
||||||
"requirement": "REQUIRED",
|
|
||||||
"priority": 10,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"authenticator": "direct-grant-validate-password",
|
|
||||||
"requirement": "REQUIRED",
|
|
||||||
"priority": 20,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"authenticator": "direct-grant-validate-otp",
|
|
||||||
"requirement": "OPTIONAL",
|
|
||||||
"priority": 30,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "ac2fe144-8e41-4c59-be25-38532b7fdc7b",
|
|
||||||
"alias": "first broker login",
|
|
||||||
"description": "Actions taken after first broker login with identity provider account, which is not yet linked to any Keycloak account",
|
|
||||||
"providerId": "basic-flow",
|
|
||||||
"topLevel": true,
|
|
||||||
"builtIn": true,
|
|
||||||
"authenticationExecutions": [
|
|
||||||
{
|
|
||||||
"authenticatorConfig": "review profile config",
|
|
||||||
"authenticator": "idp-review-profile",
|
|
||||||
"requirement": "REQUIRED",
|
|
||||||
"priority": 10,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"authenticatorConfig": "create unique user config",
|
|
||||||
"authenticator": "idp-create-user-if-unique",
|
|
||||||
"requirement": "ALTERNATIVE",
|
|
||||||
"priority": 20,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"requirement": "ALTERNATIVE",
|
|
||||||
"priority": 30,
|
|
||||||
"flowAlias": "Handle Existing Account",
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "024d04a3-e497-429b-9599-c7baadb1ddbc",
|
|
||||||
"alias": "forms",
|
|
||||||
"description": "Username, password, otp and other auth forms.",
|
|
||||||
"providerId": "basic-flow",
|
|
||||||
"topLevel": false,
|
|
||||||
"builtIn": true,
|
|
||||||
"authenticationExecutions": [
|
|
||||||
{
|
|
||||||
"authenticator": "auth-username-password-form",
|
|
||||||
"requirement": "REQUIRED",
|
|
||||||
"priority": 10,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"authenticator": "auth-otp-form",
|
|
||||||
"requirement": "OPTIONAL",
|
|
||||||
"priority": 20,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "0d08b35b-3aa9-4291-baf2-fd272113bdf5",
|
|
||||||
"alias": "registration",
|
|
||||||
"description": "registration flow",
|
|
||||||
"providerId": "basic-flow",
|
|
||||||
"topLevel": true,
|
|
||||||
"builtIn": true,
|
|
||||||
"authenticationExecutions": [
|
|
||||||
{
|
|
||||||
"authenticator": "registration-page-form",
|
|
||||||
"requirement": "REQUIRED",
|
|
||||||
"priority": 10,
|
|
||||||
"flowAlias": "registration form",
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "85945bc3-661b-4c0b-bb38-415e71c858d6",
|
|
||||||
"alias": "registration form",
|
|
||||||
"description": "registration form",
|
|
||||||
"providerId": "form-flow",
|
|
||||||
"topLevel": false,
|
|
||||||
"builtIn": true,
|
|
||||||
"authenticationExecutions": [
|
|
||||||
{
|
|
||||||
"authenticator": "registration-user-creation",
|
|
||||||
"requirement": "REQUIRED",
|
|
||||||
"priority": 20,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"authenticator": "registration-profile-action",
|
|
||||||
"requirement": "REQUIRED",
|
|
||||||
"priority": 40,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"authenticator": "registration-password-action",
|
|
||||||
"requirement": "REQUIRED",
|
|
||||||
"priority": 50,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"authenticator": "registration-recaptcha-action",
|
|
||||||
"requirement": "DISABLED",
|
|
||||||
"priority": 60,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "0603f7b0-5da7-4f06-a5b9-f74b996e6e4a",
|
|
||||||
"alias": "reset credentials",
|
|
||||||
"description": "Reset credentials for a user if they forgot their password or something",
|
|
||||||
"providerId": "basic-flow",
|
|
||||||
"topLevel": true,
|
|
||||||
"builtIn": true,
|
|
||||||
"authenticationExecutions": [
|
|
||||||
{
|
|
||||||
"authenticator": "reset-credentials-choose-user",
|
|
||||||
"requirement": "REQUIRED",
|
|
||||||
"priority": 10,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"authenticator": "reset-credential-email",
|
|
||||||
"requirement": "REQUIRED",
|
|
||||||
"priority": 20,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"authenticator": "reset-password",
|
|
||||||
"requirement": "REQUIRED",
|
|
||||||
"priority": 30,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"authenticator": "reset-otp",
|
|
||||||
"requirement": "OPTIONAL",
|
|
||||||
"priority": 40,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "2053759f-2888-488d-bde2-17470e18973d",
|
|
||||||
"alias": "saml ecp",
|
|
||||||
"description": "SAML ECP Profile Authentication Flow",
|
|
||||||
"providerId": "basic-flow",
|
|
||||||
"topLevel": true,
|
|
||||||
"builtIn": true,
|
|
||||||
"authenticationExecutions": [
|
|
||||||
{
|
|
||||||
"authenticator": "http-basic-authenticator",
|
|
||||||
"requirement": "REQUIRED",
|
|
||||||
"priority": 10,
|
|
||||||
"userSetupAllowed": false,
|
|
||||||
"autheticatorFlow": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"authenticatorConfig": [
|
|
||||||
{
|
|
||||||
"id": "e8986891-5123-489c-8693-062442567069",
|
|
||||||
"alias": "create unique user config",
|
|
||||||
"config": {
|
|
||||||
"require.password.update.after.registration": "false"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "6ad5443c-6b33-4507-a339-e0399c3e5a59",
|
|
||||||
"alias": "review profile config",
|
|
||||||
"config": {
|
|
||||||
"update.profile.on.first.login": "missing"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"requiredActions": [
|
|
||||||
{
|
|
||||||
"alias": "CONFIGURE_TOTP",
|
|
||||||
"name": "Configure OTP",
|
|
||||||
"providerId": "CONFIGURE_TOTP",
|
|
||||||
"enabled": true,
|
|
||||||
"defaultAction": false,
|
|
||||||
"config": {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"alias": "UPDATE_PASSWORD",
|
|
||||||
"name": "Update Password",
|
|
||||||
"providerId": "UPDATE_PASSWORD",
|
|
||||||
"enabled": true,
|
|
||||||
"defaultAction": false,
|
|
||||||
"config": {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"alias": "UPDATE_PROFILE",
|
|
||||||
"name": "Update Profile",
|
|
||||||
"providerId": "UPDATE_PROFILE",
|
|
||||||
"enabled": true,
|
|
||||||
"defaultAction": false,
|
|
||||||
"config": {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"alias": "VERIFY_EMAIL",
|
|
||||||
"name": "Verify Email",
|
|
||||||
"providerId": "VERIFY_EMAIL",
|
|
||||||
"enabled": true,
|
|
||||||
"defaultAction": false,
|
|
||||||
"config": {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"alias": "terms_and_conditions",
|
|
||||||
"name": "Terms and Conditions",
|
|
||||||
"providerId": "terms_and_conditions",
|
|
||||||
"enabled": false,
|
|
||||||
"defaultAction": false,
|
|
||||||
"config": {}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"browserFlow": "browser",
|
|
||||||
"registrationFlow": "registration",
|
|
||||||
"directGrantFlow": "direct grant",
|
|
||||||
"resetCredentialsFlow": "reset credentials",
|
|
||||||
"clientAuthenticationFlow": "clients",
|
|
||||||
"attributes": {
|
|
||||||
"_browser_header.xFrameOptions": "SAMEORIGIN",
|
|
||||||
"failureFactor": "30",
|
|
||||||
"quickLoginCheckMilliSeconds": "1000",
|
|
||||||
"maxDeltaTimeSeconds": "43200",
|
|
||||||
"_browser_header.xContentTypeOptions": "nosniff",
|
|
||||||
"bruteForceProtected": "false",
|
|
||||||
"maxFailureWaitSeconds": "900",
|
|
||||||
"_browser_header.contentSecurityPolicy": "frame-src 'self'",
|
|
||||||
"minimumQuickLoginWaitSeconds": "60",
|
|
||||||
"waitIncrementSeconds": "60"
|
|
||||||
},
|
|
||||||
"keycloakVersion": "2.2.1.Final"
|
|
||||||
}
|
|
|
@ -2560,7 +2560,7 @@
|
||||||
"standardFlowEnabled" : true,
|
"standardFlowEnabled" : true,
|
||||||
"implicitFlowEnabled" : false,
|
"implicitFlowEnabled" : false,
|
||||||
"directAccessGrantsEnabled" : false,
|
"directAccessGrantsEnabled" : false,
|
||||||
"serviceAccountsEnabled" : false,
|
"serviceAccountsEnabled" : true,
|
||||||
"publicClient" : false,
|
"publicClient" : false,
|
||||||
"frontchannelLogout" : false,
|
"frontchannelLogout" : false,
|
||||||
"attributes" : { },
|
"attributes" : { },
|
||||||
|
@ -2651,7 +2651,32 @@
|
||||||
} ],
|
} ],
|
||||||
"useTemplateConfig" : false,
|
"useTemplateConfig" : false,
|
||||||
"useTemplateScope" : false,
|
"useTemplateScope" : false,
|
||||||
"useTemplateMappers" : false
|
"useTemplateMappers" : false,
|
||||||
|
"authorizationServicesEnabled": true,
|
||||||
|
"authorizationSettings": {
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"name": "group.resource.a",
|
||||||
|
"scopes": ["view-members"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "group.resource.b",
|
||||||
|
"scopes": ["view-members"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "group.resource.c",
|
||||||
|
"scopes": ["view-members"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "group.resource.d",
|
||||||
|
"scopes": ["view-members"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "group.resource.e",
|
||||||
|
"scopes": ["view-members"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
}, {
|
}, {
|
||||||
"id" : "401e0c86-afd1-4f4f-8322-32b05222bd06",
|
"id" : "401e0c86-afd1-4f4f-8322-32b05222bd06",
|
||||||
"clientId" : "security-admin-console",
|
"clientId" : "security-admin-console",
|
||||||
|
|
|
@ -766,7 +766,7 @@
|
||||||
"standardFlowEnabled" : true,
|
"standardFlowEnabled" : true,
|
||||||
"implicitFlowEnabled" : false,
|
"implicitFlowEnabled" : false,
|
||||||
"directAccessGrantsEnabled" : false,
|
"directAccessGrantsEnabled" : false,
|
||||||
"serviceAccountsEnabled" : false,
|
"serviceAccountsEnabled" : true,
|
||||||
"publicClient" : false,
|
"publicClient" : false,
|
||||||
"frontchannelLogout" : false,
|
"frontchannelLogout" : false,
|
||||||
"protocol" : "openid-connect",
|
"protocol" : "openid-connect",
|
||||||
|
@ -859,7 +859,6 @@
|
||||||
"useTemplateConfig" : false,
|
"useTemplateConfig" : false,
|
||||||
"useTemplateScope" : false,
|
"useTemplateScope" : false,
|
||||||
"useTemplateMappers" : false,
|
"useTemplateMappers" : false,
|
||||||
"serviceAccountsEnabled": true,
|
|
||||||
"authorizationServicesEnabled": true,
|
"authorizationServicesEnabled": true,
|
||||||
"authorizationSettings": {
|
"authorizationSettings": {
|
||||||
"resources": [
|
"resources": [
|
||||||
|
|
Loading…
Reference in a new issue