2012-09-19 16 views
6

SSLを使用してWindows AzureでホストされたWCFサービス接続をWindows 8から保護しています。私は、ユーザーがWindows 8アプリケーションを使用していることを確認することに興味があり、Fiddlerを使用するいくつかの「ハッカー」だけではありません。Azure ACS 2.0 with Microsoft Account with Windows 8

私は明らかにC#コードの中にユーザー名とパスワードを保存することができません。このような状況では、アプリケーションを使用するたびにユーザー名とパスワードを尋ねることを避けたいと思っています。 。

私はAzure ACSを調べましたが、それはシングルサインインのみたいで、ユーザーは毎回ユーザー名とパスワードを入力する必要があります。

がにとにかくあり:

  • デフォルトのMicrosoftアカウントを使用し(ほとんどのユーザーが入力しただろうときに、セットアップのWindows 8)ACSと?
  • ユーザが毎回ログインの詳細を入力しなくて済むように、ユーザのログインの詳細を暗号化して保存しますか?

ありがとう!

+1

あなたのアプリはWindows 8上にあり、Microsoftアカウントを使用したいので、Live SDKを直接使用することを検討しましたか? Michael Crumpには、http://www.silverlightshow.net/items/Using-the-Live-SDK-in-Windows-8-XAML-C-Metro-Applications.aspxにあるLive SDKとWinRTアプリケーションの統合に関する記事があります。 –

答えて

2

あなたの要件について「私は、ユーザーが自分のWindows 8アプリケーションを使用していることを確認することに興味があり、Fiddlerを使用している一部の「ハッカー」だけではありません」と思っています。別の方法でアプリケーションを消費しようとすると、その方法が見つけられ、ACSまたはLiveSDKを使用してセキュリティを追加すると思われる場合は、そうは思わない。

ACSまたはLiveSDKサービスは、特定のユーザーを認証してからアプリケーションを使用できるようにする方法です。特定のユーザーに関する認証トークンがアプリケーションに与えられ、その情報を保存してもう一度確認する方法がない場合、アプリケーションにACS/LiveSDKベースの認証を持つかどうかの違いはありません。これらのoAuthベースのサービスは、ユーザーを認証する単なる方法ですが、ユーザー固有のサービスを提供するためにコードの追加層を作成する必要があります。

ACS/oAuth /または自分のメンバーシップサービスを使用するかどうかは関係ありません。ユーザは、認証されるまでの時間を取得するためにユーザ名とパスワードを入力する必要があります。ログイン時間とタイプに基づいて、ライブセッションとしてx時間だけアクティブにしておくことができますが、セッションは期限切れとなり、ユーザーはユーザー名とパスワードを入力する必要があります。資格情報を再度入力することを避けるために、ユーザー名とパスワードをローカルに格納することは、優れたアプリケーション設計ではありません。

Live(Hotmail、Live、Skydrive、Outlookドメイン)ユーザーの認証にLiveSDK(Azure ACS以外)を使用する必要があります.Windows 8ではほとんどのサービスがこれらのIDを使用しているため、これらはあなたのアプリケーションが同じエコシステムの一部となるのに役立ちます。 this latest docを使用して、アプリケーションでLive SDKを使用できます。 Windows 8アプリケーションでLive SDKを使用し、Windows 8で他のアプリケーションと同じライブIDを使用しているユーザーがアプリケーションの前にログインする場合、アプリケーションはライブIDとアプリケーション設定に応じてライブセッションを既に使用しています。

「あなたのログインの詳細を暗号化して保存して、毎回ログインの詳細を入力しないようにしますか?なぜあなたはそれが必要なのか分かりません。まず、oAuthサービスは、ユーザー名のほかにユーザーログイン資格情報を与えません。ユーザー名を確認するために保存することができます。ユーザーが再度訪問し、正しいユーザーであることを確認できます。この情報をクラウドに保存してから、一度認証すれば、何でもしてください。

+0

本質的に、誰かが私のアプリを使用していることを確認する方法はありません。その日の終わりに、私のXAPパッケージには誰でもアクセスできます。 Windows PhoneとWindows 8のアプリパッケージは暗号化されていますが、すでにハッキングされているようです。 http://forum.mobilism.org/viewtopic.php?f=1073&t=386304誰かが私の修正されていないアプリケーションを使用していることを確認する方法はありませんか? – user1567095

+1

あなたは非常に良い点を持っていますが、残念ながら、これはこのようなシナリオの議論の場ではありません。私が言及したように、誰か(1%以下)があなたのアプリケーションを別の方法で使用したいと思っている場合、彼らはあなたがこの点について費やす必要があるエネルギー/リソースの割合を決定する必要がある方法を見つけるでしょう。 – AvkashChauhan

+0

ありがとう!私は見て、私が何ができるかを見ます。私はこれについて話し合うことができるどこにいても分かりますか? – user1567095

2

Windows 8モダンスタイルのアプリケーション(http://code.msdn.microsoft.com/windowsapps/PasswordVault-f01be74a)のこの資格情報ストアのサンプルを見てください。 Azure ACSではありませんが、あなたが問題を解決するのに役立つはずです。 PasswordVaultは、.NET 3で導入された識別機能に基づいて作成された新しいAPI(Windows.Security.Credentials.PasswordVault)です。これにより、リモートアプリケーションの資格情報をOSや保護されたストアに安全に保存し、あなたの申請。ユーザーは店舗を完全に制御したままで、必要に応じてコントロールパネルを使用してデータを削除することができます。 現在、これは最新のアプリケーションがTwitterなどのリモートサービスコール用のOAuthトークンなどのデータを持続させる方法です。

これは第三者のアイデンティティに対してのみ機能します。代わりにMicrosoftアカウントを使用する場合は、上記のガイダンスに従ってLiveSDKをご覧ください。