2017-09-11 12 views
0

私はopenSAML v3.2.0でorg.opensaml.saml.saml2.core.Responseを構築しています。私は応答に署名し、それを提出したいと思います。OpenSamlレスポンスを送信するには?

私はOpenSAMLの本(A Guide to OpenSAML v3)に続いて試しましたが、私のシナリオでは役に立たないようです。私は基本的にHTTPPostによる応答を提出して、C#デモプロジェクトを持っています。私はopensamlとjavaで同じことを書いています。本が示唆しているようにアーティファクトを構築する必要がありますか?この本の例では、Responseを構築しているにもかかわらずSOAPを使用してArtifactResolveを送信することを提案しています。

上記の応答オブジェクトでは、idpに応答オブジェクトをポストしたいと思います。

これを達成する最も良い方法は何ですか? - エンベロープオブジェクトを作成することをお勧めしますか? saml2パッケージのレスポンスオブジェクトを使用して、org.opensaml.soap.soap11.Envelopeをどのように作成できますか?

ご協力いただきありがとうございます。ありがとう!

+0

SAML APIにはWSDLがあります。それは、SAMLがどのように見えるか、どこにPOSTするかについて文書化する必要があります。 –

+0

私の質問は、SOAPクライアントの構築方法の詳細です。 "SAML apiにはWSDL_がありますか"ということを詳しく教えてください。 – veggirice

+0

SAMLリクエストをSAMLサーバーにPOSTする必要がありますか? SAMLサーバーのWebサービスには、XMLメッセージの外観とサーバーエンドポイントの場所を定義するWSDLがあります。 SAMLの仕組みをお読みになることをお勧めします。次に、サンプルのSAML要求と応答を取得します。 SAMLサーバーと通信するには、パブリックSSLキーが必要です。私が何を話しているのかわからない場合は、サーバを管理している人に尋ねてください。 –

答えて

1

本が示すようにアーティファクトを構築する必要はありません。 アーティファクトの使用には、セキュリティ、プライバシー、その他の利点があります。バインディングアーティファクトを使用することの利点を理解するために ルックスコット・T.答え - https://stackoverflow.com/a/13618537/1163424あなたの質問パー

、 また、結合POSTを使用してSPへの対応を渡すことができます。 これを行う方法は、レスポンスXML(署名付きアサーション付き)をBase64文字列にエンコードし、クライアントのweb-appをSP ACS(アサーションコンシューマーサービス)にPOSTします。

あなたは21

はまた、私が使用することをお勧めSAML 2 Bindings specificationページに書かれているように、値とSPのWebアプリケーションの状態を設定するために使用されますRelayStateパラメータとしてbase64文字列とSAMLResponseパラメータを渡しますSAML toolを入力して、応答メッセージを検証します。

+0

org.opensaml.saml.saml2.binding.encoding.impl.HTTPPostEncoderのHTTPPostEncoderを使用して終了しました。ありがとう。 – veggirice

関連する問題