使用 SAML 单次注销 (SLO) 调用注销 URL 后如何清除 Android 网络视图 cookie?

Posted

技术标签:

【中文标题】使用 SAML 单次注销 (SLO) 调用注销 URL 后如何清除 Android 网络视图 cookie?【英文标题】:How to clear Android web-view cookie after calling logout URL using SAML single logout (SLO)? 【发布时间】:2018-10-23 13:34:28 【问题描述】:

我正在为使用单点登录的 android 构建应用程序。因此,对于单点登录,cookie 被设置为 web-view。但是,在单次注销 (SLO) 上,不会发送 SAML 请求和响应。所以 SLO 不起作用。

我可以看到这种行为在 ios WKWebView 和桌面浏览器中按预期工作。但在 android web view 中并没有清除导致注销失败的 web-view cookie。我不想在shouldOverrideUrlLoading() 中以编程方式清除cookie,因为这不是正确的方法。

Android 中与 SAML 相关的 Web-View 是否存在任何问题?我必须从我身边照顾吗?服务器端配置需要进行任何更改吗?

【问题讨论】:

看看这个答案这个答案https://***.com/a/31950789/6736510 查看这个 *** 线程 https://***.com/questions/2465432/android-webview-completely-clear-the-cache 我拿了这个答案来清除cookies和缓存***.com/questions/51167882/… 【参考方案1】:

我已经使用了下面的代码并且成功了。

 android.webkit.CookieManager.getInstance().removeAllCookies(new ValueCallback<Boolean>() 
                    @Override
                    public void onReceiveValue(Boolean value) 

                    
                );

【讨论】:

【参考方案2】:

试试这个,

WebView webView;
webView.clearCache(true);

清除资源缓存。请注意,缓存是针对每个应用程序的,因此这将清除所有使用的 WebView 的缓存。

https://developer.android.com/reference/android/webkit/WebView#clearCache(boolean)

【讨论】:

请解释一下你的答案。

以上是关于使用 SAML 单次注销 (SLO) 调用注销 URL 后如何清除 Android 网络视图 cookie?的主要内容,如果未能解决你的问题,请参考以下文章

如何用passport-saml修复SLO,它在第一次注销时有效,但在以后的注销中不起作用

ITfoxtec SAML 2.0 - 单次注销

SAML 2.0 单次注销问题 - IdP 应如何终止在不同用户代理中运行的 SP 会话?

WSO2 和 Spring SAML 单次注销问题

单点退出 SLO

Spring SAML - 用户从应用程序注销时是不是必须调用 SAML 本地注销?