From 6c80c5cc77750aead50e62136a6594b05f21b42b Mon Sep 17 00:00:00 2001 From: Guillaume Chervet Date: Thu, 4 Jul 2024 16:15:47 +0200 Subject: [PATCH] fix(oidc): logout trigger login (release) (#1394) * fix(oidc): logout trigger login * fix (alpha) * add use case to demo --- examples/react-oidc-demo/src/Profile.tsx | 14 ++++++++++++-- packages/oidc-client/src/oidc.ts | 4 ++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/examples/react-oidc-demo/src/Profile.tsx b/examples/react-oidc-demo/src/Profile.tsx index 1a767f3a5..25d5584fd 100644 --- a/examples/react-oidc-demo/src/Profile.tsx +++ b/examples/react-oidc-demo/src/Profile.tsx @@ -1,4 +1,12 @@ -import { OidcSecure, type OidcUserInfo, OidcUserStatus, useOidcAccessToken, useOidcIdToken, useOidcUser } from '@axa-fr/react-oidc'; +import { + OidcSecure, + type OidcUserInfo, + OidcUserStatus, + useOidc, + useOidcAccessToken, + useOidcIdToken, + useOidcUser +} from '@axa-fr/react-oidc'; import React from 'react'; interface OidcUserRoleInfo extends OidcUserInfo{ @@ -31,8 +39,10 @@ const DisplayUserInfo = () => { }; export const Profile = () => { + const { logout, isAuthenticated } = useOidc(); return ( -
+
+ {isAuthenticated &&

} diff --git a/packages/oidc-client/src/oidc.ts b/packages/oidc-client/src/oidc.ts index b5b8e9079..cf3e19049 100644 --- a/packages/oidc-client/src/oidc.ts +++ b/packages/oidc-client/src/oidc.ts @@ -252,6 +252,10 @@ Please checkout that you are using OIDC hook inside a = null; async loginAsync(callbackPath:string = undefined, extras:StringMap = null, isSilentSignin = false, scope:string = undefined, silentLoginOnly = false) { + if (this.logoutPromise) { + await this.logoutPromise; + } + if (this.loginPromise !== null) { return this.loginPromise; }