Как добавить localhost: 3000 в приложение Facebook для разработки

Я работаю над приложением Rails 4. На моем ноутбуке разработка выполняется в localhost:3000. Домен сайта:roomidex.com.

как я могу настроить приложение Facebook, чтобы оно работало на производстве и разработке?

вот текущая конфигурация:

App Domains: roomidex.com

Website With Facebook Login: 
Site URL: http://www.roomidex.com

когда я пытаюсь сделать логин Facebook на localhost: 3000, я получаю эту не удивительную ошибку:

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

8 ответов


на странице приложения Facebook Нажмите "изменить приложение", затем нажмите" Дополнительно " в левой навигации. Затем для" Valid OAuth redirect URIs " добавьте http://localhost:3000... или все, что вы хотите, чтобы принятое перенаправление было.


вы можете создать тестовое приложение, подключенное к вашему основному приложению. На панели мониторинга или странице настроек для основного приложения. прокрутите вниз, и вы увидите "тестовые приложения" в меню, которое работает в левой части страницы. Тестовое приложение унаследует настройки от основного приложения, но будет постоянно находиться в режиме разработки и будет иметь свой собственный ID.

дополнительная информация о тестовых приложениях здесь: https://developers.facebook.com/docs/apps/test-apps/

протокол для настройки приложения для работы на localhost изменилось. После того, как вы настроили тестовое приложение, это объясняет шаги по его настройке для работы на localhost:

https://stackoverflow.com/a/24253054/2803458


ваша ошибка говорит

localhost URL не допускается в приложении

Я знаю, FB не дает s* * t о объяснении, что делать в эти моменты, однако, насколько я обеспокоен, я нашел обходной путь.

в основном, вам нужно "белый список" locahost url в вашем приложении

вот что вы собираетесь делать

  1. перейти к приложению правка / сводка страница
  2. в четвертом поле Приложение Доменов, вы уже должны иметь roomidex.com, поэтому добавьте еще один адрес localhost
  3. URL-адреса, упомянутые выше, действительны только в том случае, если каждый из них помещен во вкладки, где вы установили, как вы app integrates with Facebook (сайт с логином facebook, приложение на facebook, мобильный интернет, ...)
  4. я делаю это: я ставлю свой рабочий URL, в вашем случае roomidex.com в Website with facebook login и мой тест, localhost в URL, либо в App on facebook или Page tab

июня 2015

перейдите в Мои приложения > Настройки > Основные

Приложение Доменов

  • localhost в

Веб-Сайт

Он не работал с портом 80 или без какого-либо порта, к сожалению.


добавлять localhost до Valid OAuth redirect URIs в тестовом приложении не работа для меня, но добавлять 127.0.0.1 сделал.


Facebook теперь требует, чтобы" действительный OAuth redirect URIs " был https.

чтобы использовать https локально (localhost:3000), я использовал [ngrok][1], который позволяет использовать https, предоставляя туннель. Для этого:

  1. я зашла на их сайт и скачал их программу
  2. я извлек файл для программы
  3. в моей консоли я вошел в каталог, в который был извлечен ngrok, и ввел "grok http 3000" на моей машине Windows, другие могут использовать './ grok http 3000'
  4. после ввода этого ngrok предоставил адрес https, который я поместил в действительное поле OAuth Redirect URIs в Facebook
  5. затем я запустил свой сервер и смог получить к нему доступ, используя этот адрес https вместо localhost: 3000

просто создайте два приложения.

один для тестирования и один для выпуска. Вы не можете предоставить приложению отдельные конфигурации URL-адресов.


просто отредактируйте файл hosts с вашим доменом, который указывает на localhost, и он должен работать нормально.