Azure ACS を使用するように構成された 1 つの Web サイトがあります。ユーザーがこの Web サイトにサインインするとき、ユーザーが私の Web サイトの別の Web サイトにアクセスしたときにユーザー ID をどのように取得すれば、ユーザーは ACS で ID プロバイダーを選択してサインインする必要がなくなりますか? 複数の Web サイトで ACS からユーザー ID を取得して、ユーザーが Web サイトの 1 つにログインすると、他の ACS 構成 Web サイトにアクセスしたときにログイン ユーザーとして認識されるようにする方法はありますか? ところで、ID プロバイダーとして Azure ACS の 4 つのソーシャル ネットワーキング サイトすべてを使用しています。
質問する
165 次
1 に答える
1
各 Web サイトは ACS の観点からは異なるため、発行されるトークンも異なります。ただし、SSO は IdP レベルで発生します。
- ユーザーは Web サイト 1 で (例として) Google でログインします。
- ユーザーは WebSite2 にアクセスし (同じブラウザ インスタンスを使用)、WebSite2 は ACS にリダイレクトし、ACS は Google にリダイレクトします。
- ユーザーはすでに Google で認証されており、ACS に戻ってきます
- 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 に答える