diff --git a/.changeset/six-scissors-smile.md b/.changeset/six-scissors-smile.md new file mode 100644 index 0000000000..7680edbba6 --- /dev/null +++ b/.changeset/six-scissors-smile.md @@ -0,0 +1,5 @@ +--- +'@backstage/core-components': patch +--- + +The `SignInPage` guest provider will now fall back to legacy guest auth if the backend request fails, allowing guest auth without a running backend. diff --git a/packages/core-components/src/layout/SignInPage/guestProvider.tsx b/packages/core-components/src/layout/SignInPage/guestProvider.tsx index 3867caed5a..145b653a82 100644 --- a/packages/core-components/src/layout/SignInPage/guestProvider.tsx +++ b/packages/core-components/src/layout/SignInPage/guestProvider.tsx @@ -60,7 +60,11 @@ const Component: ProviderComponent = ({ discoveryApi, }); - const identityResponse = await getIdentity(identity); + const identityResponse = await getIdentity(identity).catch(error => { + // eslint-disable-next-line no-console + console.warn(`Failed to sign in as a guest, ${error}`); + return undefined; + }); if (!identityResponse) { // eslint-disable-next-line no-alert @@ -108,7 +112,11 @@ const loader: ProviderLoader = async apis => { provider: 'guest', discoveryApi: apis.get(discoveryApiRef)!, }); - const identityResponse = await getIdentity(identity); + const identityResponse = await getIdentity(identity).catch(error => { + // eslint-disable-next-line no-console + console.warn(`Failed to sign in as a guest, ${error}`); + return undefined; + }); if (!identityResponse && !useLegacyGuestToken) { return undefined;