如何请求IDP在AuthnResponse中向我发送其他自定义属性?

时间:2014-04-07 14:17:49

标签: spring-security single-sign-on saml saml-2.0 spring-saml

我已经使用Spring SAML实施了SSO,我想知道是否有任何方法可以请求IDP(在我的情况下为 ssocircle.com )向我发送其他属性它已经发送的nameID。 假设我希望IdP向我发送成功通过身份验证的人的帐户ID。我经常搜索并找到一些建议,如:

覆盖 WebSSOProfileImpl .java中的 getAuthnRequest 方法,以便发送给IdP的authnRequest具有此属性集。但我不知道如何继续这个?我是否应该使用这个额外的属性名称和格式修改我的SP metada?如果是的话,我该怎么做?或者可以使用RelayState参数完成某些操作? 在这方面的任何帮助将非常感激。

谢谢,

Abhilash

1 个答案:

答案 0 :(得分:4)

Abhilash,

要提供给SP的属性通常以特定于供应商的方式在IDP端配置。

您可以通过在https://idp.ssocircle.com/sso/UI/Login登录帐户来配置SSO Circle以发送其他属性,选择管理元数据,按“添加新服务提供商”(首先删除现有服务提供商),并确保检查要在AuthnRespose中的“属性发送断言(可选)”部分中发送的SAML属性。 SSO Circle目前仅支持FirstName,LastName和EmailAddress属性。

SP可以使用元素RequestedAttribute在其元数据中公布IDP需要提供的属性。对IDP和SP实现的支持可能因此机制而异。 SAML协议还允许SP通过在AuthnRequest中包含属性AttributeConsumingServiceIndex来告知IDP要发送的属性,但通常不支持此功能。一些自定义SAML配置文件使用AuthnRequest的Extensions元素定义了自定义方式。

干杯, 弗拉基米尔谢弗