6

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

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

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

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

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

谢谢你的帮助。

4

3 回答 3

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.

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

于 2012-08-30T16:41:56.983 回答
1

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

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

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

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

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

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

于 2012-08-27T10:11:01.870 回答
0

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

因此,您需要实现自己的 FacebookClient 类,该类几乎完成相同的操作,但将电子邮件地址添加到请求的项目中。我自己现在正在尝试这个,并希望它很快就能工作。

于 2012-09-06T13:20:25.793 回答