Facebook API - 签名请求无效。 (签名无效。)

时间:2011-06-11 12:50:40

标签: asp.net api facebook facebook-c#-sdk

我尝试在http://landlordscores.co.uk/account/login.aspx使用Facebook身份验证,但在使用Facebook登录后,回调页面显示“无效的签名请求。(无效签名。)”。应用程序ID和密码是正确的,似乎没有记录其他信息。每次我尝试使用Facebook登录时都会发生这种情况。

修改 为了打电话,我使用了几乎所有的代码作为样本。 在标记中:

<iframe src="<%= this.RegistrationUrl %>"
                        scrolling="auto"
                        frameborder="no"
                        style="border:none"
                        allowTransparency="true"
                        width="100%"
                        height="500">
                  </iframe>

在代码隐藏中:

public string RegistrationUrl {
    get
        {
    var url = string.Format(
    "http://www.facebook.com/plugins/registration.php?client_id={0}&redirect_uri={1}&fields={2}",
    FacebookApplication.Current.AppId,
    HttpUtility.UrlEncode(AppBLL.GetAbsoluteURL("~/Account/fbregcallback.aspx")),
    HttpUtility.UrlEncode("[{\"name\":\"name\"},{\"name\":\"email\"},{\"name\":\"location\"},{\"name\":\"password\",\"view\":\"not_prefilled\"},{\"name\":\"captcha\"}]"));            this.RegisterUser.ContinueDestinationPageUrl = this.Request.QueryString["ReturnUrl"];
    this.hdnPassLength.Value = Membership.MinRequiredPasswordLength.ToString();
                            HttpUtility.UrlEncode("[{\"name\":\"name\"},{\"name\":\"email\"},{\"name\":\"location\"},{\"name\":\"password\",\"view\":\"not_prefilled\"},{\"name\":\"captcha\"}]"));       
    this.hdnPassLength.Value = Membership.MinRequiredPasswordLength.ToString();
    }
}

3 个答案:

答案 0 :(得分:4)

也许你已经完成了这个,但我遇到了同样的问题,所有我要做的就是将我的应用ID和秘密添加到web.config。

在web.config文件中,我的问题出在这一行。确保这些填充和准确应解决问题。

<facebookSettings appId="xxxxxxxx"  appSecret="xxxxxxx"  cookieSupport="true" />

希望这有帮助!

答案 1 :(得分:1)

我想你会发现这与cookies有关。

我正在玩sdk中的不同示例网站。我清除了我的饼干,然后我就不再收到错误了。

答案 2 :(得分:-2)

您必须在Facebook上查看您的应用设置。请注意网址和其他设置。