diff --git a/docker-compose.yml b/docker-compose.yml index 4be8905a7..4eac7abab 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -891,6 +891,8 @@ services: build: context: ./infra/docker/keycloak target: keycloak + args: + DASHBOARD_CLIENT_URL: ${DASHBOARD_CLIENT_URL} command: - 'start' - '--optimized' diff --git a/infra/docker/keycloak/Dockerfile b/infra/docker/keycloak/Dockerfile index 92e0cfff6..6a8439315 100644 --- a/infra/docker/keycloak/Dockerfile +++ b/infra/docker/keycloak/Dockerfile @@ -14,6 +14,8 @@ RUN mvn clean package FROM quay.io/keycloak/keycloak:25.0.2 AS builder +ARG DASHBOARD_CLIENT_URL + COPY --from=spi-builder /app/group-uuid-pmapper/target/group-uuid-pmapper.jar /opt/keycloak/providers/ COPY --from=spi-builder /app/jq-idp-mapper/target/jq-idp-mapper-jar-with-dependencies.jar /opt/keycloak/providers/ @@ -25,6 +27,8 @@ RUN /opt/keycloak/bin/kc.sh build \ COPY themes/phrasea /opt/keycloak/themes/phrasea + RUN sed -i "s;dashboard_url;${DASHBOARD_CLIENT_URL};g" /opt/keycloak/themes/phrasea/email/html/password-reset.ftl + RUN sed -i "s;dashboard_url;${DASHBOARD_CLIENT_URL};g" /opt/keycloak/themes/phrasea/email/text/password-reset.ftl FROM quay.io/keycloak/keycloak:25.0.2 AS keycloak diff --git a/infra/docker/keycloak/themes/phrasea/email/html/password-reset.ftl b/infra/docker/keycloak/themes/phrasea/email/html/password-reset.ftl new file mode 100644 index 000000000..29bca5336 --- /dev/null +++ b/infra/docker/keycloak/themes/phrasea/email/html/password-reset.ftl @@ -0,0 +1,4 @@ +<#import "template.ftl" as layout> +<@layout.emailLayout> +${kcSanitize(msg("passwordResetBodyHtml", link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration), 'dashboard_url'))?no_esc} +@layout.emailLayout> diff --git a/infra/docker/keycloak/themes/phrasea/email/messages/messages_en.properties b/infra/docker/keycloak/themes/phrasea/email/messages/messages_en.properties new file mode 100644 index 000000000..b98ac32b6 --- /dev/null +++ b/infra/docker/keycloak/themes/phrasea/email/messages/messages_en.properties @@ -0,0 +1,2 @@ +passwordResetBody=Someone just requested to change your {2} account''s credentials. If this was you, click on the link below to reset them.\n\n{0}\n\nThis link and code will expire within {3}.\n\nIf you don''t want to reset your credentials, just ignore this message and nothing will be changed.\n\nOnce the password reset is complete, use this link to access modules of the solution: {4} +passwordResetBodyHtml=
Someone just requested to change your {2} account''s credentials. If this was you, click on the link below to reset them.
This link will expire within {3}.
If you don''t want to reset your credentials, just ignore this message and nothing will be changed.
Once the password reset is complete, use this link to access modules of the solution: {4}
diff --git a/infra/docker/keycloak/themes/phrasea/email/messages/messages_fr.properties b/infra/docker/keycloak/themes/phrasea/email/messages/messages_fr.properties new file mode 100644 index 000000000..d8d8d4bd4 --- /dev/null +++ b/infra/docker/keycloak/themes/phrasea/email/messages/messages_fr.properties @@ -0,0 +1,2 @@ +passwordResetBody=Quelqu''un vient de demander une réinitialisation de mot de passe pour votre compte {2}. Si vous êtes à l''origine de cette requête, veuillez cliquer sur le lien ci-dessous pour le mettre à jour.\n\n{0}\n\nCe lien expire dans {3}.\n\nSinon, veuillez ignorer ce message ; aucun changement ne sera effectué sur votre compte.\n\nUne fois votre mot de passe réinitialisé, utilisez ce lien pour accéder aux modules de la solution : {4} +passwordResetBodyHtml=Quelqu''un vient de demander une réinitialisation de mot de passe pour votre compte {2}. Si vous êtes à l''origine de cette requête, veuillez cliquer sur le lien ci-dessous pour le mettre à jour.
Lien pour réinitialiser votre mot de passe
Ce lien expire dans {3}.
Sinon, veuillez ignorer ce message ; aucun changement ne sera effectué sur votre compte.
Une fois votre mot de passe réinitialisé, utilisez ce lien pour accéder aux modules de la solution : {4}
diff --git a/infra/docker/keycloak/themes/phrasea/email/text/password-reset.ftl b/infra/docker/keycloak/themes/phrasea/email/text/password-reset.ftl new file mode 100644 index 000000000..4249134c9 --- /dev/null +++ b/infra/docker/keycloak/themes/phrasea/email/text/password-reset.ftl @@ -0,0 +1,2 @@ +<#ftl output_format="plainText"> +${msg("passwordResetBody",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration), 'dashboard_url')}