0

そこで、Azure でホストされる ASP.NET MVC アプリケーションを作成しています。現在、アプリケーションのクライアントの多数の IdP に委任する Azure ACS を介してユーザーを認証しています。

アプリケーションは、いくつかの情報を表示するために WCF サービスを呼び出す必要がありますが、サービスを保護する必要があります。私は当初、WS-Trust プロトコルを使用し、"ActAs" トークンを使用してアプリケーションを介して ID を渡す必要がありましたが、Azure ACS 2.0 はこのタイプのトークンを発行しません

ユーザーの現在の ID に基づいてサービスのアクセス トークンを取得するにはどうすればよいですか? 追加のトークンを取得するために ACS に戻ることはできますが、システムは毎回ユーザーに資格情報を提供するように求めてはなりません。

4

1 に答える 1

1

推奨される方法は、次の例のように、カスタム STS を使用した ID 委任だと思います: http://code.msdn.microsoft.com/windowsazure/Federate-Windows-Live-ID-556ad976

説明から引用するには:

このサンプルでは、​​Windows Live ID 要求をフェデレーションおよび委任するアプリケーションの構築について説明します。アプリケーションは、WS-Federation パッシブ エンドポイント (default.aspx) を公開し、WS-Trust アクティブ エンドポイント (ActAsIssuer.svc) も公開するカスタム セキュリティ トークン サービスを利用します。パッシブ エンドポイントは Windows Azure アクセス コントロール サービス (ACS) にフェデレートし、アクティブ エンドポイントはブートストラップ トークンを使用して、そのユーザーに対して追加のクレームを発行します。アプリケーション アーキテクチャの概要図を次に示します。 ここに画像の説明を入力

ThinkTecture Identity Serverを使用すると、独自のカスタム STS を展開する際に有利になる場合があります。または、同じ開発者によるIdentityModelのクラスが役立つ場合があります。WCF セキュリティと WS-Trust に関連する特定のヘルパー セットがあります。(リンクは最新バージョン用で、.NET 4.5 用です。以前のバージョンもあります)。

于 2012-11-30T13:56:23.037 に答える