我正在尝试在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();
    }
}

最佳答案

也许您已经做到了,但是我遇到了同样的问题,我要做的就是将我的应用程序ID和密码添加到web.config中。

在web.config文件中,我的问题在这一行上。确保这些填充物正确无误,应该可以解决问题。

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

希望这可以帮助!

关于asp.net - Facebook API-无效的签名请求。 (无效的签名。),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6316020/

10-09 13:02