【问题标题】:WSO2 IS as a bridge, email address claim lostWSO2 IS 作为桥梁,电子邮件地址声明丢失
【发布时间】:2017-08-17 17:17:14
【问题描述】:

我已将 WSO2 IS 设置为为我们的 WS-Federation IP 提供 SAML IdP 的桥梁。进行身份验证后,WS-Federation IP 发送一个 SAML 断言,其中包含各种属性,其中包括一个名为 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress 的属性。 WSO2 的 SAML 断言与所有这些属性完全相同,只是缺少电子邮件地址声明。

我正在使用默认声明映射,服务提供商已启用属性配置文件,始终在响应中包含属性,并且在 Windows 上使用版本 5.3.0。

【问题讨论】:

标签: wso2is


【解决方案1】:

我相信我已经找到了问题所在。 WSO2 显然不喜欢为一个属性接收多个值,并且当它接收时,它只接受该属性的最后一个值。此外,如果该值恰好为空白,WSO2 将删除该项目。在来自我们的 WS-Federation IP 的 SAML 断言中,电子邮件地址属性被设置为:

<Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress">
    <AttributeValue>email@address</AttributeValue>
    <AttributeValue/>
</Attribute>

因为 WSO2 似乎不支持属性的多个值,所以它只保留最后一个值,并且因为它是空白的,所以它会删除该属性。当我将测试用户的数据修改为有两个邮箱时,最后列出的邮箱是通过的。

【讨论】:

  • 多个值如何分隔? WSO2 IS 期望的默认分隔符是 ',' 但这是可配置的......
  • 在源头,多个值被编码为多个 AttributeValue 元素。它们不会组合成单个 AttributeValue。例如,{value1}{value2}
猜你喜欢
  • 2021-09-10
  • 2016-05-30
  • 2019-08-10
  • 2019-10-17
  • 2011-04-16
  • 1970-01-01
  • 2012-04-17
  • 2013-08-10
  • 1970-01-01
相关资源
最近更新 更多