gpt4 book ai didi

c# - 从 IdentityServer 悄悄退出?

转载 作者:太空宇宙 更新时间:2023-11-03 22:40:50 28 4
gpt4 key购买 nike

我正在使用来自 IdentityServer 4 实例的 OAuth2。基于this example ,我能够登录并调用服务器托管的 API。

如何在不显示提示用户确认注销的 Web View 的情况下从 OidcClient 执行注销?

目前,我正在使用以下代码注销,但库仍然显示带有注销提示的 webview。理想情况下,我只想处理注销而不显示任何其他弹出窗口:

await _client.LogoutAsync(
new LogoutRequest {
BrowserDisplayMode = DisplayMode.Hidden,
});

最佳答案

LogoutRequest包含 IdTokenHint为此的属性(property)。如果您想禁用注销提示,您需要将其设置为当前用户的 id_token。请参阅此 here 的 OIDC 规范:

id_token_hint

RECOMMENDED. Previously issued ID Token passed to the logout endpoint as a hint about the End-User's current authenticated session with the Client. This is used as an indication of the identity of the End-User that the RP is requesting be logged out by the OP. The OP need not be listed as an audience of the ID Token when it is used as an id_token_hint value.

通过为该请求提供id_token,权限可以确定注销请求本身是真实的,因此认为不需要提示用户。

如果您没有 id_token,您需要在第一次授权用户时请求它,然后保留它以备后用。

关于c# - 从 IdentityServer 悄悄退出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52302863/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com