From b890d34aa514b308b3db9b9189ef01dad76f0c17 Mon Sep 17 00:00:00 2001 From: Lisa Jian Date: Tue, 14 Dec 2021 11:52:58 -0800 Subject: [PATCH 1/3] Fill in SAMLResponse nameId for pre-populated users --- src/emulator/auth/handlers.ts | 2 +- src/emulator/auth/widget_ui.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/emulator/auth/handlers.ts b/src/emulator/auth/handlers.ts index 2ae426a3bb0..5d79581625b 100644 --- a/src/emulator/auth/handlers.ts +++ b/src/emulator/auth/handlers.ts @@ -201,7 +201,7 @@ export function registerHandlers( ${ info.displayName || "(No display name)" } - ${ + ${ info.email || "" } ` diff --git a/src/emulator/auth/widget_ui.ts b/src/emulator/auth/widget_ui.ts index 74f1b303baa..34cfea3f336 100644 --- a/src/emulator/auth/widget_ui.ts +++ b/src/emulator/auth/widget_ui.ts @@ -176,7 +176,7 @@ function finishWithUser(urlEncodedIdToken) { // Save reasonable defaults for SAML providers if (isSamlProvider) { - var email = document.getElementById('email-input').value; + var email = document.getElementById('email-input').value || document.getElementById('reuse-email').innerText; url += '&SAMLResponse=' + encodeURIComponent(JSON.stringify({ assertion: { subject: { From 85eef074e9905a146c57ae00c354149690195349 Mon Sep 17 00:00:00 2001 From: Lisa Jian Date: Tue, 14 Dec 2021 12:53:47 -0800 Subject: [PATCH 2/3] Grab email from id_token --- src/emulator/auth/widget_ui.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/emulator/auth/widget_ui.ts b/src/emulator/auth/widget_ui.ts index 34cfea3f336..535eb044db2 100644 --- a/src/emulator/auth/widget_ui.ts +++ b/src/emulator/auth/widget_ui.ts @@ -158,16 +158,17 @@ var reuseAccountEls = document.querySelectorAll('.js-reuse-account'); if (reuseAccountEls.length) { [].forEach.call(reuseAccountEls, function (el) { var urlEncodedIdToken = el.dataset.idToken; + const decoded = JSON.parse(decodeURIComponent(urlEncodedIdToken)); el.addEventListener('click', function (e) { e.preventDefault(); - finishWithUser(urlEncodedIdToken); + finishWithUser(urlEncodedIdToken, decoded.email); }); }); } else { document.querySelector('.js-accounts-help-text').textContent = "No " + formattedProviderId + " accounts exist in the Auth Emulator."; } -function finishWithUser(urlEncodedIdToken) { +function finishWithUser(urlEncodedIdToken, email) { // Use widget URL, but replace all query parameters (no apiKey etc.). var url = window.location.href.split('?')[0]; // Avoid URLSearchParams for browser compatibility. @@ -176,7 +177,6 @@ function finishWithUser(urlEncodedIdToken) { // Save reasonable defaults for SAML providers if (isSamlProvider) { - var email = document.getElementById('email-input').value || document.getElementById('reuse-email').innerText; url += '&SAMLResponse=' + encodeURIComponent(JSON.stringify({ assertion: { subject: { @@ -234,7 +234,7 @@ document.getElementById('main-form').addEventListener('submit', function(e) { if (screenName) claims.screenName = screenName; if (photoUrl) claims.photoUrl = photoUrl; - finishWithUser(createFakeClaims(claims)); + finishWithUser(createFakeClaims(claims), email); } }); From 1baf996ec021e33e49331e115efdce4dc7abc0eb Mon Sep 17 00:00:00 2001 From: Lisa Jian Date: Tue, 14 Dec 2021 16:24:29 -0800 Subject: [PATCH 3/3] Change from email to claims.email --- src/emulator/auth/widget_ui.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/emulator/auth/widget_ui.ts b/src/emulator/auth/widget_ui.ts index 535eb044db2..32e3c4e1739 100644 --- a/src/emulator/auth/widget_ui.ts +++ b/src/emulator/auth/widget_ui.ts @@ -234,7 +234,7 @@ document.getElementById('main-form').addEventListener('submit', function(e) { if (screenName) claims.screenName = screenName; if (photoUrl) claims.photoUrl = photoUrl; - finishWithUser(createFakeClaims(claims), email); + finishWithUser(createFakeClaims(claims), claims.email); } });