MVC4 oauth facebook access User & Friend Permissions:



现在使用新的mvc4可以访问facebookoauth-otb。

我在脸书上创建了一个新的应用程序,并设置了一些关于请求用户电子邮件地址/位置权限的额外要求;生日

我已经在fb中保存了更改,当点击预览验证对话框时,我可以在预览窗口中看到我想要显示的额外权限。

当我尝试通过脸书进行身份验证时,没有人问我是否允许在脸书中设置额外的字段。

在我的mvc应用程序中,是否还有其他东西需要更改才能将这些额外的需求传递给facebook?

谢谢你的帮助。

您似乎必须编写自己的自定义提供程序。如果是,你应该看看http://blogs.msdn.com/b/webdev/archive/2012/08/23/plugging-custom-oauth-openid-providers.aspx和http://blog.mrroa.com/post/30454808112/asp-net-custom-linkedin-oauth-provider

我所做的是:在AccountController中:-我使用Facebook添加;(facebook.dll来自www.csharpsdk.org)同样在AccountController中,在ExternalLoginCallback:中找到

在这里,我使用facebookc#sdk在调用CreateOrUpdateAccount之前请求额外的权限。

我不认为这是最好的解决方案,但它有效。

我在脸书上创建了一个新的应用程序,并设置了一些关于请求用户电子邮件地址/位置权限的额外要求;生日

我已经在fb中保存了更改,当点击预览验证对话框时,我可以在预览窗口中看到我想要显示的额外权限。

当我尝试通过脸书进行身份验证时,没有人问我是否允许在脸书中设置额外的字段。

这听起来像是你是另一个对经过身份验证的推荐实际做什么感到困惑的人。(你的应用程序设置中的权限字段仅适用于那些!)

当用户在Facebook上点击重定向到您的应用程序的任何链接时,经过身份验证的推荐就会发挥作用。

但是,如果您自己登录,则必须使用scope参数请求您想要的权限。

不幸的是,如果你在MVC 4附带的FacebookClient类上使用ILSpy,你可以看到MS代码根本不会请求电子邮件信息,即使底层的DotNetOpenAuth类支持它。

因此,您需要实现自己的FacebookClient类,该类可以做几乎相同的事情,但会将电子邮件地址添加到请求的项目中。我现在正在亲自尝试,希望很快就能成功。

最新更新