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

Facebook登录仅在主机设置为localhost时有效?,facebook,oauth-2.0,facebook-login,hosts,openshift,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时,登录可以工

不幸的是,我经常遇到这样的错误:

{
   "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信息 当尝试远程登录时,URL如下所示:;并因上述错误而失败:

https://graph.facebook.com/oauth/authorize?scope=user_photos%2Cfriends_photos&redirect_uri=http%3A%2F%2F[mypublicipaddress]%2User%2Login&response\u type=代码和客户端\u id=[hidden]

而试图在本地登录的URL如下所示;和工程:


https://www.facebook.com/dialog/permissions.request?app_id=[hidden]&display=page&next=http%3A%2F%2F[hidden].rhcloud.com%2Fuser%2Flogin&response\u type=code&perms=user\u photos%2Cfriends\u photos&fbconnect=1

好的,你似乎做得不错,但有一件事有时会让人绊倒,您的
重定向\u uri
和“网站URL”字段是否都有尾随“/”


特别是,如果
重定向\u uri
在域名后没有尾随“/”(或文件名等),则它不总是有效

您是否在facebook应用程序配置中设置了画布URL/安全画布URL。如果是,请在删除它们后重试。或者在确保画布URL正确后重试。

是。后面的
/
很重要。只需检查这些字段,如果没有,则添加尾随的
/


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

通过访问我的facebook开发者应用程序帐户并将域从本地主机更改为我的应用程序的url,我能够克服完全相同的问题

因为奖金而无法投票关闭-但请看@lgy:这不是重复,我已经阅读了这个问题的答案,但没有一个能帮助我克服这个错误。你能确认你的应用程序在Facebook上的URL没有设置为localhost,并且你的主机文件没有包含任何URL吗?你说的“尝试远程登录”与“本地登录”是什么意思?Facebook上的URL设置为
http://[mysite].rhcloud.com
,我的主机文件包含
127.0.0.1[mysite].rhcloud.com
。本地登录指的是使用该
/etc/hosts
行登录,而远程登录指的是在未设置该行的情况下登录。重定向\u uri由应用程序设置控制。是否在Canvas/Pagetab/IOS/Android设置中找到重定向uri URL?请仔细检查,它没有尾随
/
。添加一个没有任何区别。只需将我的“使用Facebook登录的网站”设置为双击,它没有尾随
/
。添加一个并没有什么区别。“通常,我们看到Facebook登录在本地环境中失败,但在生产环境中运行良好。”我不会推动生产在本地环境中不起作用的东西;)