【问题标题】:AppAuth-Android logout and end sessionAppAuth-Android 注销并结束会话
【发布时间】:2020-11-20 03:31:22
【问题描述】:

显然,这个库 AppAuth 的 IOS 版本支持使用 end_session_endpoint 注销,但对于 android 版本,您必须实现一个或找到另一种注销用户的方法。

目前使用的是kotlin版本的库

如果未调用 setPrompt 方法,则在 authorisationRequestBuilder 上,然后在登录期间您会看到 KMSI(保持登录状态)复选框选项。

使 authState、持久化令牌和所有其他资源无效,因为再次点击授权端点将自动发出另一个令牌。这是因为从技术上讲,他们仍然在服务器中登录。

仅使用 end_session_endpoint 而没有提供 postLogoutRedirectUri。是否可以在端点成功后立即关闭打开的 chrome 自定义选项卡来成功注销用户并自动重定向用户?

当前使用 AppAuth 调用 end_session_endpoint 将成功将用户注销(您可以在打开的 chrome 自定义选项卡中看到这一点),但不会重定向或关闭自定义选项卡。

如何做到这一点。我已经使用 LogoutRedirectUriReceiverActivity 配置了清单,但不知道如何启动它。其他示例依赖于存在的 postLogoutRedirectUri。

目前发现文档中不存在 postLogoutRedirectUri。

【问题讨论】:

    标签: android identityserver4 openid adfs appauth


    【解决方案1】:

    使用 IdentityServer4,您可以在结束会话请求中包含 idToken。这样,用户无需同意屏幕等就会自动注销。因此,您在注销后不需要重定向。

    您的请求将如下所示: GET /connect/endsession?id_token_hint=

    来源:https://identityserver4.readthedocs.io/en/latest/endpoints/endsession.html

    【讨论】:

      猜你喜欢
      • 2018-08-17
      • 2015-03-30
      • 2017-11-15
      • 2020-07-29
      • 1970-01-01
      • 1970-01-01
      • 2018-06-12
      • 2011-04-10
      • 1970-01-01
      相关资源
      最近更新 更多