11

私は、Windows Phone アプリケーションと MVC 3 Web インターフェイスの両方からのデータ入力と表示を可能にするアプリケーションに取り組んでいます。電話クライアントのデータ アクセスは、MVC 3 アプリケーションでホストされている認証済みの WCF サービスを介して行われます。ユーザーは自分に固有の情報を追跡するため、サービスは私が入力したデータのみを表示します。

このシナリオで ID を処理する最も簡単な方法は何ですか? 電話アプリケーションは Windows Live Anonymous ID プロパティにアクセスできるため、 Windows Live ID を使用することを考えていました。ただし、私が知る限り、同じ Windows Live Anonymous ID を提供する Web ベースの Windows Live サインインを許可する方法はありません。Windows Live Messenger Connect ログインは、サイト固有の一意の IDを提供します。電話クライアントの匿名 ID とは異なります。

または、 Facebook SDKを使用して、クライアントと電話の両方で Facebook 認証を使用することもできます。私の懸念は、サービス呼び出しを保護することです。デバイスがFacebook IDでサービスに初めて接続すると、サーバーがキーを発行し、サービスへのアクセスにはFacebook IDとサーバーが発行したキーの両方が必要になると思います。

上記についての考え?私が見逃しているより簡単な解決策はありますか?

4

3 に答える 3

2

親愛なるジョン、私は WP 開発の経験はありませんが、WCF Auth を少し検索しました。最近数日間、apiKey認証が私にとってほぼ最良の方法であることがわかりました. Rob Jacobs は、この記事でそれがどのように機能するかを説明しています。

http://blogs.msdn.com/b/rjacobs/archive/2010/06/14/how-to-do-api-key-verification-for-rest-services-in-net-4.aspx

于 2011-03-28T22:20:40.950 に答える
2

API キーに代わる方法は、クレーム ベースの ID とセキュリティ トークンを使用することです。Windows Azure Access Control Service は、LiveID、Facebook、Google、任意の OpenID、および任意の WS-Federation ID プロバイダーを使用するように事前構成されているという付加価値とともに、セキュリティ トークンの信頼できる発行者として使用できます。Web サイトと Web サービスの両方が ACS を信頼します。

ACS は Web サイトの SAML トークンを提供します (ユーザーが LiveID、Google、または FB でログインできるようにします)。

ACS は、Simple Web Token (SWT) も発行できます。これは、特に REST サービスに適しています (電話クライアントがそれを使用すると仮定します)。

アプリで電話に関連付けられた LiveID を使用することはできませんが、LiveID (またはその他の ID プロバイダー) は引き続き使用できます。これは、その方法の例です。これは、電話アプリに Web ブラウザーを埋め込むという一般的なアプローチを使用し、すべてのセキュリティ トークン ネゴシエーションに使用します。

ACS を使用すると、複雑さを感じることなく、多くの柔軟性が得られます。Web サイトを「クレーム対応」にし、ACS を信頼することは非常に簡単です。その他のサンプルはこちら: http://claimsid.codeplex.com

于 2011-04-02T17:29:13.553 に答える
1

電話を MVC サイトのユーザーにリンクする必要がある場合は、NetflixAmazonが Roku やその他のデバイスに対して行っていることを行い、何らかのアクティベーション プロセスを行うことができます。簡単にするために、MVC サイトによって生成された QR コードまたはその他の種類のバーコードを使用して、ユーザーに写真を撮ってもらい、Silverlight ZXing Barcode Scanning Libraryを使用して画像を処理することができます。おそらく少し複雑ですが、すべてのセットトップ ボックスで機能します。

于 2011-03-28T23:17:00.477 に答える