From 6316a9459017c7e11be0eb8bab4bd3f9e4b72d97 Mon Sep 17 00:00:00 2001 From: Kristoff Kiefer <31993948+kristoff-kiefer@users.noreply.github.com> Date: Wed, 18 Dec 2024 13:50:18 +0100 Subject: [PATCH] Release 0101 (#108) * Spsh 1371 - Performance optimization (#97) * Spsh 1158 test loadtest drivers (#80) configure keycloak for scaling * DBP-1079-keyloak-headless-and-non-headless-service (#82) DBP-1079-keyloak-headless-and-non-headless-service (#82) * add loa mapping for silver * Spsh 740 (#73) SPSH-740 * make kc stateful * enable autoscaling * dbg: undo statefulset * increase requests, remove cpu limit * dev: resource config * test lower thread limit * Revert "enable autoscaling" This reverts commit 24355ccff4f775e6cb04a7273585ed79f752b973. * add threadpool to deployment * env should be string * env should be string #2 --------- Co-authored-by: aimee-889 <93951322+aimee-889@users.noreply.github.com> Co-authored-by: Kristoff Kiefer <31993948+kristoff-kiefer@users.noreply.github.com> * SPSH-1612 (#101) * implmementing paste otp feature and automaitc numbers keypad on mobile * SPSH-1612: update pi provider (min, max, pattern for OTP form) * adding min max to otp input fields * SPSH-1612: update PI provider (pattern, onkeydown) --------- Co-authored-by: niklaskoopmann * Spsh 1310 custom error template (#102) * DBP-1147-fix-typo (#100) DBP-1147-fix-typo (#100) * add logout-button to error-template * ensure trailing slash * make error message generic * update error message --------- Co-authored-by: aimee-889 <93951322+aimee-889@users.noreply.github.com> * SPSH-1648 (#107) * implementing one input field to otp mask * improving style of otp input field * autofocus auf otp input field und text anpassung * default 2FA text Anpassung --------- Co-authored-by: clauyan Co-authored-by: aimee-889 <93951322+aimee-889@users.noreply.github.com> Co-authored-by: Alexander Ungefug <82446024+AlexanderUngefug@users.noreply.github.com> Co-authored-by: niklaskoopmann --- Dockerfile | 2 +- README.md | 2 +- .../dev-realm-spsh.json | 4 ++-- .../prod-realm-spsh.json | 2 +- .../templates/deployment.yaml | 4 +++- charts/dbildungs-iam-keycloak/values.yaml | 3 +++ src/providers/PrivacyIDEA-Provider.jar | Bin 3473262 -> 3472624 bytes src/themes/schulportal/login/error.ftl | 21 ++++++++++++++++++ .../login/messages/messages_de.properties | 6 +++-- src/themes/schulportal/login/template.ftl | 2 +- 10 files changed, 37 insertions(+), 9 deletions(-) create mode 100644 src/themes/schulportal/login/error.ftl diff --git a/Dockerfile b/Dockerfile index 6d152838..1f339fc9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -60,4 +60,4 @@ WORKDIR /opt/keycloak COPY --from=deployment-build /opt/keycloak/lib/quarkus/ /opt/keycloak/lib/quarkus/ # Set entrypoint for deployment mode -ENTRYPOINT ["/opt/keycloak/bin/kc.sh", "start"] \ No newline at end of file +ENTRYPOINT ["/opt/keycloak/bin/kc.sh", "start"] diff --git a/README.md b/README.md index 0071329f..f05c15bf 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Following steps are intent to build the container for local development purpose. You may use a pre-build image from [`GitHub Packages`](https://github.com/orgs/hpi-schul-cloud/packages?repo_name=dbildungs-iam). To build the container on your own execute following command: ```bash -docker build --target development -t dbildungsplattform/dbildungs-iam-keycloak/dev . +docker build --load --target development -t dbildungsplattform/dbildungs-iam-keycloak/dev . ``` To create the container execute following command: diff --git a/charts/dbildungs-iam-keycloak/dev-realm-spsh.json b/charts/dbildungs-iam-keycloak/dev-realm-spsh.json index 898e2ee1..9d8821a9 100644 --- a/charts/dbildungs-iam-keycloak/dev-realm-spsh.json +++ b/charts/dbildungs-iam-keycloak/dev-realm-spsh.json @@ -959,7 +959,7 @@ "oauth2.device.authorization.grant.enabled": "false", "display.on.consent.screen": "false", "backchannel.logout.revoke.offline.tokens": "false", - "acr.loa.map": "{\"gold\":\"10\"}", + "acr.loa.map": "{\"gold\":\"10\", \"silver\":\"15\"}", "default.acr.values": "0" }, "authenticationFlowBindingOverrides": { @@ -2898,7 +2898,7 @@ "piservicepass" : "${PI_ADMIN_PASSWORD}", "piserver" : "${PI_BASE_URL}", "piserviceaccount" : "${PI_ADMIN_USER}", - "pidefaultmessage" : "Diese Aktion setzt eine Zwei-Faktor-Authentifizierung voraus. Bitte geben Sie das Einmalpasswort von Ihrem 2FA-Token ein.", + "pidefaultmessage" : "Diese Aktion setzt eine Zwei-Faktor-Authentifizierung voraus. Bitte geben Sie die 6 Ziffern des Einmalpassworts von Ihrem 2FA-Token ein.", "preftokentype" : "OTP", "pirealm" : "${PI_REALM}", "pidolog" : "true", diff --git a/charts/dbildungs-iam-keycloak/prod-realm-spsh.json b/charts/dbildungs-iam-keycloak/prod-realm-spsh.json index 4043b4a0..db80ab8f 100644 --- a/charts/dbildungs-iam-keycloak/prod-realm-spsh.json +++ b/charts/dbildungs-iam-keycloak/prod-realm-spsh.json @@ -2735,7 +2735,7 @@ "piservicepass" : "${PI_ADMIN_PASSWORD}", "piserver" : "${PI_BASE_URL}", "piserviceaccount" : "${PI_ADMIN_USER}", - "pidefaultmessage" : "Diese Aktion setzt eine Zwei-Faktor-Authentifizierung voraus. Bitte geben Sie das Einmalpasswort von Ihrem 2FA-Token ein.", + "pidefaultmessage" : "Diese Aktion setzt eine Zwei-Faktor-Authentifizierung voraus. Bitte geben Sie die 6 Ziffern des Einmalpassworts von Ihrem 2FA-Token ein.", "preftokentype" : "OTP", "pirealm" : "${PI_REALM}", "pidolog" : "true", diff --git a/charts/dbildungs-iam-keycloak/templates/deployment.yaml b/charts/dbildungs-iam-keycloak/templates/deployment.yaml index 2face79c..0500d021 100644 --- a/charts/dbildungs-iam-keycloak/templates/deployment.yaml +++ b/charts/dbildungs-iam-keycloak/templates/deployment.yaml @@ -50,6 +50,8 @@ spec: env: - name: JAVA_OPTS_APPEND value: "-Djgroups.dns.query={{ template "common.names.name" . }}-headless.{{ template "common.names.namespace" . }}.svc.cluster.local" + - name: KC_HTTP_POOL_MAX_THREADS + value: "{{ .Values.threadPool }}" - name: KEYCLOAK_ADMIN_PASSWORD valueFrom: secretKeyRef: @@ -176,4 +178,4 @@ spec: name: {{ .Values.realm.name }} {{- with .Values.extraVolumes }} {{- toYaml . | nindent 8 }} - {{- end }} \ No newline at end of file + {{- end }} diff --git a/charts/dbildungs-iam-keycloak/values.yaml b/charts/dbildungs-iam-keycloak/values.yaml index 988b235f..798e9213 100644 --- a/charts/dbildungs-iam-keycloak/values.yaml +++ b/charts/dbildungs-iam-keycloak/values.yaml @@ -79,6 +79,9 @@ resources: memory: "1Gi" cpu: "150m" +# should be about 4 times the cpu count +threadPool: 16 + startupProbe: enabled: true httpGet: diff --git a/src/providers/PrivacyIDEA-Provider.jar b/src/providers/PrivacyIDEA-Provider.jar index c4b8f3ff60a8360c7be909454adc38f9ff688679..b8e5dfe34906a09665fe2d77956389163eade154 100644 GIT binary patch delta 50496 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 DCu?;w delta 51279 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

V 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 Ma|X5Bd!y3*4}GGN3jhEB diff --git a/src/themes/schulportal/login/error.ftl b/src/themes/schulportal/login/error.ftl new file mode 100644 index 00000000..5816edfb --- /dev/null +++ b/src/themes/schulportal/login/error.ftl @@ -0,0 +1,21 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout displayMessage=false; section> + <#if section = "header"> + ${kcSanitize(msg("errorTitle"))?no_esc} + <#elseif section = "form"> +

+

${kcSanitize(msg("loginError"))?no_esc}

+
+ action="${client.baseUrl?ensure_ends_with("/")}api/auth/logout" + <#else> + action="/realms/${realm.name}/protocol/openid-connect/logout" + + > +
+ +
+
+
+ + \ No newline at end of file diff --git a/src/themes/schulportal/login/messages/messages_de.properties b/src/themes/schulportal/login/messages/messages_de.properties index 153577c0..83067658 100644 --- a/src/themes/schulportal/login/messages/messages_de.properties +++ b/src/themes/schulportal/login/messages/messages_de.properties @@ -5,6 +5,8 @@ enterOldPassword=Bitte geben Sie Ihr aktuelles Passwort ein. help=Hilfe legalNotice=Impressum loginAccountTitle=Anmeldung +loginError=Während Ihrer Anmeldung ist leider ein Fehler aufgetreten. Bitte versuchen Sie es erneut.
Sollte eine Anmeldung weiterhin nicht möglich sein, wenden Sie sich bitte an Ihre schulischen Administratorinnen und Administratoren. +tryAgain=Erneut versuchen passwordConfirm=Neues Passwort erneut eingeben passwordHelpText=Passwort vergessen?
Wenden Sie sich an Ihre schulischen Administratorinnen und Administratoren. passwordNew=Neues Passwort eingeben @@ -17,7 +19,7 @@ usernameOrEmail=Benutzername accountDisabledMessage=Ihr Benutzerkonto ist gesperrt. Bitte wenden Sie sich an Ihre schulischen Administratorinnen und Administratoren. authenticationOtpFailedMessage=Ungültiges Einmalpasswort. Bitte versuchen Sie es erneut oder wenden Sie sich an Ihre schulischen Administratorinnen oder Administratoren. authenticationFailedMessage=Leider gibt es technische Probleme bei der Zweifaktor-Authentifizierung. Bitte versuchen Sie es zu einem späteren Zeitpunkt erneut. Falls das Problem bestehen bleibt, wenden Sie sich bitte an Ihre schulischen Administratorinnen und Administratoren. -authenticationOtpUsedAgainFailedMessage=Zwei-Faktor-Authentifizierung fehlgeschlagen: Das eingegebene OTP wurde bereits verwendet. Bitte warten Sie auf das nächste OTP und versuchen Sie es erneut. +authenticationOtpUsedAgainFailedMessage=Zwei-Faktor-Authentifizierung fehlgeschlagen: Das eingegebene Einmalpasswort wurde bereits verwendet. Bitte warten Sie auf das nächste Einmalpasswort und versuchen Sie es erneut. authenticationFailedFailcounterExceededMessage=Zwei-Faktor-Authentifizierung fehlgeschlagen: Die erlaubte Anzahl fehlgeschlagener Versuche wurde überschritten. Ihr Token ist gesperrt. Bitte wenden Sie sich an Ihre schulischen Administratorinnen und Administratoren, um einen neuen Token zu erstellen. title=Schulportal SH mindPasswordGuidelines=Bitte beachten Sie die untenstehenden Vorgaben. @@ -30,4 +32,4 @@ passwordRequirementDigit=Mindestens 1 Ziffer enthalten passwordRequirementHistory=Nicht dem bisherigen Passwort entsprechen passwordRequirementNoWhitespace=Keine Leerzeichen enthalten systemStatus=Systemstatus -userNotFound=Diese Aktion setzt eine Zweifaktor-Authentifizierung (2FA) voraus. Bitte melden Sie sich im Schulportal an und richten dort eine 2FA ein oder wenden Sie sich an Ihre schulischen Administratorinnen und Administratoren. \ No newline at end of file +userNotFound=Diese Aktion setzt eine Zweifaktor-Authentifizierung (2FA) voraus. Bitte melden Sie sich im Schulportal an und richten dort eine 2FA ein oder wenden Sie sich an Ihre schulischen Administratorinnen und Administratoren. diff --git a/src/themes/schulportal/login/template.ftl b/src/themes/schulportal/login/template.ftl index 70285369..9600b2dc 100644 --- a/src/themes/schulportal/login/template.ftl +++ b/src/themes/schulportal/login/template.ftl @@ -276,4 +276,4 @@ - \ No newline at end of file +