4

DotNetOpenAuthの新しいOAuthWebSecurityラッパーを使用して、ユーザーが Microsoft アカウント (別名 Windows Live ID) で MVC4 アプリケーションにログインできるようにしています。

Microsoft クライアントを登録しました。

OAuthWebSecurity.RegisterMicrosoftClient(clientId: "...", clientSecret: "...");

それはすべて機能しており、そのシンプルさが気に入っています。しかし、それが行っていることをどのように洗練するのですか?

Microsoft アカウントでのログインを選択すると、ユーザーはログインを求める画面に移動します。

第一歩

彼らがログインするときに、「サインインしたままにする」ボックスをチェックできるようにしたい.

Microsoft は、アクセスを許可するように求めます。

ステップ2

しかし、私は実際にはそれほど多くのアクセスを望んでいません。私が欲しいのは彼らの名前とメールアドレスだけです。そして多分彼らの写真。私は確かに彼らの連絡先や友人にアクセスする必要はありませんし、アクセスしたくもありません。これは私のユーザーを怖がらせるでしょう。

これを制御するために、どこで OAuthWebSecurity または DotNetOpenAuth にパラメーターを渡すことができますか?

したがって、ユーザーが [はい]をクリックすると、すべて問題ありません。ただし、彼らが私のサイトを離れて戻ってきたとき、「サインインしたままにする」オプションが尊重されるべきでした. そうではありません。代わりに、次のように表示されます。

ステップ 3

次のメッセージがわかりません。

機密情報にアクセスしているため、パスワードを確認する必要があります。

何の機密情報?私が始めたくなかった連絡先/友達?または、他の何か?

この 2 つの問題を回避して、アプリケーションをより使いやすくするにはどうすればよいですか?

4

1 に答える 1

4

必要なスコープを渡す必要があります。 wl.signin を使用するだけで、ユーザーが既にサインインしてライブにログインしている場合、資格情報を再度要求することなくアプリケーションにサインインできます。

http://msdn.microsoft.com/en-us/library/live/hh243646.aspx を確認してください

于 2013-02-28T00:48:23.843 に答える