Facebook c# SDK - oauth重定向权限-循环



我在FB中遇到了新的权限问题-似乎用户现在需要通过oauth客户端来批准应用程序。代码如下:-

保护无效Page_Load(对象发送者,EventArgs e){

    var auth = new CanvasAuthorizer { Permissions = new[] { "user_about_me" } };

    if (auth.Authorize())
    {
        ShowFacebookContent();
    }
    else
    {
        Response.Redirect("https://www.facebook.com/dialog/oauth?client_id=<appli id>&redirect_uri=http://apps.facebook.com/<myapp>/Default.aspx");
        FacebookWebAuthorizer auth2 = new FacebookWebAuthorizer(FacebookWebContext.Current);
        auth2.Permissions = new[] { "name, first_name" };
        if (auth2.Authorize())
        {
            Label1.Text = "Authorized";
        }
        else
        {
            Label1.Text = "Not Authorized";
        }
    }

问题是,当一个新用户登录-它反弹到oauth网站,它做它的事情,然后很好地重定向回调用页面-然后循环&崩溃了。似乎需要一段时间来传播誓言,所以背后的代码是重新触发誓言重定向-等等…?

我能让这个工作的唯一方法是添加如上所述,让用户登录,他们验证然后循环&崩溃,然后我注释掉重定向&他们是被授权的。auth2.name="Billbo Baggins"或其他什么)。

有没有人有任何方便的提示或工作围绕这个-我已经花了3天时间,现在通过所有(PHP为中心)的例子等无济于事。

亲切,乔纳森。

您使用的是非常旧的Facebook c# SDK版本。我是SDK的作者,我甚至不记得这段代码…因此,我建议您升级到版本6。您可能还想看一下ASP。NET Facebook模板,它有更健壮的身份验证助手。http://www.asp.net/vnext/overview/fall - 2012 - update/facebook -应用程序-模板-教程

此外,您可以在这里找到为该模板编写的库:http://nuget.org/packages/Microsoft.AspNet.Mvc.Facebook。源代码在这里:http://aspnetwebstack.codeplex.com/

如果你不能升级,你可能想从github下载旧版本的Facebook c# SDK的源代码,看看你是否可以通过代码找到问题。https://github.com/facebook-csharp-sdk/facebook-csharp-sdk/tree/v5

最新更新