Подтвердить что ты не робот

Аутентификация Facebook на локальном хостинге

Я пытаюсь настроить Omniauth, как описано в этом Railscast. Хотя он работает с Twitter, я не могу заставить его работать с Facebook. Я также установил 'http://localhost:3000' как siteurl и 'localhost' как домен, но все еще вижу следующее сообщение об ошибке в браузере:

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

Есть ли у вас какие-либо предложения по устранению этого? Спасибо заранее.

4b9b3361

Ответ 1

Взгляните на перенаправление в URI. Mine читал localhost: 3000, поэтому я изменил URL-адрес сайта на "http://localhost: 3000/", и он сработал.

Ответ 2

Вот что сработало для меня.

В настоящее время 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 будет использовать это в URL-адресе обратного вызова, который он отправит в Facebook, а затем Facebook выкинет ошибку, о которой упоминает Райан.

Ответ 3

Я переключаюсь на http://lvh.me:3000 в локальном браузере для локального тестирования facebook. Затем в настройках приложения facebook сделайте lvh.me своим доменом.

lvh.me - зарегистрированный домен, указывающий на 127.0.0.1, который разработчик купил для локального тестирования поддоменов.

Ответ 4

Попробуйте использовать

http://0.0.0.0:3000/

для URL-адреса сайта. Это работает для меня. (Кроме того, у меня нет ничего в поле "Site Domain".)

Ответ 5

Если вы находитесь на OSX, вы можете использовать pow http://pow.cx/, чтобы переименовать localhost в

http://yourapp-dev  

(на самом деле не переименовано, оно добавлено)

вы можете установить это как действительное доменное имя на facebook.