Facebook登录仅在主机设置为localhost时有效?

时间:2012-08-22 17:17:36

标签: facebook oauth-2.0 facebook-login hosts openshift

不幸的是我一直收到这个错误:

{
   "error": {
      "message": "Invalid redirect_uri: Given URL is not allowed by the Application configuration.",
      "type": "OAuthException",
      "code": 191
   }
}

登录有效当我的/etc/hosts文件设置为:127.0.0.1 [mysite].rhcloud.com时,只有在我查看实际[mysite].rhcloud.com时才会失败。

我在本地运行完全相同的应用程序(在不同的服务器上),就像我在rhcloud上运行的应用程序一样。具体而言,同步本地< - >远程Web应用程序目录。

网址信息

尝试远程登录时,URL看起来像这样;并因上述错误而失败:

https://graph.facebook.com/oauth/authorize?scope=user_photos%2Cfriends_photos&redirect_uri=http%3A%2F%2F [mypublicipaddress]%2Fuser%2Flogin&安培; RESPONSE_TYPE =代码&安培; CLIENT_ID = [隐藏] < / p>

尝试在本地登录时,URL看起来像这样;和工作:

https://www.facebook.com/dialog/permissions.request?app_id= [隐藏]&安培;显示=页面&安培;下一个HTTP =%3A%2F%2F [隐藏] .rhcloud.com%2Fuser%2Flogin&安培; RESPONSE_TYPE =代码&安培;烫发= user_photos%2Cfriends_photos&安培; fbconnect = 1

4 个答案:

答案 0 :(得分:1)

好的,你似乎做得对,但是有时候有人绊倒人,同时做你的redirect_uri和&#39;网站网址&#39;字段有一个尾随&#39; /&#39;?

特别是,如果redirect_uri没有跟踪&#39; /&#39; (或文件名等)在域名之后它始终不起作用

答案 1 :(得分:0)

您是否在Facebook应用配置中设置了画布URL /安全画布URL。如果是这样,请在删除后重试。或者在确保画布URL正确后尝试。

答案 2 :(得分:0)

是。尾随/很重要。只需检查这些字段,如果不存在,请添加该/

但是,说实话,这是我第一次见到这样的东西。通常,我们会在本地环境中看到Facebook登录失败,但在生产中工作正常。

答案 3 :(得分:0)

我能够通过访问我的Facebook开发者应用程序帐户并将域名从localhost更改为我的应用程序的URL来克服完全相同的问题