asp.net-mvc - 如何更好地控制 DotNetOpenAuth 使用 Microsoft 帐户 (Live ID) 的方式?

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

我正在使用新的 OAuthWebSecurity DotNetOpenAuth 的 wrapper 允许用户使用他们的 Microsoft 帐户(又名 Windows Live ID)登录到 MVC4 应用程序。

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

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

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

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

Step One

当他们登录时,我希望他们能够选中“保持登录状态”框。

然后 Microsoft 要求他们确定我的访问权限:

Step Two

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

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

所以用户点击是,一切正常。但是,当他们离开并回到我的网站时 - “保持登录”选项应该受到尊重。不是。相反,他们看到的是:

Step Three

我不明白以下信息:

Because you're accessing sensitive info, you need to verify your password.



什么敏感信息?我不想开始的联系人/ friend ?或者是其他东西?

我怎样才能解决这两个问题,使我的应用程序更加用户友好?

最佳答案

你需要传递你想要的范围,你可以只使用 wl.signin ,如果用户已经登录到你的应用程序,你就可以登录到你的应用程序,而无需再次询问凭据。

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

关于asp.net-mvc - 如何更好地控制 DotNetOpenAuth 使用 Microsoft 帐户 (Live ID) 的方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15125410/

相关文章:

c# - 如何使用 DotNetOpenAuth 调试 400 Bad Request 错误?

c# - 从系统中的其他地方调用 SignalR hub 客户端

iphone - Twitter+OAuth+iPhone 的问题。 children 在哭

oauth-2.0 - DotNetOpenAuth 和 OAuth2

facebook - DotNetOpenAuth - Facebook - 如何在不强制用户安装 Facebook 应用程序的情况下对用户进行身份验证?

c# - Owin OAuth 上下文 : Frontend login sending Json

c# - 编译器错误消息: The compiler failed with error code -2146232576

c# - MVC中的图片验证

asp.net-mvc - 支持使用 ASP.NET MVC 2.0 进行嵌套模型和类验证

google-apps-script - OAuth2 库产生属性存储配额错误