【问题标题】:Logging out from IdentityServer quietly?悄悄地从 IdentityServer 注销?
【发布时间】:2019-02-17 13:10:09
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c# xamarin.forms oauth-2.0 identityserver4


    【解决方案1】:

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

    id_token_hint

    推荐。先前发出的 ID 令牌传递给注销端点,作为有关最终用户与客户端的当前经过身份验证的会话的提示。这用作 RP 请求由 OP 注销的最终用户身份的指示。 OP 用作 id_token_hint 值时,无需将其列为 ID Token 的受众。

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

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

    【讨论】:

      猜你喜欢
      • 2012-01-23
      • 2015-02-14
      • 2018-03-26
      • 2019-11-22
      • 2015-11-26
      • 1970-01-01
      • 2014-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多