1

SAML2アサーションベースのアプローチを使用してSSOを実装したいというお客様がいます。顧客はIDプロバイダー(IDP)になり、私のアプリケーションは事実上サービスプロバイダー(SP)になります。

以前、IDPがOracle Access ManagerであるSSOソリューションを実装したため、提供されたFedletを使用してSP環境を構成できるidp.xmlファイルが提供されました。これにより、関連するWARファイルが便利に作成され、デプロイすると、IDPにインポートした顧客にsp.xmlファイルを配布できるようになりました。これはすべて正常に機能し、概念を理解しています。つまり、最初のリクエストを受け取り、フェドレットがこれを処理し、ユーザーをIDPに誘導して認証します。その後、フェドレットが許可するSAML応答でSPに返されます。ユーザーを特定するデータを解析して抽出します。次に、アプリケーションにサインインするために必要なことを行います。

ただし、現在の要件ではIDPを提供するためにバックエンドフレームワークを使用しておらず、カスタムビルドされたものであると述べています。彼らは私にIDPURLと証明書ファイルを与えてくれて、私たちの「AssertionConsumerServiceURL」と「AudienceURI」を求めています。

SSOを有効にしているアプリケーションは、主にJavaベースです。これまでの調査の結果、ForgerockのOpenAMソリューションとShibbolethのOpenSAMLにたどり着きました。ただし、最初のステップで苦労しています。基本的に、OpenAM / Shibboleth/AnotherFrameworkを使用してサードパーティのIDPに接続するカスタムSPアプリケーションの構築を開始する場所です。

任意のポインタが非常に役立ちます。

ありがとう、リー

4

4 に答える 4

1

要件が何であるかに依存します。OpenAM feldletまたはShibbolethは、自分でそれほど多くのコーディングを行う必要がないため、おそらく最良のアプローチです。

OpenSAMLは、SAMLメッセージを処理するための非常に低レベルのツールキットです。本当に必要でない場合は、お勧めしません。

彼らが求めているものに関しては、AssertionConsumerServiceURLは、SSOSAMLメッセージを受信するサービスエンドポイントです。

AudienceURIの定義はかなり灰色です。基本的にあなたは彼らに識別子を送ります、彼らはこれを彼らのメッセージに含めます、そしてあなたは識別子があなたが彼らに与えたものと同じであることを検証します。私自身はこれと目的地の違いを理解していません...

彼らがあなたにこれを求めていることに少し驚いています。この最初の情報交換を行う標準的な方法は、SAMLメタデータドキュメントによるものです。

于 2013-02-19T12:39:31.853 に答える
0

ご存知かもしれませんが、OpenAMは軽量のSAML2.0SP実装であるFedLetも提供します。すべて自分でやりたい場合は、SAML2.0SPを自分で構築する必要があります。

Springをいじりたい場合は、SpringSecuritySAML2拡張機能を使用することもできます。'http ://static.springsource.org/spring-security/site/extensions/saml/index.html '

于 2013-02-19T08:32:08.643 に答える
0

なぜこれらの重いSAMLソリューションを展開するのですか?Ping IdentityのPingOneAPS(アプリケーションプロバイダーサービス)またはPingFederateをご覧になりましたか?APSは1日以内に実装でき、最初の顧客構成は無料です。ダッシュボードレポート、構成用のIDPセルフサービス機能、およびアプリケーション用の非常にシンプルなRESTAPI統合が含まれています。[注:私はPingで働いています。]

于 2013-02-19T12:30:58.317 に答える
0

SpringSecuritySAML拡張機能をセットアップできます。拡張機能はAssertionConsumerServiceURLを作成し、あなたがアクセスしているのと同じようにメタデータにアクセスしたい場合は、www.yourwebsite.com / saml / metadataにアクセスするだけで、SPメタデータがダウンロードされます。

于 2017-05-19T19:21:44.250 に答える