What's the best way to control how DotNetOpenAuth uses a Microsoft account (Live ID)?

I use the new OAuthWebSecurity shell for DotNetOpenAuth to allow users to log in to the MVC4 application with their Microsoft account (e.g. Windows Live ID).

I registered a microsoft client:

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

It all works, and I love its simplicity. But how do I clarify what he is doing?

After choosing to enter the system with his Microsoft account, the user goes to the screen asking to enter the system:

Step one

When they log in, I want them to be able to check the Remember Me box.

Then Microsoft will ask them OK for my access:

Step two

But I really don't want that kind of access. All I want is their name and email address. And maybe their picture. Of course, I do not need or do not need access to their contacts and friends. This will scare my users away.

Where can I pass OAuthWebSecurity or DotNetOpenAuth parameters to manage this?

Thus, the user clicks "yes", and everything is in order. However, when they leave and return to my site - the option to "keep me in the game" should be implemented. This is not true. Instead, they see this:

Step three

I do not understand the message that says:

As you gain access to confidential information, you need to confirm your password.

What is confidential information? Contacts or friends I didn't want to start with? Or something else?

How can I get around these two questions to make my application more convenient?

+4
source share
1 answer

You need to transfer the areas you need, you can simply use wl.signin, which will sign users into your application if they are already logged in, and not ask for credentials again.

Check out http://msdn.microsoft.com/en-us/library/live/hh243646.aspx

+4
source

All Articles