【问题标题】:Custom STS for Web SSO用于 Web SSO 的自定义 STS
【发布时间】:2013-08-04 14:58:29
【问题描述】:

我们正在运行一个面向 Internet 的 Web 应用程序,最近我们公司与拥有另一个网站的第三方公司达成了一些协议。我们的想法是为我们当前的客户提供对这个外部网站的访问。我们的用户将单击我们解决方案中的内部链接,该链接将打开一个带有第三方站点的新浏览器窗口。用户无需在第 3 方公司站点再次进行身份验证。 我们已同意为我们的用户发行 SAML2 代币,其中包含一组供第三方网站用于查询向我们的用户呈现个性化视图的声明

在我们的场景中重要的一点是,当用户决定访问第 3 部分网站时,他们已经在我们的网站中通过了身份验证。

实现这一切的最佳方式是什么? 我正在考虑使用 WIF SDK 实现自定义 STS 以生成这些 SAML2 令牌,然后使用 HTTP POST (cookie) 将其传递给第 3 方站点。如果这是正确的方法,那么任何指针,提示? ADFS 会有什么不同吗?

感谢您的帮助

【问题讨论】:

    标签: .net-4.0 wif saml-2.0


    【解决方案1】:

    听起来您将扮演身份提供者的角色 - 负责处理用户的“手动”身份验证并生成 SAML 响应以将用户 SSO 提供给第三方网站。

    实现自己的 IdP 并非易事(有几个 specifications 可以理解),因此除非您将其作为一个开发项目,否则您可能需要考虑像 Microsoft ADFS、PortalGuard(我为谁工作)或 Ping 身份。

    由于您专门询问了 ADFS,它具有对 Active Directory 作为用户存储库的本机支持,并且其声明转换引擎具有一些有趣的功能(如果您遇到复杂的 SP-IdP 链接场景)。除了 SAML,它还支持 WS-Federation,这对于与 Microsoft 堆栈中的其他产品集成非常重要。

    【讨论】:

    • 我同意你的观点,我不想走那条路……谢谢
    【解决方案2】:

    如果您的应用程序是 ASP.NET,则将您的应用程序连接到 ADFS。

    因此,要访问您的应用程序,用户必须登录。

    然后对于到第 3 方应用程序的链接,请使用 IDP 启动方案 (IdpInitiatedSignOnPage Class Overview)。这会将 SAML2 令牌发送到第 3 方应用程序。 ADFS 将为您处理 SSO。

    为此,您必须将第 3 方应用程序配置为 SAML 应用程序,而不是 WS-Fed 应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-14
      相关资源
      最近更新 更多