我正在使用新的 OAuthWebSecurity DotNetOpenAuth 的 wrapper 允许用户使用他们的 Microsoft 帐户(又名 Windows Live ID)登录到 MVC4 应用程序。
我已经注册了微软客户端:
OAuthWebSecurity.RegisterMicrosoftClient(clientId: "...", clientSecret: "...");
这一切都在工作,我喜欢它的简单性。但是我如何改进它正在做的事情?
选择使用他们的 Microsoft 帐户登录后,用户将进入要求他们登录的屏幕:
当他们登录时,我希望他们能够选中“保持登录状态”框。
然后 Microsoft 要求他们确定我的访问权限:
但我实际上并不想要那么多的访问权限。我想要的只是他们的姓名和电子邮件地址。也许他们的照片。我当然不需要或不想访问他们的联系人和 friend 。这会吓跑我的用户。
我在哪里可以将参数传递给 OAuthWebSecurity 或 DotNetOpenAuth 来控制它?
所以用户点击是,一切正常。但是,当他们离开并回到我的网站时 - “保持登录”选项应该受到尊重。不是。相反,他们看到的是:
我不明白以下信息:
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/