如何在AspNet.Membership.OpenAuth中提供作用域并从facebook获取额外数据

本文关键字:facebook 获取 数据 作用域 AspNet Membership OpenAuth | 更新日期: 2023-09-27 18:22:17

我正在创建一个具有外部登录的网站,我使用Microsoft.AspNet.Membership.OpenAuth添加外部登录,AuthConfig.cs中的代码是,

OpenAuth.AuthenticationClients.AddFacebook(
            appId: ConfigurationManager.AppSettings["FBID"],
            appSecret: ConfigurationManager.AppSettings["FBKEY"]
            );

我需要获得一些扩展权限,如read_stream、publish_stream等,

有办法做到这一点吗?我在谷歌上搜索了一下,但我能找到的只是我们可以添加图标而不是文本。

总有一天请帮帮我!

如何在AspNet.Membership.OpenAuth中提供作用域并从facebook获取额外数据

尽管许多开发人员都提供了添加额外数据的功能,但这并不起作用。有人说,这个功能以前有效,但后来由于facebook的一项政策而被放弃,该政策要求开发者以不同的方式询问基本和发布范围。

//following code will not work, although option is given
var extraData= new Dictionary<string, object>();
        extraData.Add("scope",
                               "email,publish_actions,create_event");
        //facebookSocialData.Add("perms", "status_update");
        OAuthWebSecurity.RegisterFacebookClient(
             "xxxx",
             "yyyy", "Facebook", extraData);

我的建议是制作自己的自定义方法,这将允许您设置自定义范围,或者只提取dotnetopenauth的源代码并更改其代码以适应您的项目。