FB.login Invalid redirect_uri (xd_proxy.php)

FB.login Invalid redirect_uri (xd_proxy.php)

本文关键字:xd proxy php uri login Invalid redirect FB      更新时间:2023-09-26

所以,我使用的是Facebook JS SDK,我一直得到191:

现在,我已经检查了我的设置,一切似乎都很正常。应用程序域设置为我的基本域(alehunt.com),"使用Facebook登录的网站"=>"网站URL:"设置为"http://www.alehunt.com".我不做任何与画布相关的事情。

当查看FB.login生成的登录对话框窗口的URL时,我很惊讶地发现redirect_uri并没有直接指向我的应用程序,而是通过http://static.ak.fbcdn.net/connect/xd_proxy.php.我想知道这是否是191错误的原因。

现在,如果我把redirect_uri的那个部分改成我自己的,一切似乎都很好。对话框显示为应有状态。

完整的URL为https://www.facebook.com/dialog/oauth?api_key=MYAPPID&app_id=MYAPPID&client_id=MYAPPID&display=popup&domain=www.alehunt.com&原点=1&redirect_uri=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%23cb%3Df2f3026b8%26origin%3Dhttp%253A%252F%252Fww.alehunt.com%252Ff298bcee3c%26relationship%3Opener%26transport%3Postmessage%26frame%3Df3d63e980c&response_type=令牌%2Signed_request&scope=电子邮件&sdk=joey

有人能解释一下吗?为什么JS SDK坚持在重定向URI中设置所有这些?

我看到的错误是:

API错误代码:191API错误描述:指定的URL不归应用程序所有错误消息:无效的redirect_uri:应用程序配置不允许给定的URL。

我正在Chrome 21 中测试

原来这是由于使用了Cordova(PhoneGap)修改过的Facebook JS客户端。仍然不确定到底是什么问题,但当我从Facebook直接加载JS时,一切都很好。