diff --git a/docker-compose/docker-compose.yaml b/docker-compose/docker-compose.yaml index 765bebf5..66278c61 100644 --- a/docker-compose/docker-compose.yaml +++ b/docker-compose/docker-compose.yaml @@ -20,9 +20,6 @@ services: - KC_HOSTNAME_BACKCHANNEL_DYNAMIC=true - KC_HTTPS_CERTIFICATE_FILE=/etc/ssl/certs/keycloak.tls.crt - KC_HTTPS_CERTIFICATE_KEY_FILE=/etc/ssl/certs/keycloak.tls.key - - KC_SPI_THEME_STATIC_MAX_AGE=-1 - - KC_SPI_THEME_CACHE_THEMES=false - - KC_SPI_THEME_CACHE_TEMPLATES=false - KC_BOOTSTRAP_ADMIN_USERNAME=admin - KC_BOOTSTRAP_ADMIN_PASSWORD=password healthcheck: @@ -34,7 +31,6 @@ services: volumes: - ./keycloak/extra/health-check.sh:/opt/keycloak/health-check.sh - ./keycloak/realms/:/opt/keycloak/data/import - - ./keycloak/themes/:/opt/keycloak/themes - ./keycloak/certs/:/etc/ssl/certs/ networks: - default diff --git a/docker-compose/keycloak/realms/pid-issuer-realm-realm.json b/docker-compose/keycloak/realms/pid-issuer-realm-realm.json index 6b1fff89..1657bfa0 100644 --- a/docker-compose/keycloak/realms/pid-issuer-realm-realm.json +++ b/docker-compose/keycloak/realms/pid-issuer-realm-realm.json @@ -1637,6 +1637,18 @@ } } ], + "org.keycloak.userprofile.UserProfileProvider": [ + { + "id": "bfa86063-5fbd-444b-8c6b-52d9a6b8ed21", + "providerId": "declarative-user-profile", + "subComponents": {}, + "config": { + "kc.user.profile.config": [ + "{\"attributes\":[{\"name\":\"username\",\"displayName\":\"${username}\",\"validations\":{\"length\":{\"min\":3,\"max\":255},\"username-prohibited-characters\":{},\"up-username-not-idn-homograph\":{}},\"annotations\":{},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"group\":\"credentials\",\"multivalued\":false},{\"name\":\"email\",\"displayName\":\"${email}\",\"validations\":{\"email\":{},\"length\":{\"max\":255}},\"annotations\":{},\"required\":{\"roles\":[\"user\"]},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"group\":\"credentials\",\"multivalued\":false},{\"name\":\"firstName\",\"displayName\":\"${firstName}\",\"validations\":{\"length\":{\"max\":255},\"person-name-prohibited-characters\":{}},\"annotations\":{},\"required\":{\"roles\":[\"user\"]},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"group\":\"profile\",\"multivalued\":false},{\"name\":\"lastName\",\"displayName\":\"${lastName}\",\"validations\":{\"length\":{\"max\":255},\"person-name-prohibited-characters\":{}},\"annotations\":{},\"required\":{\"roles\":[\"user\"]},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"group\":\"profile\",\"multivalued\":false},{\"name\":\"gender\",\"displayName\":\"Gender\",\"validations\":{\"options\":{\"options\":[\"0\",\"1\",\"2\",\"3\"]}},\"annotations\":{\"inputOptionLabels\":{\"0\":\"Not known\",\"1\":\"Male\",\"2\":\"Female\",\"3\":\"Not applicable\"},\"inputType\":\"select-radiobuttons\"},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"group\":\"profile\",\"multivalued\":false},{\"name\":\"birthdate\",\"displayName\":\"Birthdate\",\"validations\":{\"iso-date\":{}},\"annotations\":{\"inputType\":\"html5-date\"},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"group\":\"profile\",\"multivalued\":false},{\"name\":\"age_over_18\",\"displayName\":\"Age over 18\",\"validations\":{\"options\":{\"options\":[\"true\",\"false\"]}},\"annotations\":{\"inputType\":\"select\",\"inputOptionLabels\":{\"true\":\"Yes\",\"false\":\"No\"}},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"group\":\"profile\",\"multivalued\":false},{\"name\":\"picture\",\"displayName\":\"Picture\",\"validations\":{},\"annotations\":{},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"group\":\"profile\",\"multivalued\":false},{\"name\":\"street\",\"displayName\":\"Street\",\"validations\":{},\"annotations\":{},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"group\":\"address\",\"multivalued\":false},{\"name\":\"locality\",\"displayName\":\"Locality\",\"validations\":{},\"annotations\":{},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"group\":\"address\",\"multivalued\":false},{\"name\":\"region\",\"displayName\":\"Region\",\"validations\":{},\"annotations\":{},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"group\":\"address\",\"multivalued\":false},{\"name\":\"postal_code\",\"displayName\":\"Postal Code\",\"validations\":{},\"annotations\":{},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"group\":\"address\",\"multivalued\":false},{\"name\":\"country\",\"displayName\":\"Country\",\"validations\":{},\"annotations\":{},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"group\":\"address\",\"multivalued\":false},{\"name\":\"formatted\",\"displayName\":\"Formatted\",\"validations\":{},\"annotations\":{},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"group\":\"address\",\"multivalued\":false}],\"groups\":[{\"name\":\"user-metadata\",\"displayHeader\":\"User metadata\",\"displayDescription\":\"Attributes, which refer to user metadata\"},{\"name\":\"address\",\"displayHeader\":\"Address\",\"displayDescription\":\"\",\"annotations\":{}},{\"name\":\"credentials\",\"displayHeader\":\"Credentials\",\"displayDescription\":\"\",\"annotations\":{}},{\"name\":\"profile\",\"displayHeader\":\"Profile\",\"displayDescription\":\"\",\"annotations\":{}}],\"unmanagedAttributePolicy\":\"ENABLED\"}" + ] + } + } + ], "org.keycloak.keys.KeyProvider": [ { "id": "4da6878f-706e-416d-a679-250bd5368dbe", @@ -2369,6 +2381,5 @@ }, "clientPolicies": { "policies": [] - }, - "loginTheme": "pid-issuer" + } } \ No newline at end of file diff --git a/docker-compose/keycloak/themes/pid-issuer/login/messages/messages_en.properties b/docker-compose/keycloak/themes/pid-issuer/login/messages/messages_en.properties deleted file mode 100644 index 0ffba179..00000000 --- a/docker-compose/keycloak/themes/pid-issuer/login/messages/messages_en.properties +++ /dev/null @@ -1,19 +0,0 @@ -gender=Gender -gender_not_known=Not known -gender_male=Male -gender_female=Female -gender_not_applicable=Not applicable -birthdate=Birthdate -age_over_18=Age over 18 -age_over_18_yes=Yes -age_over_18_no=No -profile=Profile -picture=Picture -credential_configuration_ids=Credentials -address=Address -street=Street -locality=Locality -region=Region -postal_code=Postal Code -country=Country -formatted=Formatted \ No newline at end of file diff --git a/docker-compose/keycloak/themes/pid-issuer/login/register.ftl b/docker-compose/keycloak/themes/pid-issuer/login/register.ftl deleted file mode 100644 index b46eabbf..00000000 --- a/docker-compose/keycloak/themes/pid-issuer/login/register.ftl +++ /dev/null @@ -1,384 +0,0 @@ -<#import "template.ftl" as layout> -<#import "register-commons.ftl" as registerCommons> -<@layout.registrationLayout displayMessage=!messagesPerField.existsError('firstName','lastName','user.attributes.gender','user.attributes.birthdate','user.attributes.age_over_18','user.attributes.picture','user.attributes.street','user.attributes.locality','user.attributes.region','user.attributes.postal_code','user.attributes.country','user.attributes.formatted','username','email','password','password-confirm','termsAccepted'); section> - <#if section = "header"> - ${msg("registerTitle")} - <#elseif section = "form"> -
-

${msg("profile")}

- -
-
- -
-
- - - <#if messagesPerField.existsError('firstName')> - - ${kcSanitize(messagesPerField.get('firstName'))?no_esc} - - -
-
- - - -
-
- -
-
- - - <#if messagesPerField.existsError('lastName')> - - ${kcSanitize(messagesPerField.get('lastName'))?no_esc} - - -
-
- - - -
-
- -
-
- - <#if messagesPerField.existsError('user.attributes.gender')> - - ${kcSanitize(messagesPerField.get('user.attributes.gender'))?no_esc} - - -
-
- - - -
-
- -
-
- - - <#if messagesPerField.existsError('user.attributes.birthdate')> - - ${kcSanitize(messagesPerField.get('user.attributes.birthdate'))?no_esc} - - -
-
- - - -
-
- -
-
- - <#if messagesPerField.existsError('user.attributes.age_over_18')> - - ${kcSanitize(messagesPerField.get('user.attributes.age_over_18'))?no_esc} - - -
-
- - - -
-
- -
-
- - - <#if messagesPerField.existsError('user.attributes.picture')> - - ${kcSanitize(messagesPerField.get('user.attributes.picture'))?no_esc} - - -
-
- - -

${msg("address")}

- - -
-
- -
-
- - - <#if messagesPerField.existsError('user.attributes.street')> - - ${kcSanitize(messagesPerField.get('user.attributes.street'))?no_esc} - - -
-
- - - -
-
- -
-
- - - <#if messagesPerField.existsError('user.attributes.locality')> - - ${kcSanitize(messagesPerField.get('user.attributes.locality'))?no_esc} - - -
-
- - - -
-
- -
-
- - - <#if messagesPerField.existsError('user.attributes.region')> - - ${kcSanitize(messagesPerField.get('user.attributes.region'))?no_esc} - - -
-
- - - -
-
- -
-
- - - <#if messagesPerField.existsError('user.attributes.postal_code')> - - ${kcSanitize(messagesPerField.get('user.attributes.postal_code'))?no_esc} - - -
-
- - - -
-
- -
-
- - - <#if messagesPerField.existsError('user.attributes.country')> - - ${kcSanitize(messagesPerField.get('user.attributes.country'))?no_esc} - - -
-
- - - -
-
- -
-
- - - <#if messagesPerField.existsError('user.attributes.formatted')> - - ${kcSanitize(messagesPerField.get('user.attributes.formatted'))?no_esc} - - -
-
- - -

${msg("credential_configuration_ids")}

- - <#if !realm.registrationEmailAsUsername> -
-
- -
-
- - - <#if messagesPerField.existsError('username')> - - ${kcSanitize(messagesPerField.get('username'))?no_esc} - - -
-
- - - - -
-
- -
-
- - - <#if messagesPerField.existsError('email')> - - ${kcSanitize(messagesPerField.get('email'))?no_esc} - - -
-
- - - - <#if passwordRequired??> -
-
- -
-
-
- - -
- - - <#if messagesPerField.existsError('password')> - - ${kcSanitize(messagesPerField.get('password'))?no_esc} - - -
-
- -
-
- -
-
-
- - -
- - <#if messagesPerField.existsError('password-confirm')> - - ${kcSanitize(messagesPerField.get('password-confirm'))?no_esc} - - -
-
- - - - - <@registerCommons.termsAcceptance/> - - - - <#if recaptchaRequired??> -
-
-
-
-
- - - - -
- - -
- -
-
- -
- - - diff --git a/docker-compose/keycloak/themes/pid-issuer/login/theme.properties b/docker-compose/keycloak/themes/pid-issuer/login/theme.properties deleted file mode 100644 index 12d9c19e..00000000 --- a/docker-compose/keycloak/themes/pid-issuer/login/theme.properties +++ /dev/null @@ -1,2 +0,0 @@ -parent=keycloak -import=common/keycloak \ No newline at end of file