1

私たちはインターネットに面した Web アプリケーションを実行しており、最近、別の Web サイトを所有するサードパーティの会社といくつかの契約を結びました。アイデアは、この外部 Web サイトへのアクセスを現在の顧客に提供することです。ユーザーは、ソリューション内の内部リンクをクリックすると、サード パーティのサイトで新しいブラウザー ウィンドウが開きます。ユーザーは、サードパーティ企業のサイトで再度認証する必要はありません。ユーザー向けに SAML2 トークンを発行することに同意しました。これには、サードパーティのサイトがクエリを実行し、パーソナライズされたビューをユーザーに提示するために使用される一連のクレームが含まれます。

このシナリオで重要なことは、ユーザーが第 3 部の Web サイトにアクセスすることを決定したときに、ユーザーが Web サイトで既に認証されていることです。

これらすべてを実装する最良の方法は何ですか? WIF SDK を使用してカスタム STS を実装し、これらの SAML2 トークンを生成してから、HTTP POST (Cookie) を使用してサード パーティのサイトに渡すことを考えています。これが正しいアプローチである場合、何か指針やヒントはありますか? ADFS は違いをもたらしますか?

助けてくれてありがとう

4

2 に答える 2

1

ユーザーの「手動」認証を処理し、SAML 応答を生成してユーザーにサードパーティの Web サイトへの SSO を提供する ID プロバイダーの役割を果たしているようです。

独自の IdP を実装するのは簡単ではありません (理解すべき仕様がいくつかあります)。そのため、開発プロジェクトとしてこれに熱中している場合を除き、Microsoft ADFS、PortalGuard (私が働いている) などの COTS を検討することをお勧めします。または Ping ID。

具体的に ADFS について質問されたので、ユーザー リポジトリとして Active Directory をネイティブにサポートし、クレーム変換エンジンにいくつかの興味深い機能があります (複雑な SP-IdP チェーン シナリオに入った場合)。SAML に加えて、Microsoft スタック内の他の製品との統合に重要な WS-Federation もサポートしています。

于 2012-12-03T17:55:09.777 に答える
0

アプリケーションが ASP.NET の場合は、アプリケーションを ADFS に接続します。

したがって、アプリケーションにアクセスするには、ユーザーはログインする必要があります。

次に、サードパーティ アプリケーションへのリンクについては、IDP 開始シナリオ ( IdpInitiatedSignOnPage クラスの概要) を使用します。これにより、SAML2 トークンがサードパーティ アプリケーションに送信されます。ADFS が SSO を処理します。

これを行うには、サードパーティ アプリケーションを WS-Fed ではなく SAML として構成する必要があります。

于 2012-12-03T18:25:53.273 に答える