MVC4 oauth facebook访问用户&朋友Permissions:

时间:2012-08-25 22:47:07

标签: facebook asp.net-mvc-4

现在使用新的mvc4可以让我们使用facebook oauth otb。

我在facebook中创建了一个新的应用程序,并围绕要求用户电子邮件地址/位置的权限设置了一些额外的要求。生日。

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

当我尝试对facebook进行身份验证时,我不会被问到是否允许我在facebook中设置的额外字段。

我的mvc应用程序中是否还有其他内容需要更改以将这些额外要求传递给Facebook?

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

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

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

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

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

答案 1 :(得分:1)

  

我在facebook中创建了一个新的应用程序,并围绕要求用户电子邮件地址/位置的权限设置了一些额外的要求。生日。

     

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

     

当我尝试对facebook进行身份验证时,我不会被问到是否允许我在facebook中设置的额外字段。

这听起来像是另一个对 Authenticated Referrals 实际上做的事情感到困惑的人。 (应用设置中的权限字段仅适用于那些!)

当用户点击在Facebook上重定向到您应用的任何链接时,

经过身份验证的引荐即可发挥作用。

但是,如果您自己进行登录,则必须使用scope参数询问所需的权限。

答案 2 :(得分:0)

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

因此,您需要实现自己的FacebookClient类,它几乎完全相同,但在电子邮件地址中添加了所请求的项目。我现在正在尝试这个,并希望尽快让它工作。