2017-03-29 11 views
0

PINGをIDプロバイダとして使用すると、SAMLアサーションのAudienceRestriction要素内に返されるように、複数のオーディエンス値を設定するオプションがあります(アプリケーションに追加するサービスプロバイダ設定で)。 私はPINGが発行者の価値を聴衆として追加し、それ以外は何も追加しないことを見ています。PingはSAMLで複数のオーディエンス制限値をサポートしていますか?

例の条件要素

<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> 
+0

を、それはあなたが探しているということであるものの例応答/アサーションを提供してください。理由...複数の値を返す必要はありません。 –

+0

こんにちは、私が探しているものの例を追加しました。私はこのアサーションをOauth2 saml許可タイプのフローで使用します。 SPはアサーションをトークンエンドポイントに送信し、アクセストークンを取得します。検証では、トークンエンドポイントは、SAMLアサーションに、それ自身のエンドポイントエイリアスがオーディエンス値として含まれているかどうかをチェックします。これは、SPのentityIDと同じではありません。したがって、アサーションに必要なオーディエンスが含まれていない場合、検証は失敗します。 – nwick

答えて

3

あなたは、Pingのは、リクエストとレスポンスのXMLのカスタマイズを可能始まった場所である、仕事にこのためPingFed 8.0以降を実行している必要があります。その件については、documentationで詳しくお読みください。

#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仕様(SAML-CORE-2.0, 2.5.1.4)は述べている:

注意を複数の要素がかもしれないこと 単一アサーションに含めることができ、それぞれを個別に評価する必要があります。この条件と上記の定義の効果 は、 与えられた条件の中で、複数の条件が結合(AND)を形成する一方、観客は論理和(「OR」)を形成することである。

あなたが話している形式では、「AND」が表示されます。あなたのパートナーが両方を履行することはほとんど不可能なので、あなたは "OR"を探しているかもしれないと思います。そのような場合は、次の手順を使用したいと思う:

のようなものを生成する必要があり
#AssertionType.getConditions().getAudienceRestrictionArray(0).addAudience("whatever:eh") 

<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> 
+0

私は眼鏡が必要かもしれませんが、同じスニペットを2回貼り付けたようです(最初の聴衆の値では1文字を除く)。 –

+0

ニースの捕獲、@ HansZ!一定! –

+0

あなたはまだそこに私を必要とするかもしれません;-) –

関連する問題