【问题标题】:IdP-initiated SSO without a dedicated SSO server没有专用 SSO 服务器的 IdP 发起的 SSO
【发布时间】:2026-01-08 20:50:01
【问题描述】:

我有一个已经使用登录 cookie 的 ASP.NET 应用程序。单击用户应该能够使用 SSO 在 SalesForce.com 中访问其信息时,我需要在我的应用程序中提供一个链接。我计划将此链接实现为 ASP 页面,该页面使用 SalesForce.com 中的相应用户名构造 SAML 断言,将 SAML 断言发布到 SalesForce.com SAML 端点 URL,接收来自 SalesForce.com 的 SAML 响应并重定向用户到响应中包含的会话 URL。

有没有人尝试过这种方法而不是使用专用的 SSO 服务器(例如 OpenAM)?这种方法有什么问题吗?

【问题讨论】:

    标签: asp.net salesforce single-sign-on saml openam


    【解决方案1】:

    您将无法做到这一点,因为这需要您自己实现大部分 SAML IdP(身份提供者)部分。 SAML 是一个复杂的标准,涉及 IdP 和 SP(服务提供商)之间的多次交互,它不仅仅是发送一个断言。

    要启用 SAML,您需要安装 IdP(如 OpenAM),将其连接到您的用户数据库并将您的应用程序转换为 SP。

    Wikipedia 有更多关于 SAML 迭代的详细信息。

    【讨论】:

    • 奥列格,感谢您的回复。此链接 (wiki.developerforce.com/page/…) 解释了您所说的多重交互到底是什么以及如何使用 ADFS 2.0 来解决我提出的问题。
    • 如果你来自微软阵营,ADFS 是你的选择,但 OpenAM 仍然是 IMO 更好的选择