2011-09-20 12 views
7

私は現在、紺碧の雲に展開するアプリケーションの作成を検討しています。 AzureをAmazon上で検討する主な理由は、アクセス制御サービスです。できるだけ多くの異なる資格情報タイプ、たとえばFacebookを受け入れたいと思います。クライアントWPFアプリケーションはAzure上でWCFサービスでどのように認証されますか?

ユーザーの一部はHTMLベースのアプリケーションを使用し、その他のユーザーはWPFクライアントアプリケーションを使用します。質問は、どのようなプロバイダを使用してクライアントを認証してから、WCFサービスと通信するのですか。アプリケーションでWebブラウザコンポーネントを使用する必要があるか、外部ブラウザをポップアップする必要があると思いますが(理想的には編集的なユーザー向けの両方のオプションをサポートしています)、WCFサービスにその接続を使用する方法がわかりません。

+1

+1興味深い質問です。私は簡単な答えがあるかどうかはわかりませんが、私はこれを見ています。 –

+1

ちょうど見つかったhttp://msdn.microsoft.com/en-us/IdentityTrainingCourse_SilverligthAndIdentity2010これは役に立つと分かるかもしれませんが、私は今それを読んでいます。 – ForbesLindesay

+0

残念ながら、ブラウザの例ではユーザー名とパスワードが使用されているため、facebook – ForbesLindesay

答えて

0

アプリケーションとWCFサービス間の認証から、ユーザーの認証とアプリケーションの分離を検討してください。

WCFサービスへのアクセスを保護するために、ACSを使用してSimple Web Token(SWT)を使用して認証を実装できます。これは、選択した検索エンジンで利用可能ないくつかの例があります。

申し訳ありません申し訳ありませんが、私はあなたに現時点で具体的な例を挙げることはできません。私はiデバイスを搭載しているので、ツールへのアクセスが制限されています。

+0

WCFサービスは、ユーザが誰であるか知っている、そしてそれは信憑性の保証できるようにする必要があり、私はあなたのソリューションは、それを提供することを意図される方法に完全には明らかではありませんよ。 SWTはアプリまたはユーザーを認証しますか? – ForbesLindesay

0

私は、このWCFサービスのユーザーの認証/承認方法があなたの意図であると思いますか?この場合、「Windows 7 phone application」サンプル:http://msdn.microsoft.com/en-us/library/gg983271.aspxを見ることができます。ここでは、このサンプルが "javascriptnotify"プロトコルを使用していることがわかります。

WPF WebBrowserコントロールには、DOMのjavascriptから通知を受け取る方法を説明する記事が多数あります。

このようにして、WPFアプリケーションのトークンを取得し、同じトークンを使用してWCFサービスを認証する必要があります。

Webアプリケーションの場合、WSFamモジュールからトークンを取得できます。これを行う1つの方法は、WSFamにSecurityTokenReceivedイベントを登録することです。

このようにして、両方のシナリオでSAMLトークンを使用することができます。

次に、WCF用の独自のカスタムSAML TokenProviderを作成し、ACSから取得したSAMLトークンを使用してサーバーと通信することができます。

0

あなたが探しているものは、「アクティブフェデレーション」と呼ばれています。 this question

通常、Webクライアントはパッシブフォームを使用します。パッシブフォームは、セキュリティトークンサービスが所有するログインページにリダイレクトされます。 wpfまたはwinformsアプリケーションをリダイレクトすることはできません。したがって、STSから受け取ったセキュリティトークンをネゴシエートしてキャッシュし、各要求に応じて提示するなど、アプリケーションがブラウザの裏側で行う動作を実行する必要があります。

関連する問題