0

MVC4 で Azure ACS を使用しており、ID プロバイダー (IP) を介して証明書利用者 (RP) を正常に認証しています。次に、ACS を認識していない既存のインターフェイスを介して同じ IP にアクセスする必要があります。これには、プロトコル ハンドシェイク中に ACS に提供された元の SSO トークンが必要です。

シナリオをいじると、ACS との認証ハンドシェイクの初期段階で、この SSO トークンが RP に数回送信されていることが正確にわかりますが、MVC コントローラーにログインした後に Thread.CurrentPrincipal.Identity にアクセスすると、すべての bootsrapToken を保持するように ACS を設定したとしても、リクエスト コンテキストのどこにも元の SSO トークンの痕跡はありません。ACS は、初期トークンを FedAuth Cookie に置き換えました。私は遅すぎます:-)

そのため、WS-Federation パイプライン (WSFAM または SAM) の初期フェーズの 1 つにアクセスして、元の IP sso-token を要求ヘッダーから抽出し、後で使用できるように保存する必要があるようです。

MVC4 サーバーで ACS ハンドシェイクの適切な初期段階に最適にアクセスする方法のヒントを教えてくれる人はいますか?

どうもありがとう!R

4

1 に答える 1

0

OK、Azure-ACS なしで WIF-WS-Federation を使用するように MVC クライアント (RP) をセットアップすることで、この問題を解決しました。その時点で、いくつかのクレーム名前空間がクレーム パッケージで送信されていることに気付きました。すべてがそこにありました。ACS は、標準の名前空間以外のすべてをフィルター処理してくれました。したがって、名前空間とクレーム タグが判明した後、ACS 管理ポータルに戻り、それらを入力ルールと出力ルールに構成するだけで、RP に渡されました。

于 2012-10-07T19:43:48.310 に答える