2016-07-29 32 views
0

我有一个类似于How To Become a SAML Service Provider的问题,但它错过了一些我想澄清的部分。作为Web SSO服务提供商,我应该支持哪些SAML绑定?经过身份验证的用户的信息如何传回给我?

SAML SSP配置文件规范描述了几种可能的绑定,并指出使用情况取决于SP和IdP设置。

SAML一致性和配置文件规范标识可合法用于这两个消息的SAML 绑定。 具体而言,可以使用HTTP重定向绑定,HTTP POST绑定, 或HTTP伪影绑定将身份验证请求消息从SP 发送到IdP。响应消息可以使用HTTP POST Binding或HTTP Artifact 绑定从IdP 发送到SP。对于这对消息,SAML允许在选择使用的绑定时使用不对称。也就是说,可以使用一个 绑定发送请求,并且可以使用不同的绑定来返回响应。 决定使用哪种绑定通常由IdP和SP系统上的 配置设置驱动。诸如 潜在消息大小,是否允许通过浏览器传送身份信息到 (如果不需要工件绑定,可能需要 )等因素必须在选择绑定时考虑。

的第一个问题,我有:为服务供应商,我是自由选择的SP中的任何一个 - >的IdP绑定,并且它会与任何的IdP工作在那里,或者我应该让这个配置在我实施并支持所有绑定? (Nota bene:我可能会整合现有的saml库来帮助我的生活,但我应该知道应该在我的界面上允许并支持哪些配置选项。)

第二个问题是关于从IdP回来的SamlResponse一旦成功认证。据我了解,SAML只是告诉我,用户通过IdP认证。因此,我期望在回复中给我一些用户标识符,例如我可以从本地用户数据库或LDAP查询的uid,用户名或电子邮件地址,并运行特定于应用程序的授权逻辑。 我该如何向IdP询问我需要的用户标识符以及它将如何返回?我看不到与此相关的参选在Wikipedia example

回答

1
  1. 根据什么绑定您的SAML-IDP和SP服务器支持,您可以选择结合对任意组合。通常,所有主要的SAML-IdP都支持SAML规范中指定的大部分绑定。你也必须考虑安全和性能方面的考虑。工件更安全,但需要两次往返才能完成SAML-Authn过程,因为它在发送和接收SAML消息时进行后端呼叫通信(与POST或重定向不同)。如果您的SAML-IdP和SP服务器支持绑定配置,那么您在运行时使用这些绑定。

  2. NameID格式标识IdP和SP之间的用户,它由IdP在SAML声明中发送。它可以是emailAddress,未指定,暂时的,持久的和其他的。检查部分(8.3)来自SAML Spec的名称标识符格式标识符以获取更多详细信息。您也可以请求IdP在SAML声明中发送用户属性(存在于IdP identity-store中)。

+0

我试图找到SAML规范中的相关信息,但没有成功。你如何要求IdP发送用户属性? – Akasha

+0

检查这些,http://stackoverflow.com/questions/529655/are-attributes-allowed-in-a-saml-authentication-request。 http://stackoverflow.com/questions/35873526/saml-request-attributes-in-authnrequest。 http://stackoverflow.com/questions/22915077/how-to-request-idp-to-send-me-additional-custom-attributes-in-the-authnresponse – Zeigeist

+0

@Akasha:感谢投票我的答案。如果这看起来是正确的,请接受它作为最佳答案,以便人们发现阅读问题及其答案很容易。 – Zeigeist

相关问题