From c30e0600fcc0621e30ada0767c46a188e875db2e Mon Sep 17 00:00:00 2001 From: garronej Date: Thu, 20 Apr 2023 13:22:17 +0200 Subject: [PATCH] Fix redirect back from account page --- package.json | 2 +- src/App/App.tsx | 13 ++++++++++--- src/keycloak-theme/account/Template.tsx | 2 +- yarn.lock | 8 ++++---- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 84ac544..137c365 100755 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "evt": "^2.4.15", "jwt-decode": "^3.1.2", "keycloak-js": "^21.0.1", - "keycloakify": "^7.9.2", + "keycloakify": "^7.9.4", "powerhooks": "^0.26.8", "react": "18.1.0", "react-dom": "18.1.0", diff --git a/src/App/App.tsx b/src/App/App.tsx index 86d26ba..b6146dc 100644 --- a/src/App/App.tsx +++ b/src/App/App.tsx @@ -51,13 +51,20 @@ function ContextualizedApp() { value: "en" }).newUrl; - // Enable to redirect to the app from the account page we'll get kcContext.url.referrerURI + // Enable to redirect to the app from the account page we'll get the referrer_uri under kcContext.referrer.url + // It's useful to avoid hard coding the app url in the keycloak config accountUrl = addParamToUrl({ url: accountUrl, name: "referrer", value: keycloakClient }).newUrl; + accountUrl = addParamToUrl({ + url: accountUrl, + name: "referrer_uri", + value: window.location.href + }).newUrl; + return (
@@ -66,7 +73,7 @@ function ContextualizedApp() { <>

You are authenticated !

{/* On older Keycloak version its /auth/realms instead of /realms */} - Link to your Keycloak account + Link to your Keycloak account
{JSON.stringify(jwt_decode(oidcClient.getAccessToken()), null, 2)}
@@ -78,7 +85,7 @@ function ContextualizedApp() { logo test_image

Hello world

-

Check out all keycloak pages in the Storybook!

+

Check out all keycloak pages in the Storybook!

Once you've identified the ones you want to customize run npx eject-keycloak-page

diff --git a/src/keycloak-theme/account/Template.tsx b/src/keycloak-theme/account/Template.tsx index d535986..ecf61ba 100644 --- a/src/keycloak-theme/account/Template.tsx +++ b/src/keycloak-theme/account/Template.tsx @@ -62,7 +62,7 @@ export default function Template(props: TemplateProps) { )} - {referrer?.url !== undefined && ( + {referrer?.url && (
  • {msg("backTo", referrer.name)} diff --git a/yarn.lock b/yarn.lock index 6ec495a..47c5fd3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9697,10 +9697,10 @@ keycloak-js@^21.0.1: base64-js "^1.5.1" js-sha256 "^0.9.0" -keycloakify@^7.9.2: - version "7.9.2" - resolved "https://registry.yarnpkg.com/keycloakify/-/keycloakify-7.9.2.tgz#bf64ce616b6b955d0d2ab2f0c697d8c393a599eb" - integrity sha512-yARvJTsIjQCdT3GA3vh1ejcqlF9U8RYZ+wpEI8JNj0CI0viok/OxbLsI6fmeZL0n3PKYpCwMRj7uafdFOekrSQ== +keycloakify@^7.9.4: + version "7.9.4" + resolved "https://registry.yarnpkg.com/keycloakify/-/keycloakify-7.9.4.tgz#c458330ada1136ee80e627234f4536a101d77c7e" + integrity sha512-XoCEaSsHT0Ynp49KgK6qUSllEbpOzP1e0E2CpCcm32k18GA8w/oJokADnH5O1bf60jt5vUKW0lxIqvnPSCY/2Q== dependencies: "@octokit/rest" "^18.12.0" "@types/yazl" "^2.4.2"