diff --git a/.changeset/soft-falcons-love.md b/.changeset/soft-falcons-love.md index 9fbc8f1419..56ed193501 100644 --- a/.changeset/soft-falcons-love.md +++ b/.changeset/soft-falcons-love.md @@ -2,4 +2,10 @@ '@backstage/plugin-user-settings': minor --- -**BREAKING** Fixed settings page showing providers as logged out when the user is using more than one provider, and displayed some additional login information. +**BREAKING**: The `apiRef` passed to `ProviderSettingsItem` now needs to +implement `ProfileInfoApi & SessionApi`, rather than just the latter. This is +unlikely to have an effect on most users though, since the builtin auth +providers generally implement both. + +Fixed settings page showing providers as logged out when the user is using more +than one provider, and displayed some additional login information. diff --git a/plugins/user-settings/src/components/AuthProviders/ProviderSettingsItem.tsx b/plugins/user-settings/src/components/AuthProviders/ProviderSettingsItem.tsx index b5d056eed2..ab6ad8dff9 100644 --- a/plugins/user-settings/src/components/AuthProviders/ProviderSettingsItem.tsx +++ b/plugins/user-settings/src/components/AuthProviders/ProviderSettingsItem.tsx @@ -60,11 +60,13 @@ export const ProviderSettingsItem = (props: { api .getProfile({ optional: true }) .then((profileResponse: ProfileInfo | undefined) => { - if (sessionState === SessionState.SignedIn) { - setSignedIn(true); - } - if (profileResponse) { - setProfile(profileResponse); + if (!didCancel) { + if (sessionState === SessionState.SignedIn) { + setSignedIn(true); + } + if (profileResponse) { + setProfile(profileResponse); + } } }); }