diff --git a/testsuite/integration-arquillian/tests/other/mod_auth_mellon/pom.xml b/testsuite/integration-arquillian/tests/other/mod_auth_mellon/pom.xml new file mode 100644 index 0000000000..00c1f27492 --- /dev/null +++ b/testsuite/integration-arquillian/tests/other/mod_auth_mellon/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + org.keycloak.testsuite + integration-arquillian-tests-other + 1.9.0.CR1-SNAPSHOT + + + integration-arquillian-tests-other-mod_auth_mellon + + Mod_auth_mellon tests + + \ No newline at end of file diff --git a/testsuite/integration-arquillian/tests/other/mod_auth_mellon/src/main/java/org/keycloak/testsuite/mod_auth_mellon/ModAuthMellonProtectedResource.java b/testsuite/integration-arquillian/tests/other/mod_auth_mellon/src/main/java/org/keycloak/testsuite/mod_auth_mellon/ModAuthMellonProtectedResource.java new file mode 100644 index 0000000000..fafecf73f8 --- /dev/null +++ b/testsuite/integration-arquillian/tests/other/mod_auth_mellon/src/main/java/org/keycloak/testsuite/mod_auth_mellon/ModAuthMellonProtectedResource.java @@ -0,0 +1,32 @@ +package org.keycloak.testsuite.mod_auth_mellon; + +import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; + +import java.net.MalformedURLException; +import java.net.URL; + +/** + * @author mhajas + */ +public class ModAuthMellonProtectedResource extends AbstractPageWithInjectedUrl{ + + @FindBy(linkText = "logout") + private WebElement logoutButton; + + @Override + public URL getInjectedUrl() { + try { + return new URL(System.getProperty("apache.mod_auth_mellon.url","http://localhost:8380") + "/auth"); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + + return null; + } + + public void logout() { + logoutButton.click(); + } +} diff --git a/testsuite/integration-arquillian/tests/other/mod_auth_mellon/src/main/java/org/keycloak/testsuite/mod_auth_mellon/ModAuthMellonUnprotectedResource.java b/testsuite/integration-arquillian/tests/other/mod_auth_mellon/src/main/java/org/keycloak/testsuite/mod_auth_mellon/ModAuthMellonUnprotectedResource.java new file mode 100644 index 0000000000..76170bf129 --- /dev/null +++ b/testsuite/integration-arquillian/tests/other/mod_auth_mellon/src/main/java/org/keycloak/testsuite/mod_auth_mellon/ModAuthMellonUnprotectedResource.java @@ -0,0 +1,23 @@ +package org.keycloak.testsuite.mod_auth_mellon; + +import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl; + +import java.net.MalformedURLException; +import java.net.URL; + +/** + * @author mhajas + */ +public class ModAuthMellonUnprotectedResource extends AbstractPageWithInjectedUrl{ + + @Override + public URL getInjectedUrl() { + try { + return new URL(System.getProperty("apache.mod_auth_mellon.url","http://localhost:8380/")); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + + return null; + } +} diff --git a/testsuite/integration-arquillian/tests/other/mod_auth_mellon/src/test/java/org/keycloak/testsuite/mod_auth_mellon/ModAuthMellonTest.java b/testsuite/integration-arquillian/tests/other/mod_auth_mellon/src/test/java/org/keycloak/testsuite/mod_auth_mellon/ModAuthMellonTest.java new file mode 100644 index 0000000000..1e55cfdf0e --- /dev/null +++ b/testsuite/integration-arquillian/tests/other/mod_auth_mellon/src/test/java/org/keycloak/testsuite/mod_auth_mellon/ModAuthMellonTest.java @@ -0,0 +1,49 @@ +package org.keycloak.testsuite.mod_auth_mellon; + +import org.jboss.arquillian.graphene.page.Page; +import org.junit.Test; +import org.keycloak.representations.idm.RealmRepresentation; +import org.keycloak.testsuite.AbstractAuthTest; +import org.keycloak.testsuite.util.URLAssert; + +import javax.xml.transform.TransformerException; +import java.util.List; + +import static org.junit.Assert.assertTrue; +import static org.keycloak.testsuite.util.IOUtil.loadRealm; + +/** + * @author mhajas + */ +public class ModAuthMellonTest extends AbstractAuthTest { + @Page + private ModAuthMellonProtectedResource modAuthMellonProtectedResourcePage; + + @Page + private ModAuthMellonUnprotectedResource modAuthMellonUnprotectedResourcePage; + + @Override + public void addTestRealms(List testRealms) { + testRealms.add(loadRealm("/mellon-realm.json")); + } + + @Test + public void modAuthMellonTest() throws TransformerException { + testRealmPage.setAuthRealm("mellon-test"); + testRealmSAMLLoginPage.setAuthRealm("mellon-test"); + + modAuthMellonUnprotectedResourcePage.navigateTo(); + assertTrue(driver.getPageSource().contains("Unprotected resource")); + + modAuthMellonProtectedResourcePage.navigateTo(); + URLAssert.assertCurrentUrlStartsWith(testRealmSAMLLoginPage); + testRealmSAMLLoginPage.form().login(bburkeUser); + assertTrue(driver.getPageSource().contains("Protected resource")); + + modAuthMellonProtectedResourcePage.logout(); + assertTrue(driver.getPageSource().contains("Unprotected resource")); + + modAuthMellonProtectedResourcePage.navigateTo(); + URLAssert.assertCurrentUrlStartsWith(testRealmSAMLLoginPage); + } +} diff --git a/testsuite/integration-arquillian/tests/other/mod_auth_mellon/src/test/resources/mellon-realm.json b/testsuite/integration-arquillian/tests/other/mod_auth_mellon/src/test/resources/mellon-realm.json new file mode 100644 index 0000000000..7c2c624995 --- /dev/null +++ b/testsuite/integration-arquillian/tests/other/mod_auth_mellon/src/test/resources/mellon-realm.json @@ -0,0 +1,1169 @@ +{ + "id" : "mellon-test", + "realm" : "mellon-test", + "notBefore" : 1453206021, + "revokeRefreshToken" : false, + "accessTokenLifespan" : 300, + "accessTokenLifespanForImplicitFlow" : 900, + "ssoSessionIdleTimeout" : 1800, + "ssoSessionMaxLifespan" : 36000, + "offlineSessionIdleTimeout" : 2592000, + "accessCodeLifespan" : 60, + "accessCodeLifespanUserAction" : 300, + "accessCodeLifespanLogin" : 1800, + "enabled" : true, + "sslRequired" : "external", + "registrationAllowed" : false, + "registrationEmailAsUsername" : false, + "rememberMe" : false, + "verifyEmail" : false, + "resetPasswordAllowed" : false, + "editUsernameAllowed" : false, + "bruteForceProtected" : false, + "maxFailureWaitSeconds" : 900, + "minimumQuickLoginWaitSeconds" : 60, + "waitIncrementSeconds" : 60, + "quickLoginCheckMilliSeconds" : 1000, + "maxDeltaTimeSeconds" : 43200, + "failureFactor" : 30, + "privateKey" : "MIIEogIBAAKCAQEApaZ6nndLegc+aKXNog08KdWOIZfr393e0nlqZ3SzNCYJ+IrSAWepCNvUW4W0samrtC47XBYNJwBSw9KCLNcpOeR7IC+gtmm8t9VH0QRxDEOvoLoj0zMkuaBhF+1NZdt6kc5gYVSeymkFSG/Eyz06Zo9zfhb52tUK83hYPcRE2azBDAuffnnHGg+fiCMZtMz7qCYXSoGy15odM1AypILDGxCtDpk0nPmwp6AlA7LpWLKYFEXrXhPmZGw2eDA6FqLFYgBovffJzFy1WzqpAzpKbYqVbb/yKUbv5NI4ELlOdjvXfoB7wOp3cHwnuq1G8YjR7OKLeVtszKXUPCjwFSZnFwIDAQABAoIBAHF2mOLWX7KUJ6FSgImRezZEevhzsTNELA4K8GEwxFbh/05o9/PSZywUN18BNIXE7EGcsTggOp4OUKKlHFlOf4SSBexD81c/Ee7xfiGjYzO9YR08orFVhMBJJHhZKPyt20ToEYhZh/KpAN9e/3Me21PIypkBb97+smOWeQrF10spOHoJEoM5FUFHIDQN+i5mqavnzzCASmGNPB7UC+3ax6xRyTdlsEvXWKWaYlETu8lPMqGBW6Bx+XagcxxmIXNiydsYDSVKLVPHB/IeP4UfRiT77EYBZo0uUnCEi8Ff3lMvuEfA3d110166exOpyw9RgCTLdyQi1Mkk+1TT4T7p6hECgYEA35I5R3XizRMx6cS9i8nEmtdAkuPdoT9HbfXa39rkbHEgPemIUrc4ZOts8+V1EvNZLxWpPvqLGJqJCj/lbiVyvbYBXLXFBuhvsR52/sZm8cheIozqfk9WIUcMQJi8vc4upL/AW2kevvsda7t3wNqbVsvaJwiKT7acxnruEO+xz8UCgYEAva2A1f73NwLE7bCcTNi+oPg2/jM//Y5hIyq02Tzv5EUsXLTdAt+5N8UUP6+swKmD6G/5EG3QK2oL0AXq7tW1xAC05b86jyp6rSj2hl7SQWkQv6ZwTdJRErEfgsz459Lp7G6nRozPoMEdqouhbbiCKCPIpYA28xFZVd+128QFjSsCgYBv2USktppvxGGdNRsq2xdr67JXin4vlGvU3EHS6jyK8BGUR8g2sYkaHBnW7v2iLHJ6ttiENG3wMifLI+pRL5T2yh5mVl2qthBiyP35OiL4ZSiLGnqaFHDflx7PFlqejo8RRwkh8jY6j4DJi/E+X1+Fjdim3IPtm0tVlNyTRodrjQKBgHQC7s30SBgpZXFLmA2Yc9/YcSpBBl56+wabVEmab89aT6vUI2lilNJ7g8sAE9Uy2S8NbXSS9cPX9KmjNPInXCkplXr/3z05ahcG+uFslYTUUh4mGoI+pL+d/fvuij6gTdsCQuVvsn5MH2z0QiPtug369Pnk1bcNYWqYjY6A8jRJAoGAHK9D9ZJkK1HenjykOZm/gEh5Uw0gg0SZTPYqoyofXnoXnlm9sHz7P3kos/A1IXQvgXeZ2K/wO84QBqlHdlLRJFm5VLdo5O/QA/isfyUU2Q5N8rq0LUgMoMyXm7ayUKvRgj0sQawSkMVwv32EiChXx8kOqF8GZureWdYPM7gSWCI=", + "publicKey" : "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApaZ6nndLegc+aKXNog08KdWOIZfr393e0nlqZ3SzNCYJ+IrSAWepCNvUW4W0samrtC47XBYNJwBSw9KCLNcpOeR7IC+gtmm8t9VH0QRxDEOvoLoj0zMkuaBhF+1NZdt6kc5gYVSeymkFSG/Eyz06Zo9zfhb52tUK83hYPcRE2azBDAuffnnHGg+fiCMZtMz7qCYXSoGy15odM1AypILDGxCtDpk0nPmwp6AlA7LpWLKYFEXrXhPmZGw2eDA6FqLFYgBovffJzFy1WzqpAzpKbYqVbb/yKUbv5NI4ELlOdjvXfoB7wOp3cHwnuq1G8YjR7OKLeVtszKXUPCjwFSZnFwIDAQAB", + "certificate" : "MIICpTCCAY0CBgFSP3CJrTANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAttZWxsb24tdGVzdDAeFw0xNjAxMTQwOTE5NDVaFw0yNjAxMTQwOTIxMjVaMBYxFDASBgNVBAMMC21lbGxvbi10ZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApaZ6nndLegc+aKXNog08KdWOIZfr393e0nlqZ3SzNCYJ+IrSAWepCNvUW4W0samrtC47XBYNJwBSw9KCLNcpOeR7IC+gtmm8t9VH0QRxDEOvoLoj0zMkuaBhF+1NZdt6kc5gYVSeymkFSG/Eyz06Zo9zfhb52tUK83hYPcRE2azBDAuffnnHGg+fiCMZtMz7qCYXSoGy15odM1AypILDGxCtDpk0nPmwp6AlA7LpWLKYFEXrXhPmZGw2eDA6FqLFYgBovffJzFy1WzqpAzpKbYqVbb/yKUbv5NI4ELlOdjvXfoB7wOp3cHwnuq1G8YjR7OKLeVtszKXUPCjwFSZnFwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBwRkPh3pSAG1UWr1rJW9LMVdfu6KFsVTCMqExuJKUrH4hAPKXXi9iEAyiB/+NdnG8bgvU0xhdH9lW51J1JpH3xRtOMV+1CAZB41RFx1r/zJg0Zrdbfodv1UFJtLhSIKhKnfoSdlml2O9SHwd4VQmwz/QQqzBIS+yJDv7cOxMRszryWq5aWCPMosxwuAJzjwlF6jBHqidkd4EGTNMDK1pDZN1voiYS0ry7h7Lcq2ZbrBFzBqzHvXieym68ACDHr5hkKe065ne1hCgO/+POsAi6VU+qlSbzsD9NenHP60c9+Dt/IY9DeX6IubXChcW5A+qnb5qRWBtwXshfcsDFHYkBJ", + "codeSecret" : "6ed3c059-96b4-46d2-a385-c25ea96853ca", + "roles" : { + "realm" : [ { + "id" : "6314a145-4654-45b8-bc05-3b6a01e76236", + "name" : "test-Role", + "scopeParamRequired" : false, + "composite" : false + }, { + "id" : "773501e4-74d9-4559-aae6-76a07ab678ce", + "name" : "offline_access", + "description" : "${role_offline-access}", + "scopeParamRequired" : true, + "composite" : false + } ], + "client" : { + "realm-management" : [ { + "id" : "2a264cc0-53f3-42f0-893a-9db5c4b1fae4", + "name" : "view-identity-providers", + "description" : "${role_view-identity-providers}", + "scopeParamRequired" : false, + "composite" : false + }, { + "id" : "faaf1a94-63bf-48a7-9bf1-80150799f500", + "name" : "view-clients", + "description" : "${role_view-clients}", + "scopeParamRequired" : false, + "composite" : false + }, { + "id" : "f41abbff-87fe-45ac-8e67-4e677cabaa45", + "name" : "manage-users", + "description" : "${role_manage-users}", + "scopeParamRequired" : false, + "composite" : false + }, { + "id" : "d5ce0085-7e1d-4b31-ab14-babd84c42e41", + "name" : "create-client", + "description" : "${role_create-client}", + "scopeParamRequired" : false, + "composite" : false + }, { + "id" : "2cdf6320-2599-461c-a6d1-804d99c208c5", + "name" : "view-events", + "description" : "${role_view-events}", + "scopeParamRequired" : false, + "composite" : false + }, { + "id" : "9d251c40-6362-4acd-a88b-e3149f2735d2", + "name" : "manage-identity-providers", + "description" : "${role_manage-identity-providers}", + "scopeParamRequired" : false, + "composite" : false + }, { + "id" : "1acc7eb8-187a-4302-82c0-96ad713c2872", + "name" : "view-realm", + "description" : "${role_view-realm}", + "scopeParamRequired" : false, + "composite" : false + }, { + "id" : "2736520d-e0ec-4453-857b-215fbb64a458", + "name" : "impersonation", + "description" : "${role_impersonation}", + "scopeParamRequired" : false, + "composite" : false + }, { + "id" : "7b0c5330-16f2-4a57-b912-bca2b2b964be", + "name" : "realm-admin", + "description" : "${role_realm-admin}", + "scopeParamRequired" : false, + "composite" : true, + "composites" : { + "client" : { + "realm-management" : [ "view-realm", "view-clients", "view-identity-providers", "impersonation", "view-users", "manage-events", "manage-users", "create-client", "manage-clients", "view-events", "manage-realm", "manage-identity-providers" ] + } + } + }, { + "id" : "89d5a891-f59c-4ab5-85f1-59e1e6a6a980", + "name" : "view-users", + "description" : "${role_view-users}", + "scopeParamRequired" : false, + "composite" : false + }, { + "id" : "df1d7313-cdd5-48da-9189-ef935db6acbf", + "name" : "manage-events", + "description" : "${role_manage-events}", + "scopeParamRequired" : false, + "composite" : false + }, { + "id" : "319e28f5-7044-4788-a451-edfdcb8f5651", + "name" : "manage-clients", + "description" : "${role_manage-clients}", + "scopeParamRequired" : false, + "composite" : false + }, { + "id" : "42de8b5d-e03d-4e6c-b277-e8aed7771ced", + "name" : "manage-realm", + "description" : "${role_manage-realm}", + "scopeParamRequired" : false, + "composite" : false + } ], + "http://localhost:8380/auth" : [ ], + "security-admin-console" : [ ], + "admin-cli" : [ ], + "broker" : [ { + "id" : "b0fbb4b2-6632-4c26-8292-c90a64dbf145", + "name" : "read-token", + "description" : "${role_read-token}", + "scopeParamRequired" : false, + "composite" : false + } ], + "account" : [ { + "id" : "52fa45bc-116f-4b27-88f1-1d71a5096d2a", + "name" : "view-profile", + "description" : "${role_view-profile}", + "scopeParamRequired" : false, + "composite" : false + }, { + "id" : "2e63f1a2-3410-4a86-8938-1beea9e844fc", + "name" : "manage-account", + "description" : "${role_manage-account}", + "scopeParamRequired" : false, + "composite" : false + } ] + } + }, + "groups" : [ ], + "defaultRoles" : [ "offline_access" ], + "requiredCredentials" : [ "password" ], + "otpPolicyType" : "totp", + "otpPolicyAlgorithm" : "HmacSHA1", + "otpPolicyInitialCounter" : 0, + "otpPolicyDigits" : 6, + "otpPolicyLookAheadWindow" : 1, + "otpPolicyPeriod" : 30, + "users" : [ { + "id" : "df34636d-0ade-4843-9d85-68784c541bc9", + "createdTimestamp" : 1452774520942, + "username" : "bburke", + "enabled" : true, + "totp" : false, + "emailVerified" : false, + "credentials" : [ { + "type" : "password", + "hashedSaltedValue" : "J53IPqrQcatayK0PB3vY+sxz6Zc9rUwdFiSbMyaLNmvtcCkJ3WElIFAcsLoA7i+rwvQu/VrN+JGi32sxEzQVNg==", + "salt" : "sfDAWuC3Ue2DB9+WNmRWRw==", + "hashIterations" : 1, + "counter" : 0, + "algorithm" : "pbkdf2", + "digits" : 0 + } ], + "requiredActions" : [ ], + "realmRoles" : [ "offline_access" ], + "clientRoles" : { + "account" : [ "view-profile", "manage-account" ] + }, + "groups" : [ ] + } ], + "clientScopeMappings" : { + "realm-management" : [ { + "client" : "security-admin-console", + "roles" : [ "realm-admin" ] + }, { + "client" : "admin-cli", + "roles" : [ "realm-admin" ] + } ] + }, + "clients" : [ { + "id" : "f8845697-b112-4f6f-b57c-2e44982c79a7", + "clientId" : "realm-management", + "name" : "${client_realm-management}", + "surrogateAuthRequired" : false, + "enabled" : true, + "clientAuthenticatorType" : "client-secret", + "secret" : "686825d9-eb71-43d9-8b7f-b544818737ed", + "redirectUris" : [ ], + "webOrigins" : [ ], + "notBefore" : 0, + "bearerOnly" : true, + "consentRequired" : false, + "standardFlowEnabled" : true, + "implicitFlowEnabled" : false, + "directAccessGrantsEnabled" : false, + "serviceAccountsEnabled" : false, + "publicClient" : false, + "frontchannelLogout" : false, + "attributes" : { }, + "fullScopeAllowed" : false, + "nodeReRegistrationTimeout" : 0, + "protocolMappers" : [ { + "id" : "59caeba4-d33e-4e4e-975c-4aadad7d3c69", + "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" : "7249d460-9f90-4cce-9317-9d5f1f1c4c52", + "name" : "username", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${username}", + "config" : { + "user.attribute" : "username", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "preferred_username", + "jsonType.label" : "String" + } + }, { + "id" : "7fb85282-c1dc-4136-8895-fa9a7505fece", + "name" : "family name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${familyName}", + "config" : { + "user.attribute" : "lastName", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "family_name", + "jsonType.label" : "String" + } + }, { + "id" : "fe61f6df-4037-4679-ab4f-26d5e6a29a0a", + "name" : "role list", + "protocol" : "saml", + "protocolMapper" : "saml-role-list-mapper", + "consentRequired" : false, + "config" : { + "single" : "false", + "attribute.nameformat" : "Basic", + "attribute.name" : "Role" + } + }, { + "id" : "2b941187-4ef1-4576-8fcd-062a4637a154", + "name" : "given name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${givenName}", + "config" : { + "user.attribute" : "firstName", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "given_name", + "jsonType.label" : "String" + } + }, { + "id" : "64e23d81-c19b-4966-a83d-644a1db94e4a", + "name" : "email", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${email}", + "config" : { + "user.attribute" : "email", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "email", + "jsonType.label" : "String" + } + } ], + "useTemplateConfig" : false, + "useTemplateScope" : false, + "useTemplateMappers" : false + }, { + "id" : "23254f13-034e-4aa2-8d11-f475c48c5469", + "clientId" : "http://localhost:8380/auth", + "surrogateAuthRequired" : false, + "enabled" : true, + "clientAuthenticatorType" : "client-secret", + "secret" : "c2ffb410-6f8b-4f76-a3c7-c5ab21349fa5", + "redirectUris" : [ "http://localhost:8380/mellon/postResponse" ], + "webOrigins" : [ "http://localhost:8380" ], + "notBefore" : 0, + "bearerOnly" : false, + "consentRequired" : false, + "standardFlowEnabled" : true, + "implicitFlowEnabled" : false, + "directAccessGrantsEnabled" : false, + "serviceAccountsEnabled" : false, + "publicClient" : false, + "frontchannelLogout" : true, + "protocol" : "saml", + "attributes" : { + "saml.assertion.signature" : "true", + "saml.force.post.binding" : "true", + "saml.multivalued.roles" : "false", + "saml.encrypt" : "true", + "saml_assertion_consumer_url_post" : "http://localhost:8380/mellon/postResponse", + "saml.server.signature" : "true", + "saml.signing.certificate" : "MIICrjCCAZYCCQDmdnUguf+VxTANBgkqhkiG9w0BAQsFADAZMRcwFQYDVQQDDA5sb2NhbGhvc3Q6ODM4MDAeFw0xNjAxMTkxMTUwMDdaFw0yNjAxMTgxMTUwMDdaMBkxFzAVBgNVBAMMDmxvY2FsaG9zdDo4MzgwMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuissRqhpCBR9nMuoRp+Varx151DKbmdL6NhNxWUOdaYF+fSpNmtG0NsaYV0Coz0Jak/6ap7EfhUeG83vh0G2xj6YTVYtXDVMnUPGmzHprvmFvTOfP4KIVM+1aHcPLfk8ED4ea6TOPDGBjmQw8Y9nZaMATDqEnO8IGaF/Jkl476O3Ek1Nd5yOSday83Or1GkD+ZsZxvyc0CpGJYYaGPrsUFAXekebSlon5SIDerQB7WgABSoGOKDoI8Z+JU/KftwewrE0hr9GZ8HAYBJVt0XfuNSWL7ulmF2HC3RZ877FYk3Vg3KVQs7dyJfK3+V3pGyzOBp/xU61nVZrb0fvua1hWQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQCPR4RhXan28Eq/A6pGfJ29USKLqqDZChYy9q71Zi8hTs4+YYD6wMU8kz+MnTHC/Gf+6XFix7W07XxpFirZ5dkENn7lQUBklBmbxRdB9aW9WfJjx148a/I4+pXZalEIfqpnmWBYt4+/L9exu8tIwj/bshBmuO8Nn4ronTBDgrTCu5feyYO5l12hEdT2d+5rwc/Be66ftl8eOhsr9XJNidjoTVGB3SlHC6v0J7izgS+wT0UxIi3a3gwzW5ZsF4y88iEicAVGmkjgmyJ5GoInQhVhLU2vlxgoULAEWKhF79JYChkGSg8dXAvqBfLm3OCghxj9HldPc8mCn3gMt8F+POZL", + "saml_single_logout_service_url_redirect" : "http://localhost:8380/mellon/logout", + "saml.signature.algorithm" : "RSA_SHA1", + "saml_force_name_id_format" : "false", + "saml.client.signature" : "true", + "saml.encryption.certificate" : "MIICrjCCAZYCCQDmdnUguf+VxTANBgkqhkiG9w0BAQsFADAZMRcwFQYDVQQDDA5sb2NhbGhvc3Q6ODM4MDAeFw0xNjAxMTkxMTUwMDdaFw0yNjAxMTgxMTUwMDdaMBkxFzAVBgNVBAMMDmxvY2FsaG9zdDo4MzgwMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuissRqhpCBR9nMuoRp+Varx151DKbmdL6NhNxWUOdaYF+fSpNmtG0NsaYV0Coz0Jak/6ap7EfhUeG83vh0G2xj6YTVYtXDVMnUPGmzHprvmFvTOfP4KIVM+1aHcPLfk8ED4ea6TOPDGBjmQw8Y9nZaMATDqEnO8IGaF/Jkl476O3Ek1Nd5yOSday83Or1GkD+ZsZxvyc0CpGJYYaGPrsUFAXekebSlon5SIDerQB7WgABSoGOKDoI8Z+JU/KftwewrE0hr9GZ8HAYBJVt0XfuNSWL7ulmF2HC3RZ877FYk3Vg3KVQs7dyJfK3+V3pGyzOBp/xU61nVZrb0fvua1hWQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQCPR4RhXan28Eq/A6pGfJ29USKLqqDZChYy9q71Zi8hTs4+YYD6wMU8kz+MnTHC/Gf+6XFix7W07XxpFirZ5dkENn7lQUBklBmbxRdB9aW9WfJjx148a/I4+pXZalEIfqpnmWBYt4+/L9exu8tIwj/bshBmuO8Nn4ronTBDgrTCu5feyYO5l12hEdT2d+5rwc/Be66ftl8eOhsr9XJNidjoTVGB3SlHC6v0J7izgS+wT0UxIi3a3gwzW5ZsF4y88iEicAVGmkjgmyJ5GoInQhVhLU2vlxgoULAEWKhF79JYChkGSg8dXAvqBfLm3OCghxj9HldPc8mCn3gMt8F+POZL", + "saml.authnstatement" : "true", + "saml_name_id_format" : "username", + "saml_signature_canonicalization_method" : "http://www.w3.org/2001/10/xml-exc-c14n#" + }, + "fullScopeAllowed" : true, + "nodeReRegistrationTimeout" : -1, + "protocolMappers" : [ { + "id" : "e9cc0f08-519b-445f-9134-38811bf94b0c", + "name" : "username", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${username}", + "config" : { + "user.attribute" : "username", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "preferred_username", + "jsonType.label" : "String" + } + }, { + "id" : "f4663aad-3083-42b0-b6cb-6f88f623a8be", + "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" : "adb045fd-1f27-41cc-b80f-99592899cef7", + "name" : "family name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${familyName}", + "config" : { + "user.attribute" : "lastName", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "family_name", + "jsonType.label" : "String" + } + }, { + "id" : "bcfb2c33-8da8-49ad-9166-cbadd0079bd5", + "name" : "given name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${givenName}", + "config" : { + "user.attribute" : "firstName", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "given_name", + "jsonType.label" : "String" + } + }, { + "id" : "0d969f92-4339-427a-9160-94ce11220628", + "name" : "email", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${email}", + "config" : { + "user.attribute" : "email", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "email", + "jsonType.label" : "String" + } + }, { + "id" : "31edca8e-05fa-492c-b586-e66f12726398", + "name" : "role list", + "protocol" : "saml", + "protocolMapper" : "saml-role-list-mapper", + "consentRequired" : false, + "config" : { + "single" : "false", + "attribute.nameformat" : "Basic", + "attribute.name" : "Role" + } + } ], + "useTemplateConfig" : false, + "useTemplateScope" : false, + "useTemplateMappers" : false + }, { + "id" : "800bbf45-9161-4d0e-96d7-2154d1503614", + "clientId" : "security-admin-console", + "name" : "${client_security-admin-console}", + "baseUrl" : "/auth/admin/mellon-test/console/index.html", + "surrogateAuthRequired" : false, + "enabled" : true, + "clientAuthenticatorType" : "client-secret", + "secret" : "19db60e8-86ab-4f91-a743-e421ef151a47", + "redirectUris" : [ "/auth/admin/mellon-test/console/*" ], + "webOrigins" : [ ], + "notBefore" : 0, + "bearerOnly" : false, + "consentRequired" : false, + "standardFlowEnabled" : true, + "implicitFlowEnabled" : false, + "directAccessGrantsEnabled" : false, + "serviceAccountsEnabled" : false, + "publicClient" : true, + "frontchannelLogout" : false, + "attributes" : { }, + "fullScopeAllowed" : false, + "nodeReRegistrationTimeout" : 0, + "protocolMappers" : [ { + "id" : "09897b3d-d192-4b02-8adc-3d61905ae578", + "name" : "role list", + "protocol" : "saml", + "protocolMapper" : "saml-role-list-mapper", + "consentRequired" : false, + "config" : { + "single" : "false", + "attribute.nameformat" : "Basic", + "attribute.name" : "Role" + } + }, { + "id" : "a9533551-fab5-4cc0-8454-f29499eddac0", + "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" : "dc2cfd7c-21f9-4d87-b5b8-57307b79c001", + "name" : "given name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${givenName}", + "config" : { + "user.attribute" : "firstName", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "given_name", + "jsonType.label" : "String" + } + }, { + "id" : "2c238326-4f52-44e3-8346-39d9d25ebe1c", + "name" : "username", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${username}", + "config" : { + "user.attribute" : "username", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "preferred_username", + "jsonType.label" : "String" + } + }, { + "id" : "277023e8-27ae-4a1e-891f-051f2cd23999", + "name" : "email", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${email}", + "config" : { + "user.attribute" : "email", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "email", + "jsonType.label" : "String" + } + }, { + "id" : "a5400c30-4314-4c80-8252-f0d0450eda94", + "name" : "family name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${familyName}", + "config" : { + "user.attribute" : "lastName", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "family_name", + "jsonType.label" : "String" + } + }, { + "id" : "e1c9c4c7-ced3-435e-a904-7a47248518b9", + "name" : "locale", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "consentText" : "${locale}", + "config" : { + "user.attribute" : "locale", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "locale", + "jsonType.label" : "String" + } + } ], + "useTemplateConfig" : false, + "useTemplateScope" : false, + "useTemplateMappers" : false + }, { + "id" : "14abd995-d10a-4da3-85cf-0c6fbb65ce41", + "clientId" : "admin-cli", + "name" : "${client_admin-cli}", + "surrogateAuthRequired" : false, + "enabled" : true, + "clientAuthenticatorType" : "client-secret", + "secret" : "dbc029d1-5a61-435b-bc47-a3463b546462", + "redirectUris" : [ ], + "webOrigins" : [ ], + "notBefore" : 0, + "bearerOnly" : false, + "consentRequired" : false, + "standardFlowEnabled" : false, + "implicitFlowEnabled" : false, + "directAccessGrantsEnabled" : true, + "serviceAccountsEnabled" : false, + "publicClient" : true, + "frontchannelLogout" : false, + "attributes" : { }, + "fullScopeAllowed" : false, + "nodeReRegistrationTimeout" : 0, + "protocolMappers" : [ { + "id" : "e58e8399-8c54-4516-b8af-06205e92448c", + "name" : "role list", + "protocol" : "saml", + "protocolMapper" : "saml-role-list-mapper", + "consentRequired" : false, + "config" : { + "single" : "false", + "attribute.nameformat" : "Basic", + "attribute.name" : "Role" + } + }, { + "id" : "2297d7b8-aa1f-4e2d-b4ac-a4d3ce9b34e2", + "name" : "family name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${familyName}", + "config" : { + "user.attribute" : "lastName", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "family_name", + "jsonType.label" : "String" + } + }, { + "id" : "ed3636fb-7e4f-403d-a5c6-e1c8fbb4a608", + "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" : "9a5d764d-4583-41e7-9a55-dd517d988b08", + "name" : "username", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${username}", + "config" : { + "user.attribute" : "username", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "preferred_username", + "jsonType.label" : "String" + } + }, { + "id" : "e21dca0b-c942-4a99-9dc4-6b11cb9fbeae", + "name" : "email", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${email}", + "config" : { + "user.attribute" : "email", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "email", + "jsonType.label" : "String" + } + }, { + "id" : "8ce17c29-1227-4d21-8dbc-37a316d0cb20", + "name" : "given name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${givenName}", + "config" : { + "user.attribute" : "firstName", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "given_name", + "jsonType.label" : "String" + } + } ], + "useTemplateConfig" : false, + "useTemplateScope" : false, + "useTemplateMappers" : false + }, { + "id" : "84ce4461-6b3d-4bd3-b7dc-7201c0c9b106", + "clientId" : "broker", + "name" : "${client_broker}", + "surrogateAuthRequired" : false, + "enabled" : true, + "clientAuthenticatorType" : "client-secret", + "secret" : "5ff75614-1e40-4b65-b4ea-9d7c306687fc", + "redirectUris" : [ ], + "webOrigins" : [ ], + "notBefore" : 0, + "bearerOnly" : false, + "consentRequired" : false, + "standardFlowEnabled" : true, + "implicitFlowEnabled" : false, + "directAccessGrantsEnabled" : false, + "serviceAccountsEnabled" : false, + "publicClient" : false, + "frontchannelLogout" : false, + "attributes" : { }, + "fullScopeAllowed" : false, + "nodeReRegistrationTimeout" : 0, + "protocolMappers" : [ { + "id" : "5ee11a64-fcea-4db5-97a0-2868d8116f1e", + "name" : "family name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${familyName}", + "config" : { + "user.attribute" : "lastName", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "family_name", + "jsonType.label" : "String" + } + }, { + "id" : "ae8b4834-3f3f-4ad3-81ef-6b59c334506c", + "name" : "given name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${givenName}", + "config" : { + "user.attribute" : "firstName", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "given_name", + "jsonType.label" : "String" + } + }, { + "id" : "78c32c1f-6eff-491f-b0dd-457bc4c48915", + "name" : "username", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${username}", + "config" : { + "user.attribute" : "username", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "preferred_username", + "jsonType.label" : "String" + } + }, { + "id" : "aeab583b-e991-4021-99c4-c7fa541f18fc", + "name" : "role list", + "protocol" : "saml", + "protocolMapper" : "saml-role-list-mapper", + "consentRequired" : false, + "config" : { + "single" : "false", + "attribute.nameformat" : "Basic", + "attribute.name" : "Role" + } + }, { + "id" : "5ad0744f-bdac-43ad-ade1-93a49a65494e", + "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" : "2748bec5-8df7-4ff7-a675-53487c2a71f8", + "name" : "email", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${email}", + "config" : { + "user.attribute" : "email", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "email", + "jsonType.label" : "String" + } + } ], + "useTemplateConfig" : false, + "useTemplateScope" : false, + "useTemplateMappers" : false + }, { + "id" : "32558eeb-3ea8-4c8e-acef-250a1d91e844", + "clientId" : "account", + "name" : "${client_account}", + "baseUrl" : "/auth/realms/mellon-test/account", + "surrogateAuthRequired" : false, + "enabled" : true, + "clientAuthenticatorType" : "client-secret", + "secret" : "8b9f60f9-f285-4649-8f08-5ad3860a1b77", + "defaultRoles" : [ "view-profile", "manage-account" ], + "redirectUris" : [ "/auth/realms/mellon-test/account/*" ], + "webOrigins" : [ ], + "notBefore" : 0, + "bearerOnly" : false, + "consentRequired" : false, + "standardFlowEnabled" : true, + "implicitFlowEnabled" : false, + "directAccessGrantsEnabled" : false, + "serviceAccountsEnabled" : false, + "publicClient" : false, + "frontchannelLogout" : false, + "attributes" : { }, + "fullScopeAllowed" : false, + "nodeReRegistrationTimeout" : 0, + "protocolMappers" : [ { + "id" : "cfc3c0a2-50b4-4a75-a2e1-e415def6f795", + "name" : "email", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${email}", + "config" : { + "user.attribute" : "email", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "email", + "jsonType.label" : "String" + } + }, { + "id" : "7b9b559d-b556-48f4-ae77-f8819c490ae3", + "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" : "3f9d4d7b-c080-4f9f-b0aa-c6dc503f57fc", + "name" : "family name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${familyName}", + "config" : { + "user.attribute" : "lastName", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "family_name", + "jsonType.label" : "String" + } + }, { + "id" : "6c633bab-1eab-4201-a71c-88d4f4963004", + "name" : "role list", + "protocol" : "saml", + "protocolMapper" : "saml-role-list-mapper", + "consentRequired" : false, + "config" : { + "single" : "false", + "attribute.nameformat" : "Basic", + "attribute.name" : "Role" + } + }, { + "id" : "8b659dd2-a506-4c2e-ad09-2ca05bd82f49", + "name" : "username", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${username}", + "config" : { + "user.attribute" : "username", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "preferred_username", + "jsonType.label" : "String" + } + }, { + "id" : "db4fd893-e9b6-4162-a737-06084a6c3edf", + "name" : "given name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : true, + "consentText" : "${givenName}", + "config" : { + "user.attribute" : "firstName", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "given_name", + "jsonType.label" : "String" + } + } ], + "useTemplateConfig" : false, + "useTemplateScope" : false, + "useTemplateMappers" : false + } ], + "clientTemplates" : [ ], + "browserSecurityHeaders" : { + "contentSecurityPolicy" : "frame-src 'self'", + "xFrameOptions" : "SAMEORIGIN" + }, + "smtpServer" : { }, + "eventsEnabled" : true, + "eventsListeners" : [ "jboss-logging" ], + "enabledEventTypes" : [ "SEND_RESET_PASSWORD", "UPDATE_TOTP", "REMOVE_TOTP", "REVOKE_GRANT", "LOGIN_ERROR", "CLIENT_LOGIN", "RESET_PASSWORD_ERROR", "CODE_TO_TOKEN_ERROR", "CUSTOM_REQUIRED_ACTION", "UPDATE_PROFILE_ERROR", "IMPERSONATE", "LOGIN", "UPDATE_PASSWORD_ERROR", "REGISTER", "LOGOUT", "CLIENT_REGISTER", "UPDATE_PASSWORD", "FEDERATED_IDENTITY_LINK_ERROR", "CLIENT_DELETE", "IDENTITY_PROVIDER_FIRST_LOGIN", "VERIFY_EMAIL", "CLIENT_DELETE_ERROR", "CLIENT_LOGIN_ERROR", "REMOVE_FEDERATED_IDENTITY_ERROR", "EXECUTE_ACTIONS", "SEND_IDENTITY_PROVIDER_LINK_ERROR", "SEND_VERIFY_EMAIL", "EXECUTE_ACTIONS_ERROR", "REMOVE_FEDERATED_IDENTITY", "IDENTITY_PROVIDER_POST_LOGIN", "UPDATE_EMAIL", "REGISTER_ERROR", "LOGOUT_ERROR", "UPDATE_EMAIL_ERROR", "CLIENT_UPDATE_ERROR", "UPDATE_PROFILE", "FEDERATED_IDENTITY_LINK", "CLIENT_REGISTER_ERROR", "SEND_VERIFY_EMAIL_ERROR", "SEND_IDENTITY_PROVIDER_LINK", "RESET_PASSWORD", "REMOVE_TOTP_ERROR", "VERIFY_EMAIL_ERROR", "SEND_RESET_PASSWORD_ERROR", "CLIENT_UPDATE", "IDENTITY_PROVIDER_POST_LOGIN_ERROR", "CUSTOM_REQUIRED_ACTION_ERROR", "UPDATE_TOTP_ERROR", "CODE_TO_TOKEN", "IDENTITY_PROVIDER_FIRST_LOGIN_ERROR" ], + "adminEventsEnabled" : false, + "adminEventsDetailsEnabled" : false, + "internationalizationEnabled" : false, + "supportedLocales" : [ ], + "authenticationFlows" : [ { + "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", + "autheticatorFlow" : false, + "requirement" : "REQUIRED", + "userSetupAllowed" : false, + "priority" : 10 + }, { + "authenticator" : "idp-email-verification", + "autheticatorFlow" : false, + "requirement" : "ALTERNATIVE", + "userSetupAllowed" : false, + "priority" : 20 + }, { + "flowAlias" : "Verify Existing Account by Re-authentication", + "autheticatorFlow" : true, + "requirement" : "ALTERNATIVE", + "userSetupAllowed" : false, + "priority" : 30 + } ] + }, { + "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", + "autheticatorFlow" : false, + "requirement" : "REQUIRED", + "userSetupAllowed" : false, + "priority" : 10 + }, { + "authenticator" : "auth-otp-form", + "autheticatorFlow" : false, + "requirement" : "OPTIONAL", + "userSetupAllowed" : false, + "priority" : 20 + } ] + }, { + "alias" : "browser", + "description" : "browser based authentication", + "providerId" : "basic-flow", + "topLevel" : true, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "auth-cookie", + "autheticatorFlow" : false, + "requirement" : "ALTERNATIVE", + "userSetupAllowed" : false, + "priority" : 10 + }, { + "authenticator" : "auth-spnego", + "autheticatorFlow" : false, + "requirement" : "DISABLED", + "userSetupAllowed" : false, + "priority" : 20 + }, { + "flowAlias" : "forms", + "autheticatorFlow" : true, + "requirement" : "ALTERNATIVE", + "userSetupAllowed" : false, + "priority" : 30 + } ] + }, { + "alias" : "clients", + "description" : "Base authentication for clients", + "providerId" : "client-flow", + "topLevel" : true, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "client-secret", + "autheticatorFlow" : false, + "requirement" : "ALTERNATIVE", + "userSetupAllowed" : false, + "priority" : 10 + }, { + "authenticator" : "client-jwt", + "autheticatorFlow" : false, + "requirement" : "ALTERNATIVE", + "userSetupAllowed" : false, + "priority" : 20 + } ] + }, { + "alias" : "direct grant", + "description" : "OpenID Connect Resource Owner Grant", + "providerId" : "basic-flow", + "topLevel" : true, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "direct-grant-validate-username", + "autheticatorFlow" : false, + "requirement" : "REQUIRED", + "userSetupAllowed" : false, + "priority" : 10 + }, { + "authenticator" : "direct-grant-validate-password", + "autheticatorFlow" : false, + "requirement" : "REQUIRED", + "userSetupAllowed" : false, + "priority" : 20 + }, { + "authenticator" : "direct-grant-validate-otp", + "autheticatorFlow" : false, + "requirement" : "OPTIONAL", + "userSetupAllowed" : false, + "priority" : 30 + } ] + }, { + "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", + "autheticatorFlow" : false, + "requirement" : "REQUIRED", + "userSetupAllowed" : false, + "priority" : 10 + }, { + "authenticatorConfig" : "create unique user config", + "authenticator" : "idp-create-user-if-unique", + "autheticatorFlow" : false, + "requirement" : "ALTERNATIVE", + "userSetupAllowed" : false, + "priority" : 20 + }, { + "flowAlias" : "Handle Existing Account", + "autheticatorFlow" : true, + "requirement" : "ALTERNATIVE", + "userSetupAllowed" : false, + "priority" : 30 + } ] + }, { + "alias" : "forms", + "description" : "Username, password, otp and other auth forms.", + "providerId" : "basic-flow", + "topLevel" : false, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "auth-username-password-form", + "autheticatorFlow" : false, + "requirement" : "REQUIRED", + "userSetupAllowed" : false, + "priority" : 10 + }, { + "authenticator" : "auth-otp-form", + "autheticatorFlow" : false, + "requirement" : "OPTIONAL", + "userSetupAllowed" : false, + "priority" : 20 + } ] + }, { + "alias" : "registration", + "description" : "registration flow", + "providerId" : "basic-flow", + "topLevel" : true, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "registration-page-form", + "flowAlias" : "registration form", + "autheticatorFlow" : true, + "requirement" : "REQUIRED", + "userSetupAllowed" : false, + "priority" : 10 + } ] + }, { + "alias" : "registration form", + "description" : "registration form", + "providerId" : "form-flow", + "topLevel" : false, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "registration-user-creation", + "autheticatorFlow" : false, + "requirement" : "REQUIRED", + "userSetupAllowed" : false, + "priority" : 20 + }, { + "authenticator" : "registration-profile-action", + "autheticatorFlow" : false, + "requirement" : "REQUIRED", + "userSetupAllowed" : false, + "priority" : 40 + }, { + "authenticator" : "registration-password-action", + "autheticatorFlow" : false, + "requirement" : "REQUIRED", + "userSetupAllowed" : false, + "priority" : 50 + }, { + "authenticator" : "registration-recaptcha-action", + "autheticatorFlow" : false, + "requirement" : "DISABLED", + "userSetupAllowed" : false, + "priority" : 60 + } ] + }, { + "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", + "autheticatorFlow" : false, + "requirement" : "REQUIRED", + "userSetupAllowed" : false, + "priority" : 10 + }, { + "authenticator" : "reset-credential-email", + "autheticatorFlow" : false, + "requirement" : "REQUIRED", + "userSetupAllowed" : false, + "priority" : 20 + }, { + "authenticator" : "reset-password", + "autheticatorFlow" : false, + "requirement" : "REQUIRED", + "userSetupAllowed" : false, + "priority" : 30 + }, { + "authenticator" : "reset-otp", + "autheticatorFlow" : false, + "requirement" : "OPTIONAL", + "userSetupAllowed" : false, + "priority" : 40 + } ] + }, { + "alias" : "saml ecp", + "description" : "SAML ECP Profile Authentication Flow", + "providerId" : "basic-flow", + "topLevel" : true, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "http-basic-authenticator", + "autheticatorFlow" : false, + "requirement" : "REQUIRED", + "userSetupAllowed" : false, + "priority" : 10 + } ] + } ], + "authenticatorConfig" : [ { + "alias" : "create unique user config", + "config" : { + "require.password.update.after.registration" : "false" + } + }, { + "alias" : "review profile config", + "config" : { + "update.profile.on.first.login" : "missing" + } + } ], + "requiredActions" : [ { + "alias" : "CONFIGURE_TOTP", + "name" : "Configure Totp", + "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" +} \ No newline at end of file diff --git a/testsuite/integration-arquillian/tests/other/pom.xml b/testsuite/integration-arquillian/tests/other/pom.xml index 9a925ce369..6b6fefe25f 100644 --- a/testsuite/integration-arquillian/tests/other/pom.xml +++ b/testsuite/integration-arquillian/tests/other/pom.xml @@ -117,6 +117,12 @@ console + + mod_auth_mellon + + mod_auth_mellon + + diff --git a/testsuite/integration-arquillian/tests/pom.xml b/testsuite/integration-arquillian/tests/pom.xml index 8696a96b51..257c4c87f7 100644 --- a/testsuite/integration-arquillian/tests/pom.xml +++ b/testsuite/integration-arquillian/tests/pom.xml @@ -35,6 +35,7 @@ 10090 10099 false + http://localhost:8380 60 phantomjs