22

我正在尝试按照此Railscast中的描述设置 Omniauth 。虽然它适用于 Twitter,但我无法让它适用于 Facebook。我还将“ http://localhost:3000 ”设置为 siteurl,将“localhost”设置为域,但仍然在浏览器中看到以下错误消息:

Invalid redirect_uri: Given URL is not allowed by the Application configuration.

你们中有人对如何解决这个问题有任何建议吗?提前致谢。

4

5 回答 5

32

查看 URI 中的重定向。我的读取 localhost:3000 所以我将站点 URL 更改为“http://localhost:3000/”并且它有效。

于 2011-01-01T20:32:45.373 回答
28

这对我有用。

目前 Facebook 不允许将站点域设置为 IP,因此无法将站点 URL 设置为,http://127.0.0.1:3000/因为这样 Facebook 会抱怨 URL 与域不匹配。

因此,在您的 Facebook 应用程序中设置:

Site URL: http://localhost:3000/
Domain: localhost

当您在开发机器上访问应用程序时,请确保您在浏览器中输入 localhost:3000。如果您使用 127.0.0.1:3000 OmniAuth 将在它发送到 Facebook 的回调 url 中使用它,然后 Facebook 将抛出 Ryan 上面提到的错误。

于 2011-02-02T01:54:37.903 回答
15

我在本地浏览器中切换到http://lvh.me:3000以在本地测试 facebook。然后在 facebook 应用程序设置中,将 lvh.me 设为您的域。

lvh.me 是一个注册域,指向 127.0.0.1,开发者购买该域是为了在本地测试子域。

于 2011-07-25T22:33:43.150 回答
7

尝试使用

http://0.0.0.0:3000/

对于“网站 URL”。这对我有用。(另外,我在“站点域”字段中没有任何内容。)

于 2010-12-31T03:08:50.980 回答
0

如果您在 OSX 上,您可以使用 pow http://pow.cx/将 localhost 重命名为

http://yourapp-dev  

(实际上并没有重命名,它是添加的)

您可以将其设置为 facebook 上的有效域名。

于 2012-07-10T02:16:29.180 回答