为 SAML 服务提供商提供适当的安全性

Providing proper security for SAML service provider

我正在向我的服务添加 SSO 功能,以允许客户使用他们的 AD 帐户登录。为此,我使用 componentpro.com 中的 SAML 组件 执行安全交互的正确方法是什么:

  1. 从 IdP 方面:除了 IdP,客户还应该为我的服务提供什么 url?任何仅包含 public 密钥的证书?
  2. SP方面:我应该为客户提供什么?
  3. 选择的 SAML 工具使用证书签署对 IdP 的 SAML 请求并解密来自 IdP 的断言。这些证书是什么(来自之前的问题)?签名和解密是同一个证书吗?

更新:关于在 SAML 通信中使用证书很有用link

  1. 通常这是使用包含 IDP 端点、密钥等的 SAML 元数据文件设置的。然后您的服务会向 IDP 发送一个包含有关您服务的信息的类似元数据文件

  2. 如果客户是 IDP,那么您通常会向他们提供元数据文件。

  3. 使用相同的密钥进行签名和加密通常是个坏主意。阅读讨论 here and here