SAML、SSOは私のプロジェクトでの新しい学習です。正しいツールやAPIを見つけるための十分な時間がありません。あなたにお手伝いをお願いします。SAML SSOクライアント、テストシミュレータSAMLプロバイダ/サーバ
SAMLアサーションを送信し、SAMLプロバイダ/サーバからSAML応答を受信できる必要があるSAMLクライアント(Java上)を実装する必要があります。 JavaでSAMLクライアントを作成するために使用するJava APIはどれですか?
お客様にはSAMLリクエストを受信したSAMLレスポンダ/サーバが既にあり、SAMLレスポンスにはユーザプロファイルなどの情報が送信されます。しかし、私たちは、テストシミュレータSAMLレスポンダ/サーバを書く必要があります。私はApache & Tomcatサーバーを使用しました。 このテストシミュレータSAMLレスポンダ/サーバを実装するために使用するサーバ/ APIにはどのようなものがありますか?
Tnx最後に私はいくつかのヒントを得ました。はい! SAMLのリクエストとレスポンスはほとんどありません。今はOpenSAMLを使ってJAVAクライアントを実行し、HTTPS(Apache + Tomcatの使用)でSOAPを送信しています。あなたは正解IDプロバイダを書く必要があります。顧客はすでにそれを持っています。今私は、SAML要求を処理し、IDプロバイダからSAML応答を送信する必要があります。私はxmlとしてMIMEタイプを設定し、SOAPエンベロープ(SAMLのStringテンプレートであるかもしれません)を使ってSAMLでHTTPS応答を返すことができれば、私のシミュレータのアイデンティティサーバーで十分だと思います。それ以上の提案。 –
あなたが実装しようとしているものを決定するのに本当に役立つのは、次のような記述です。「私は、HTTP Postバインディングを使ってSAML WebブラウザSSOプロファイルのIDプロバイダを実装しようとしています。あなたのSOAPへの参照は、それがあなたがやっていることではないことを示しています。 SAMLプロファイルとバインディングへの参照を使用してシナリオを記述できますか?あなたのクライアントは、AuthnRequestのHTTP Artifactバインディングを使用していますか? – JST
ありがとうございます!ユーザーはログイン資格情報でJava-Swingクライアントを実行し、IDプロバイダにアクセスします。これはSSOベースのログインです。クライアントブラウザ(authentn + Authoztnが必要)はhttps://: /login.jsp?artifact= のようなHTTPアーティファクトを使用します。 Webサーバーは成果物を解決し、アイデンティティプロバイダの場所を取得し、SAML要求を送信し、上記のJava-Swingクライアントを使用して行われたログインに基づいて認可の詳細を含むSAML応答を取得します。これで、HTTPクエリ文字列にアーティファクトを渡すことで、Webサーバー上で(ログインせずに)HTTPS操作を実行できます。 –