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");
我正在使用具有 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");