我正在尝试为桌面应用程序实现SSO,而我目前正在研究什么是最好的工具。我遇到过SAML,但从我的理解来看,SAML真正适用于Web应用程序。有没有办法将SAML协议用于桌面应用程序?
示例用例:用户登录到计算机,当他或她点击应用程序图标时,他们会自动登录。
答案 0 :(得分:1)
您的示例用例是IWA - 集成的Windows身份验证 - 这是一个浏览器功能而不是协议功能。它通常只发生在加入域的PC上。
SAML依赖于重定向,因此如果您想通过SAML执行此操作,则需要添加某种浏览器弹出窗口。
您可以使用OpenID Connect - 更轻量级 - 基于REST构建 - 或WS-Fed活动配置文件,即WCF而不是http浏览器功能。
答案 1 :(得分:0)
在前往SAML 2.0
,OpenID Connect
之前,您可能想问一下为什么需要Single Sign On
。
我们进行单点登录的原因是我们希望将Identity Provider
(或OpenID Provider
)和Service Provider
(Relaying Party
)分开。此外,它可以在两者之间进行多路复用,即身份联合发生的方式。
原因是,会话设置是通过服务器到服务器的通信。但就Single Logout
而言,它确实涉及front-channel
(UI-to-server
)次通信或back-channel
(server-to-server
)通信。
现在进入你的问题:
SAML 2.0
来交换身份,但这样做太重了。 SAML 2.0
已广泛应用于行业,这也是许多人仍在使用它的原因。 OpenID Connect
,它是OAuth 2.0
之上的标识层,您可能需要查看它。 OpenID Connect FAQ client
与server
混合。