Аутентификация Omniauth Facebook на localhost
Я пытаюсь настроить Omniauth, как описано в этой Railscast. Пока он работает с Twitter, Я не могу заставить его работать с Facebook. Я также настроил'http://localhost:3000 "как siteurl и "localhost" как домен, но по-прежнему видеть следующее сообщение об ошибке в браузере:
Invalid redirect_uri: Given URL is not allowed by the Application configuration.
у кого-нибудь из вас есть предложения о том, как это исправить? Спасибо заранее.
5 ответов
взгляните на перенаправление в URI. Мой читал localhost: 3000, поэтому я изменил URL-адрес сайта на "http://localhost:3000" и это сработало.
вот что сработало для меня.
прямо сейчас 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 выбросит ошибку, упомянутую Райаном выше.
я переключаюсь на http://lvh.me:3000 в моем локальном браузере, чтобы проверить facebook локально. Затем в настройках приложения facebook сделайте lvh.я твой домен.
lvh.me-зарегистрированный домен, указывающий на 127.0.0.1, который разработчик купил для локального тестирования поддоменов.
попробуйте использовать
http://0.0.0.0:3000/
для'URL сайта'. Это работает для меня. (Кроме того, у меня нет ничего в поле "домен сайта".)
Если вы находитесь на OSX, вы можете использовать pow http://pow.cx/ переименовать localhost в
http://yourapp-dev
(на самом деле не переименован, он добавлен)
вы можете установить это как действительное доменное имя на facebook.