SAML 2.0协议应该用于桌面应用程序单点登录吗?

时间:2017-06-12 19:32:02

标签: single-sign-on saml identity saml-2.0

我正在尝试为桌面应用程序实现SSO,而我目前正在研究什么是最好的工具。我遇到过SAML,但从我的理解来看,SAML真正适用于Web应用程序。有没有办法将SAML协议用于桌面应用程序?

示例用例:用户登录到计算机,当他或她点击应用程序图标时,他们会自动登录。

2 个答案:

答案 0 :(得分:1)

您的示例用例是IWA - 集成的Windows身份验证 - 这是一个浏览器功能而不是协议功能。它通常只发生在加入域的PC上。

SAML依赖于重定向,因此如果您想通过SAML执行此操作,则需要添加某种浏览器弹出窗口。

您可以使用OpenID Connect - 更轻量级 - 基于REST构建 - 或WS-Fed活动配置文件,即WCF而不是http浏览器功能。

答案 1 :(得分:0)

在前往SAML 2.0OpenID Connect之前,您可能想问一下为什么需要Single Sign On

我们进行单点登录的原因是我们希望将Identity Provider(或OpenID Provider)和Service ProviderRelaying Party)分开。此外,它可以在两者之间进行多路复用,即身份联合发生的方式。

原因是,会话设置是通过服务器到服务器的通信。但就Single Logout而言,它确实涉及front-channelUI-to-server)次通信或back-channelserver-to-server)通信。

现在进入你的问题:

  1. 我认为您可以使用SAML 2.0来交换身份,但这样做太重了。 SAML 2.0已广泛应用于行业,这也是许多人仍在使用它的原因。
  2. 较新的SSO技术是OpenID Connect,它是OAuth 2.0之上的标识层,您可能需要查看它。 OpenID Connect FAQ
  3. 但最终,您的UI(网络或移动或桌面)只是通过后端服务调用来检查会话或身份存储。后端如何对用户进行身份验证纯粹取决于实现。不要将clientserver混合。