1

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

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

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

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

有人请帮我解决这个问题!

4

1 回答 1

4

这不起作用,尽管根据许多开发人员的规定,可以添加额外的数据。有人说此功能之前有效,但由于 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 的源代码并更改其代码以适合您的项目。

于 2013-07-16T09:40:20.630 回答