Как добавить 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 28

8 ответов:

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

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

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

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

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

Ваша ошибка в том, что вы говорите

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

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

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

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

  1. перейдите на страницу редактирования/резюме приложения
  2. в четвертом поле приложение Домены, у вас уже должен быть roomidex.com, поэтому добавьте еще один адрес localhost
  3. Указанные Facebook URL-адреса действительны только в том случае, если каждый из них помещен во вкладки, где вы устанавливаете, как ВЫ app integrates with Facebook (сайт с Facebook login, приложение на 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 теперь требует, чтобы" допустимые URI перенаправления OAuth " были https.

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

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

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

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

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