Single sign on Ping是否支持SAML中的多个观众限制值?

Single sign on Ping是否支持SAML中的多个观众限制值?,single-sign-on,saml,pingfederate,Single Sign On,Saml,Pingfederate,使用PING作为身份提供者我是否可以选择设置多个访问群体值(在我为应用程序添加的服务提供者配置中),以便在SAML断言的AudienceRestriction元素中返回这些值? 正如我所见,PING增加了发行人作为受众的价值,而不是其他价值 示例条件元素 <ns2:Conditions NotBefore="2011-01-10T20:52:56Z" NotOnOrAfter="2011-01-10T20:54:56Z"> <ns2:AudienceRestriction&

使用PING作为身份提供者我是否可以选择设置多个访问群体值(在我为应用程序添加的服务提供者配置中),以便在SAML断言的AudienceRestriction元素中返回这些值? 正如我所见,PING增加了发行人作为受众的价值,而不是其他价值

示例条件元素

<ns2:Conditions NotBefore="2011-01-10T20:52:56Z" NotOnOrAfter="2011-01-10T20:54:56Z">
  <ns2:AudienceRestriction>
    <ns2:Audience>urn:saml2:partnerspid</ns2:Audience>
  </ns2:AudienceRestriction>
  <ns2:AudienceRestriction>
    <ns2:Audience>Audience-IDP</ns2:Audience>
  </ns2:AudienceRestriction>
</ns2:Conditions>

urn:saml2:partnerspid
观众IDP

您必须运行PingFed 8.0+,才能正常工作,这就是Ping开始允许定制请求和响应XML的地方。你应该在他们的文章中多读一些关于这个问题的文章

使用此选项:

#AssertionType.getConditions().addNewAudienceRestriction().addAudience("whatever:eh")
将为您提供类似以下元素的内容:

<saml:Conditions NotBefore="2017-03-24T20:23:55.341Z" NotOnOrAfter="2017-03-24T20:38:55.341Z">
  <saml:AudienceRestriction>
    <saml:Audience>pingfederate:default:entityId</saml:Audience>
  </saml:AudienceRestriction>
  <saml:AudienceRestriction>
    <saml:Audience>whatever:eh</saml:Audience>
  </saml:AudienceRestriction>
</saml:Conditions>
这应该会产生如下结果:

<saml:Conditions NotBefore="2017-03-24T20:20:37.046Z" NotOnOrAfter="2017-03-24T20:35:37.046Z">
  <saml:AudienceRestriction>
    <saml:Audience>pingfederate:default:entityId</saml:Audience>
    <saml:Audience>whatever:eh</saml:Audience>
  </saml:AudienceRestriction>
</saml:Conditions>

pingfederate:默认值:entityId
随便什么,嗯

您必须运行PingFed 8.0+,才能正常工作,这就是Ping开始允许定制请求和响应XML的地方。你应该在他们的文章中多读一些关于这个问题的文章

使用此选项:

#AssertionType.getConditions().addNewAudienceRestriction().addAudience("whatever:eh")
将为您提供类似以下元素的内容:

<saml:Conditions NotBefore="2017-03-24T20:23:55.341Z" NotOnOrAfter="2017-03-24T20:38:55.341Z">
  <saml:AudienceRestriction>
    <saml:Audience>pingfederate:default:entityId</saml:Audience>
  </saml:AudienceRestriction>
  <saml:AudienceRestriction>
    <saml:Audience>whatever:eh</saml:Audience>
  </saml:AudienceRestriction>
</saml:Conditions>
这应该会产生如下结果:

<saml:Conditions NotBefore="2017-03-24T20:20:37.046Z" NotOnOrAfter="2017-03-24T20:35:37.046Z">
  <saml:AudienceRestriction>
    <saml:Audience>pingfederate:default:entityId</saml:Audience>
    <saml:Audience>whatever:eh</saml:Audience>
  </saml:AudienceRestriction>
</saml:Conditions>

pingfederate:默认值:entityId
随便什么,嗯

请提供一个示例响应/断言,说明您要查找的内容和原因。。。通常没有理由返回多个值。您好,我已经添加了一个示例来说明我要查找的内容。我在Oauth2 saml授权类型流中使用这个断言。SP将断言发送到令牌端点并获取访问令牌。在验证中,令牌端点检查SAML断言是否将自己的端点别名作为访问群体值包含。这与SP entityID不同。因此,当断言不包含所需的受众时,验证将失败。请提供一个示例响应/断言,说明您要查找的内容和原因。。。通常没有理由返回多个值。您好,我已经添加了一个示例来说明我要查找的内容。我在Oauth2 saml授权类型流中使用这个断言。SP将断言发送到令牌端点并获取访问令牌。在验证中,令牌端点检查SAML断言是否将自己的端点别名作为访问群体值包含。这与SP entityID不同。因此,当断言不包含所需的受众时,验证将失败。我可能需要眼镜,但看起来您已将相同的片段粘贴了两次(第一个受众值中只有一个字符除外)…捕捉得很好,@HansZ。!固定的!看来你们还需要我在那边;-)谢谢。是的,在我的例子中,我需要使用#AssertionType.getConditions().getAudienceRestrictionaray(0.addAudience)(“whatever:eh”)。但是,我还没有所需的版本。一旦我拿到它,我将进行测试。我可能需要眼镜,但看起来你已经将相同的片段粘贴了两次(除了第一个观众值中的一个角色)…捕捉得好,@HansZ。!固定的!看来你们还需要我在那边;-)谢谢。是的,在我的例子中,我需要使用#AssertionType.getConditions().getAudienceRestrictionaray(0.addAudience)(“whatever:eh”)。但是,我还没有所需的版本。我一拿到它就会测试。