From d8cc30f934c84f01e9ac5a26b50c28f9fc7bf87d Mon Sep 17 00:00:00 2001 From: Toni Pulkkinen <60097337+solita-tonipu@users.noreply.github.com> Date: Thu, 8 Jun 2023 20:08:31 +0300 Subject: [PATCH] AE-1906: Use suomifi logout flow with virtu --- .../src/main/clj/solita/etp/config.clj | 4 +--- .../src/main/clj/solita/etp/handler.clj | 21 +++++++------------ 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/etp-backend/src/main/clj/solita/etp/config.clj b/etp-backend/src/main/clj/solita/etp/config.clj index 03f333bf2..133830187 100644 --- a/etp-backend/src/main/clj/solita/etp/config.clj +++ b/etp-backend/src/main/clj/solita/etp/config.clj @@ -86,9 +86,7 @@ ;; Logout (def keycloak-suomifi-logout-url (env "KEYCLOAK_SUOMIFI_LOGOUT_URL" index-url)) (def keycloak-virtu-logout-url (env "KEYCLOAK_VIRTU_LOGOUT_URL" index-url)) -(def cognito-logout-url (env "COGNITO_LOGOUT_URL" (str index-url "?client=id=localhost"))) -(def cognito-suomifi-logout-url (env "COGNITO_SUOMIFI_LOGOUT_URL" (str index-url "/uloskirjauduttu"))) -(def cognito-virtu-logout-url (env "COGNITO_VIRTU_LOGOUT_URL" (str index-url "/uloskirjauduttu"))) +(def cognito-logout-url (env "COGNITO_LOGOUT_URL" (str index-url "/uloskirjauduttu"))) ;; Laskutus (def laskutus-sftp-host (env "LASKUTUS_SFTP_HOST" "localhost")) diff --git a/etp-backend/src/main/clj/solita/etp/handler.clj b/etp-backend/src/main/clj/solita/etp/handler.clj index 734577838..555421fd7 100644 --- a/etp-backend/src/main/clj/solita/etp/handler.clj +++ b/etp-backend/src/main/clj/solita/etp/handler.clj @@ -49,19 +49,14 @@ (defn logout-location [req] (let [{:keys [data]} (req->jwt req)] - (if data - (if-let [id-token (:custom:id_token data)] ; TODO: Remove check when new keycloak version is in use - (if (:custom:VIRTU_localID data) - (str config/cognito-virtu-logout-url - "&logout_uri=" config/keycloak-virtu-logout-url) - (str config/keycloak-suomifi-logout-url - "?id_token_hint=" id-token - "&post_logout_redirect_uri=" (URLEncoder/encode config/cognito-suomifi-logout-url StandardCharsets/UTF_8))) - (str config/cognito-logout-url - "&logout_uri=" - (str (if (:custom:VIRTU_localID data) - config/keycloak-virtu-logout-url - config/keycloak-suomifi-logout-url)))) + (if-let [id-token (:custom:id_token data)] + (if (:custom:VIRTU_localID data) + (str config/keycloak-virtu-logout-url + "?id_token_hint=" id-token + "&post_logout_redirect_uri=" (URLEncoder/encode config/cognito-logout-url StandardCharsets/UTF_8)) + (str config/keycloak-suomifi-logout-url + "?id_token_hint=" id-token + "&post_logout_redirect_uri=" (URLEncoder/encode config/cognito-logout-url StandardCharsets/UTF_8))) (str config/index-url "/uloskirjauduttu")))) (def empty-cookie {:value ""