IdentityServer4 从 Google 等外部提供商注销

IdentityServer4 logout from external provider like Google

我正在使用具有 Asp.Net 核心身份的 IdentityServer4。在 Identity Server 中,我启用 GOOGLE 作为外部提供者。我可以使用 GOOGLE 登录。我第一次尝试使用 GOOGLE 登录时,Identity Server 向我显示 GOOGLE 的页面,我可以在其中选择帐户或插入我的凭据。

当我注销时,我收到了我已注销的消息,但是当我尝试使用 GOOGLE 再次登录时,我直接登录而无需输入我的凭据,如果我有超过 1 GOOGLE 帐户我无法选择其他帐户。

如果我从登录屏幕直接连接到服务器,或者如果我在 Expo 本地应用程序中通过 AuthRequest 调用具有 id_token_hint 增强的 endsession 端点,都会发生这种情况。

为什么?我快疯了。

我找到了这个解决方案:

await WebBrowser.openAuthSessionAsync("https://www.google.com/accounts/Logout?continue=https://appengine.google.com/_ah/logout?continue=http://myIdentityServerEndSessionEndpoint", "exp://myReactNativeApp");