2

SAML、SSO は、私のプロジェクトで新たに学んだことです。適切なツール/API を見つけるために実験する時間がありません。助けを求めています。

SAML アサーションを送信し、SAML プロバイダー/サーバーから SAML 応答を受信できる SAML クライアント (Java 上) を実装する必要があります。Java で SAML クライアントを作成するには、どの Java API を使用すればよいですか?

また、お客様には、SAML 要求を受信し、ユーザー プロファイルやその他の情報を含む SAML 応答を送信する SAML レスポンダー/サーバーが既にあります。ただし、テスト シミュレーターの SAML レスポンダー/サーバーを作成する必要があります。私は Apache & Tomcat サーバーを使用しました。このテスト シミュレーター SAML レスポンダー/サーバーを実装するには、どのサーバー/API を使用すればよいですか?

4

3 に答える 3

7

私たちは OpenSAML を使用しています。これは非常に柔軟で、習得や使用がそれほど難しくありません。これを使用して、サービス プロバイダー (一部のクライアント カスタマイズ バージョンを含む) を記述し、要求されたものと要求されていない SAMLResponse XML の両方を処理し、AuthnRequests を ID プロバイダーに送信し、IdP AttributeQuery サービスを呼び出し、ID プロバイダー SAMLResponse XML をシミュレートしました (テスト用)。

あなたの説明から、ID プロバイダーの部分を書くと思いますか? 単純な未承諾 SAMLResponse XML を実行しているだけの場合、OpenSAML はおそらくやり過ぎです。XML メッセージがほとんど同じで、要求ごとに変更されるコンテンツ要素がわずかである場合は、単純な文字列テンプレートを使用していくつかの変更要素を入力するだけでよく、特別な SAML ライブラリは必要ありません。

あなたの言うことの1つは私を混乱させます:

当社の顧客は、SAML 要求を受信し、ユーザー プロファイルを含む SAML 応答を送信する SAML レスポンダー/サーバーを既に持っています。

それらがサービス プロバイダーであり、これが SAML SSO である場合、ブラウザー リクエストを通じて SAMLResponse XML を受信し、ユーザーのブラウザーにコンテンツを表示することによって応答します。ユーザー プロファイルを含む応答は送信されません。実験する時間はないかもしれませんが、少し時間をかけて SAML ドキュメントを読むことをお勧めします。SAMLOverviewを読むだけでも、もう少し基礎を固めることができます。

于 2010-12-01T16:52:25.093 に答える
1

クライアント側で Open SAML を使用し、サーバー側で単純な HTTP 要求/応答を使用しています。これは、SAML 要求の種類がそれほど多くないためです。そのため、このような複雑な Web サービスや SAML API をサーバー側で使用しない方がよいでしょう。

于 2011-05-10T07:27:18.193 に答える
0

OpenSAML は、セキュリティ アサーション マークアップ言語 (SAML) を使用する開発者をサポートすることを目的とした、オープン ソースの C++ および Java ライブラリのセットです。openSAML APIを参照

于 2012-02-27T05:51:13.913 に答える