我尝试在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();
}
}
答案 0 :(得分:4)
也许你已经完成了这个,但我遇到了同样的问题,所有我要做的就是将我的应用ID和秘密添加到web.config。
在web.config文件中,我的问题出在这一行。确保这些填充和准确应解决问题。
<facebookSettings appId="xxxxxxxx" appSecret="xxxxxxx" cookieSupport="true" />
希望这有帮助!
答案 1 :(得分:1)
我想你会发现这与cookies有关。
我正在玩sdk中的不同示例网站。我清除了我的饼干,然后我就不再收到错误了。
答案 2 :(得分:-2)
您必须在Facebook上查看您的应用设置。请注意网址和其他设置。