从 SSO kerberos 注销

问题描述 投票:0回答:3

我的 OSX 应用程序需要基于 Kerberos 协议进行身份验证。 对于登录,我通过加载授权 URL 请求来使用 WebView(以及 MAC OSX > 10.9 的 WKWebView)。

登录按预期工作,但它保持登录状态,直到我从计算机注销或终止我的应用程序。 这意味着下次我加载授权 URL 请求时,我会自动登录,而不会提示插入我的用户名和密码。

在加载授权 URL 之前,我从 [NSHTTPCookieStorage sharedHTTPCookieStorage] 中删除 cookie。

如何退出?

macos single-sign-on kerberos
3个回答
5
投票

您需要销毁运行 Web 浏览器的计算机上的 kerberos 票证。

/usr/bin/kdestroy 

OS X 曾经有一个用于管理票证的图形界面,但我认为这早已不复存在了。您应该仅出于测试目的而执行此操作。 Kerberos 票证在 OS X 中的许多应用程序之间共享,如果您的应用程序破坏了票证,您的用户将用干草叉来追捕您......


0
投票

使用以下步骤

sudo rm -rf ~/Library/Group\ Containers/group.com.apple.KerberosExtension/Library/Preferences/group.com.apple.KerberosExtension.plist; pkill -9 Kerberos扩展; pkill -9 KerberosMenuExtra; kdestroy


-1
投票

我的解决方案是通过以下方式关闭我的应用程序:

[NSApp 终止:self];

更好的解决方案是重新启动应用程序,但这对我来说现在就足够了。

© www.soinside.com 2019 - 2024. All rights reserved.