0

私は以前に .NET コンソール、.NET Webforms、および軽い WPF の作業を行ってきましたが、これが Windows 8 Metro 開発への最初の進出です。

認証トークンを必要とする Web サービスに依存するアプリを開発しています。アプリは、このトークンがないと役に立たないものです。ユーザー名やパスワードではなく、このトークンのみを提供する必要があります。アプリの認証を解除する必要がある場合、サービス プロバイダーはトークンを取り消すことができます。

トークンは基本的にアプリの機能に必要です。グローバルである必要があり、アプリの存続期間中持続する必要があります。アプリが終了した後、次回の実行時に読み込まれるように、アプリが安全な方法で資格情報を記憶していれば素晴らしいことです。App.xaml.cs ファイルに CredentialPicker を貼り付けようとしましたが、credentialpicker は実際のページにある必要があると思いますか? これをグローバルにし、モデル クラスが何らかの理由で資格情報がないことを検出するたびに資格情報ピッカーを生成する最良の方法は何ですか?

私が考えた私の論理は次のとおりです。

Boot App
Load App Start Page
Check Disk for Credential Hash
If Hash Not Exist, Launch CredentialPicker
    Validate Credential/Key 
    If Credential/Key not valid, 
        Relaunch CredentialPicker
    Else
        Store Credentials To Disk
Else
    Use Existing Credentials; Proceed

Store Credentials In PasswordVault for use during this app lifecycle

冗長で申し訳ありません。Win8 でアプリケーション全体の資格情報セットを使用するベスト プラクティスを知りたいだけです

4

1 に答える 1

1

Web サービスで認証している場合は、代わりに Web 認証ブローカーを使用する必要があります (Windows.Security.Authentication.Web.WebAuthenticationBroker、http: //code.msdn.microsoft.com/windowsapps/Web のサンプルも参照してください)。 -認証-d0485122 )。資格情報のコレクションはブローカーに保持され、通常は後続の呼び出しに必要なキーを含むサーバー応答が返されます。

この目的で資格情報ピッカーを使用することは、実際には望んでいるものではありません。その UI は主にエンタープライズ シナリオを対象としており、アプリで資格情報を直接管理する必要があるためです。Web Auth Broker は、資格情報が常にサービスに存在し、返されるのはキーだけになるように設計されています。ブローカ内で適切に機能するログイン ページの作成に関するオンライン プロバイダ向け Web 認証ブローカのドキュメントにもトピックがあります。

キーにパスワード ボールトを使用できることに注意してください。資格情報オブジェクトにダミーのユーザー名を指定するだけです。

于 2013-08-08T03:40:51.110 に答える