如何更好地控制DotNetOpenAuth如何使用Microsoft帐户(Live ID)?

时间:2013-02-28 00:41:08

标签: asp.net-mvc oauth dotnetopenauth windows-live-id

我正在为OAuthWebSecurity使用新的DotNetOpenAuth包装器,以允许用户使用其Microsoft帐户(也称为Windows Live ID)登录MVC4应用程序。

我已经注册了微软客户端:

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

一切正常,我喜欢它的简单性。但是,我如何改进它正在做的事情呢?

选择使用其Microsoft帐户登录后,用户将进入一个要求他们登录的屏幕:

Step One

当他们登录时,我希望他们能够检查“让我登录”框。

微软随后要求他们确认我的访问权限:

Step Two

但我实际上并不想那么多访问权限。我想要的只是他们的姓名和电子邮件地址。也许他们的照片。我当然不需要或不想访问他们的联系人和朋友。这会吓跑我的用户。

在哪里可以将参数传递给OAuthWebSecurity或DotNetOpenAuth来控制它?

因此,用户点击,一切正常。然而,当他们离开并返回我的网站时 - “保持登录状态”选项应该得到尊重。事实并非如此。相反,他们看到了这一点:

Step Three

我不明白这句话:

  

因为您正在访问敏感信息,所以您需要验证密码。

有什么敏感信息?我不想开始的联系人/朋友?或其他什么?

如何解决这两个问题,使我的应用程序更加用户友好?

1 个答案:

答案 0 :(得分:4)

你需要传递你想要的范围,你可以使用wl.signin,如果用户已经登录进入你的应用程序而没有再次要求提供凭据,那么它将签署用户进入你的应用程序。

检查http://msdn.microsoft.com/en-us/library/live/hh243646.aspx