2012-03-23 11 views
0

私は今WIFを使用していますが、passiveRedirectEnabledを使用してSTS経由でサインインし、既知のユーザーに自分のサイトへのアクセスを制限させることができます。Windows Identity Foundation - プログラムでSSO用RPにログイン

私は自分のRPのビューページで自分のサインを使用し、プログラムで同じSTSを信頼しているすべてのサイトにわたってユーザーにサインインしたいと考えています。

ユーザーは自分のサイトを完全に見ることができるはずですが、自分のサイトのナビゲーションでリンクを介してサインインするオプションがあります。

これまで何時間も探していましたが、これを達成するための簡単な回答が見つかりませんでした。

WSFederationAuthenticationModule.FederatedSignOutの行にも何かサインインしていますか?

これが可能ならば、どうすればいいですか?

よろしくお願いいたします。

答えて

1

はい - ありがとうございます - Establishing Trust from an ASP.NET Relying Party Application to an STS using the FederatedPassiveSignIn Controlをご覧ください。

IIRC、これはWIF SDKの一部です。

+0

問題は、私は私のSTSに依頼してサインインすることです。私は解決策を探していますが、私は依拠当事者のロジックをすべて実行でき、STSにリクエストを送りますセッションキーを入力します。 – Bob

+0

定義上、STSはすべてのサイトの外部にあります。 「セッションキー」はありません。 STSはサイトに固有の「セキュリティトークン」を提供します。 –

+0

ユーザークレデンシャルをSTSに送信し、STSで検証し、セキュリティトークンをRPに送り返す方法はありませんか?物理的にSTSにアクセスする必要はありませんか? – Bob

0

ユーザーに一度サインインして、複数の異なる依拠当事者のウェブサイトに認証されるように思えます。したがって、RP1、RP2、RP3で複数の信頼関係が設定されているSTSがあると仮定します。

  1. ユーザーがRP1
  2. RP1は、セッションを確立STS、の中
  3. ユーザー兆しをSTSにユーザーをリダイレクトを閲覧、利用者は現在、STSセッションクッキーに
    • ノートを持っている、これは唯一のステップですユーザー対話型認証が必要です。残りは自動リダイレクトです
  4. STSはRP1にリダイレクトされ、RP1はセッションを確立し、ユーザーは今でもRP1セッションCookieを持っています

STSに認証されたユーザーは、RP2、RP3に対しても効果的に認証されています。ここでは何が起こるかです:

  1. ユーザーはRP2
  2. RP2は、ユーザーがすでにそうすぐRP2のトークンを発行し、
  3. そこにユーザーをリダイレクトし、STSセッションクッキーを持って見ている
  4. STSをSTSにリダイレクトを閲覧
  5. RP2はSTSからトークンを受け取り、セッションを確立し、ユーザーは今RP2セッションクッキー

を持っているこれは非常に一般的な機構であり、それはWIFでサポートされているコアシナリオです。たとえば、ライブIDを使用してhotmail.comにサインインした後、manage.dev.live.comを参照するときに再認証する必要はありません。これは、上記の手順3のliveIDセッションCookieがあるためです。

これはあなたが探しているものですか?もしそうなら、私はより詳細に更新することができます。

関連する問題