是否应将 SAML 2.0 协议用于桌面应用程序单点登录?



我正在尝试为桌面应用程序实现SSO,我目前正在研究什么是最好的工具。我遇到了SAML,但根据我的理解,SAML实际上是为Web应用程序准备的。有没有办法将 SAML 协议用于桌面应用程序?

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

您的示例用例是 IWA - 集成窗口身份验证 - 这是一个浏览器函数而不是协议函数。它通常只发生在加入域的电脑上。

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

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

在去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)通信。

现在进入您的问题:

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

最新更新