如何使用元数据文件(saml2)

时间:2012-11-08 18:16:46

标签: saml

我正在开发一个需要集成SAML2.0的项目。我突然被投入这个项目,我需要让它工作。 以下是背景信息:我们已创建文件,并希望客户公司使用SAML2进行集成以访问我们的网站。我们已经向他们发送了元数据文件。

现在客户公司已经发送了他们的元数据文件。我不知道如何以及如何处理该文件。任何帮助将不胜感激。

ASP.NET,Framework 4.0

5 个答案:

答案 0 :(得分:9)

元数据文件基本上为您提供客户的信息。例如entityID,凭证等。如果它是IdP,那么它还包含几个URL,以便您知道在哪里发送不同的请求,例如登录请求,属性查询请求。您需要将此元数据提供给SAML组件,以便它知道应该与哪个客户端进行通信。

另一个主要目的是在SP和IdP之间建立信任关系。

答案 1 :(得分:6)

这是一个古老的问题,但我想为.NET添加一些额外的信息和资源。

SAML元数据用于在服务提供商和身份提供商之间交换配置信息,反之亦然。信息可包括:

  • Binging location
  • 组织名称
  • 联系人
  • 单点登录网址
  • 单一退出网址

可以对元数据进行签名和加密,以便安全地发送信息。另一方可能需要相应的公钥来验证和解密它,然后可以用来理解和建立与SP或IdP的连接。

您可以在以下博文中看到更多信息:

答案 2 :(得分:2)

安全性断言标记语言(SAML)是一种标准,用于根据用户在另一个上下文中的会话将用户登录到应用程序中。与使用用户名/密码登录相比,此单点登录(SSO)登录标准具有明显的优势:

1.无需输入凭据

2.无需记住和续订密码

3.没有弱密码

使用SAML SSO登录可以轻松管理一棵树中的所有应用程序。

       How actually SAML works:

用户使用Intranet,书签或类似链接访问远程应用程序,并加载应用程序。

应用程序识别用户的来源(按应用程序子域,用户IP地址或类似名称),并将用户重定向回身份提供者,要求进行身份验证。这是身份验证请求。

用户要么与身份提供商建立了现有的活动浏览器会话,要么通过登录身份提供商建立一个。

身份提供者以包含用户的用户名或电子邮件地址的XML文档的形式构建身份验证响应,使用X.509证书对其进行签名,并将此信息发布到服务提供商。

服务提供商已经知道身份提供者并拥有证书指​​纹,检索身份验证响应并使用证书指纹对其进行验证。

建立用户身份,并为用户提供应用访问权限。

答案 3 :(得分:1)

查看metadata SAML 2.0 specification,了解您的实施必须阅读的内容。

如果您正在寻找SAML2 .Net Tookit,请查看this thread of stackoverflow

另请参阅SAML开源实现,了解其他人如何解决此问题:

答案 4 :(得分:1)

元数据只不过是xml文件,其中包含SAML实现与主机通信所需的所有信息。您可以从此元数据中提取信息以获取所需的所需信息。像公钥/私钥一样。 我希望你也使用证书以安全的方式与主持人交谈。 使用未知主机系统进行握手时需要此密钥。