1

Azure ACS を使用するように構成された 1 つの Web サイトがあります。ユーザーがこの Web サイトにサインインするとき、ユーザーが私の Web サイトの別の Web サイトにアクセスしたときにユーザー ID をどのように取得すれば、ユーザーは ACS で ID プロバイダーを選択してサインインする必要がなくなりますか? 複数の Web サイトで ACS からユーザー ID を取得して、ユーザーが Web サイトの 1 つにログインすると、他の ACS 構成 Web サイトにアクセスしたときにログイン ユーザーとして認識されるようにする方法はありますか? ところで、ID プロバイダーとして Azure ACS の 4 つのソーシャル ネットワーキング サイトすべてを使用しています。

4

1 に答える 1

1

各 Web サイトは ACS の観点からは異なるため、発行されるトークンも異なります。ただし、SSO は IdP レベルで発生します。

  1. ユーザーは Web サイト 1 で (例として) Google でログインします。
  2. ユーザーは WebSite2 にアクセスし (同じブラウザ インスタンスを使用)、WebSite2 は ACS にリダイレクトし、ACS は Google にリダイレクトします。
  3. ユーザーはすでに Google で認証されており、ACS に戻ってきます
  4. ACS は (WebSite2 用の) トークンを発行し、WebSite2 に戻ります。

ACS はユーザーとのセッションを保持しないため、トランザクション全体を少なくとも 1 回実行する必要があります。

4 つのソーシャル IdP (おそらく Google、Live、FB、Yahoo) がある場合、ステップ 2 で、ACS は IdP を使用するようにユーザーに促します。

これを回避するには、 whrパラメータを使用してログイン要求を ACS に送信する必要があります。ユーザーがどちらを使用したかを覚えておき、それを使用するように ACS に指示する必要があります。whr では、IdP プロンプトはありません。

于 2013-04-29T15:03:33.553 に答える