From ca0f0645c52dd827b97912d5ee6f1836e05f56e1 Mon Sep 17 00:00:00 2001 From: Guillaume Chervet Date: Thu, 6 Feb 2025 21:52:52 +0100 Subject: [PATCH] fix(oidc): lost session back (release) (#1514) --- packages/oidc-client/src/renewTokens.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/oidc-client/src/renewTokens.ts b/packages/oidc-client/src/renewTokens.ts index 67fb15ec4..067f11299 100644 --- a/packages/oidc-client/src/renewTokens.ts +++ b/packages/oidc-client/src/renewTokens.ts @@ -216,7 +216,17 @@ const synchroniseTokensAsync = message: `wait because navigator is offline try ${numberTryOnline}`, }); } - const nextIndex = index + 1; + const isDocumentHidden = document.hidden; + const nextIndex = isDocumentHidden ? index : index + 1; + if (index > 4) { + if(isDocumentHidden){ + return { tokens: oidc.tokens, status: 'GIVE_UP' }; + } else { + updateTokens(null); + oidc.publishEvent(eventNames.refreshTokensAsync_error, { message: 'refresh token' }); + return { tokens: null, status: 'SESSION_LOST' }; + } + } if (!extras) { extras = {}; }