From 9a108ca6d975158c26357c5ad08348b7a0881f3d Mon Sep 17 00:00:00 2001 From: mansisampat Date: Tue, 7 Oct 2025 09:39:47 +0530 Subject: [PATCH 1/4] Demo app improvements. --- packages/auth/demo/public/index.html | 20 ++++ packages/auth/demo/src/index.js | 131 +++++++++++++++++++++------ 2 files changed, 125 insertions(+), 26 deletions(-) diff --git a/packages/auth/demo/public/index.html b/packages/auth/demo/public/index.html index fde656a9d48..bf0cefafc02 100644 --- a/packages/auth/demo/public/index.html +++ b/packages/auth/demo/public/index.html @@ -853,6 +853,26 @@

Sign in with your CIAM token

+ + +
Initialize Regional Auth
+
+ + +
+ +
+
+ + +
Set Token Refresh Handler
+ + +
+
+ + +
Exchange Token
No CIAM token found. User not logged in.
{ + const firebaseToken = await regionalAuth.getFirebaseAccessToken(); + if (firebaseToken) { + firebaseTokenStatus.textContent = + '✅ Firebase token is set: ' + firebaseToken; + } else { + firebaseTokenStatus.textContent = + 'No CIAM token found. User not logged in.'; + } + console.log('firebaseToken after delay: ', firebaseToken); + }, 1000); + localStorage.setItem('regionalAuthTenantId', tenantId); + } catch (error) { + onAuthError(error); + } +} + function onExchangeToken(event) { event.preventDefault(); + if (!regionalAuth) { + onAuthError({ + code: 'auth-not-initialized', + message: + 'Regional Auth is not initialized. Please enter a Tenant ID and initialize.' + }); + return; + } + const byoCiamInput = document.getElementById('byo-ciam-token'); const idpConfigId = document.getElementById('idp-config-id'); const firebaseTokenStatus = document.getElementById('firebase-token-status'); @@ -1610,9 +1673,42 @@ function onExchangeToken(event) { .catch(error => { (firebaseTokenStatus.textContent = 'Error exchanging token: '), error; console.error('Error exchanging token:', error); + onAuthError(error); }); } +function onSetSuccessfulHandlerClick() { + if (!regionalAuth) { + onAuthError({ + code: 'auth-not-initialized', + message: + 'Regional Auth is not initialized. Please enter a Tenant ID and initialize.' + }); + return; + } + + const tokenRefreshHandler = new TokenRefreshHandlerImpl(); + regionalAuth.setTokenRefreshHandler(tokenRefreshHandler); + localStorage.setItem('tokenRefreshHandlerType', 'success'); + $('#token-handler-status').text('✅ Token refresh handler is set to success.'); +} + +function onSetFailureHandlerClick() { + if (!regionalAuth) { + onAuthError({ + code: 'auth-not-initialized', + message: + 'Regional Auth is not initialized. Please enter a Tenant ID and initialize.' + }); + return; + } + + const tokenRefreshHandler = new TokenRefreshHandlerFailureImpl(); + regionalAuth.setTokenRefreshHandler(tokenRefreshHandler); + localStorage.setItem('tokenRefreshHandlerType', 'failure'); + $('#token-handler-status').text('✅ Token refresh handler is set to failure.'); +} + /** * Adds a new row to insert an OAuth custom parameter key/value pair. * @param {!jQuery.Event} _event The jQuery event object. @@ -2158,32 +2254,11 @@ function initApp() { connectAuthEmulator(auth, AUTH_EMULATOR_URL); } - let tenantConfig = { - 'location': 'global', - 'tenantId': 'Foo-e2e-tenant-001' - }; - const regionalApp = initializeApp(config, `${auth.name}-rgcip`); - - regionalAuth = initializeAuth(regionalApp, { - persistence: indexedDBLocalPersistence, - popupRedirectResolver: browserPopupRedirectResolver, - tenantConfig: tenantConfig - }); - const tokenRefreshHandler = new TokenRefreshHandlerImpl(); - regionalAuth.setTokenRefreshHandler(tokenRefreshHandler); - - const firebaseTokenStatus = document.getElementById('firebase-token-status'); - setTimeout(async () => { - const firebaseToken = await regionalAuth.getFirebaseAccessToken(); - if (firebaseToken) { - firebaseTokenStatus.textContent = - '✅ Firebase token is set: ' + firebaseToken; - } else { - firebaseTokenStatus.textContent = - 'No CIAM token found. User not logged in.'; - } - console.log('firebaseToken after delay: ', firebaseToken); - }, 1000); + const persistedTenantId = localStorage.getItem('regionalAuthTenantId'); + if (persistedTenantId) { + $('#tenant-id-input').val(persistedTenantId); + onInitializeRegionalAuthClick(); + } tempApp = initializeApp( { @@ -2528,6 +2603,10 @@ function initApp() { // Performs Exchange Token $('#exchange-token').click(onExchangeToken); + + $('#initialize-regional-auth-btn').click(onInitializeRegionalAuthClick); + $('#set-successful-handler-btn').click(onSetSuccessfulHandlerClick); + $('#set-failure-handler-btn').click(onSetFailureHandlerClick); } $(initApp); From 5fe9d5f117c5169ad57f057bf36513e460ef483d Mon Sep 17 00:00:00 2001 From: mansisampat Date: Tue, 7 Oct 2025 12:14:13 +0530 Subject: [PATCH 2/4] yarn run format --- packages/auth/demo/src/index.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/auth/demo/src/index.js b/packages/auth/demo/src/index.js index fad1d888c9d..ef3e7db5ded 100644 --- a/packages/auth/demo/src/index.js +++ b/packages/auth/demo/src/index.js @@ -1690,7 +1690,9 @@ function onSetSuccessfulHandlerClick() { const tokenRefreshHandler = new TokenRefreshHandlerImpl(); regionalAuth.setTokenRefreshHandler(tokenRefreshHandler); localStorage.setItem('tokenRefreshHandlerType', 'success'); - $('#token-handler-status').text('✅ Token refresh handler is set to success.'); + $('#token-handler-status').text( + '✅ Token refresh handler is set to success.' + ); } function onSetFailureHandlerClick() { @@ -1706,7 +1708,9 @@ function onSetFailureHandlerClick() { const tokenRefreshHandler = new TokenRefreshHandlerFailureImpl(); regionalAuth.setTokenRefreshHandler(tokenRefreshHandler); localStorage.setItem('tokenRefreshHandlerType', 'failure'); - $('#token-handler-status').text('✅ Token refresh handler is set to failure.'); + $('#token-handler-status').text( + '✅ Token refresh handler is set to failure.' + ); } /** From 7585b8a149c2b018a851ef945b7580a03df70068 Mon Sep 17 00:00:00 2001 From: mansisampat Date: Tue, 7 Oct 2025 12:32:00 +0530 Subject: [PATCH 3/4] review comments --- packages/auth/demo/src/index.js | 43 +++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/packages/auth/demo/src/index.js b/packages/auth/demo/src/index.js index ef3e7db5ded..c6ccef16337 100644 --- a/packages/auth/demo/src/index.js +++ b/packages/auth/demo/src/index.js @@ -1648,14 +1648,18 @@ function onInitializeRegionalAuthClick() { } } +function clearRegionalAuthInstance() { + localStorage.removeItem('regionalAuthTenantId'); + localStorage.removeItem('tokenRefreshHandlerType'); // Clear handler choice + $('#tenant-id-input').val(''); + regionalAuth = null; + $('#regional-auth-status').text('regionalAuth is not initialized'); + $('#token-handler-status').text('Token refresh handler is not set.'); +} + function onExchangeToken(event) { event.preventDefault(); - if (!regionalAuth) { - onAuthError({ - code: 'auth-not-initialized', - message: - 'Regional Auth is not initialized. Please enter a Tenant ID and initialize.' - }); + if (!validateRegionalAuth()) { return; } @@ -1678,12 +1682,7 @@ function onExchangeToken(event) { } function onSetSuccessfulHandlerClick() { - if (!regionalAuth) { - onAuthError({ - code: 'auth-not-initialized', - message: - 'Regional Auth is not initialized. Please enter a Tenant ID and initialize.' - }); + if (!validateRegionalAuth()) { return; } @@ -1696,12 +1695,7 @@ function onSetSuccessfulHandlerClick() { } function onSetFailureHandlerClick() { - if (!regionalAuth) { - onAuthError({ - code: 'auth-not-initialized', - message: - 'Regional Auth is not initialized. Please enter a Tenant ID and initialize.' - }); + if (!validateRegionalAuth()) { return; } @@ -1713,6 +1707,18 @@ function onSetFailureHandlerClick() { ); } +function validateRegionalAuth() { + if (!regionalAuth) { + onAuthError({ + code: 'auth-not-initialized', + message: + 'Regional Auth is not initialized. Please enter a Tenant ID and initialize.' + }); + return false; + } + return true; +} + /** * Adds a new row to insert an OAuth custom parameter key/value pair. * @param {!jQuery.Event} _event The jQuery event object. @@ -2611,6 +2617,7 @@ function initApp() { $('#initialize-regional-auth-btn').click(onInitializeRegionalAuthClick); $('#set-successful-handler-btn').click(onSetSuccessfulHandlerClick); $('#set-failure-handler-btn').click(onSetFailureHandlerClick); + $('#clear-regional-auth-id-btn').click(clearRegionalAuthInstance); } $(initApp); From b0b2911f6350067c385ae33b430520eaa2ca8f19 Mon Sep 17 00:00:00 2001 From: mansisampat Date: Tue, 7 Oct 2025 12:32:58 +0530 Subject: [PATCH 4/4] add unset RegionalAuth button --- packages/auth/demo/public/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/auth/demo/public/index.html b/packages/auth/demo/public/index.html index bf0cefafc02..01509d5e1a0 100644 --- a/packages/auth/demo/public/index.html +++ b/packages/auth/demo/public/index.html @@ -862,6 +862,7 @@

Sign in with your CIAM token

+