Приложение Facebook: localhost больше не работает как домен приложения


Я писал игру для Facebook с помощью Rails и jQuery. Поскольку я начал использовать Facebook Javascript SDK, использование localhost в качестве домена приложения, казалось, работало просто отлично. Я смог протестировать свою игру как локально, так и на Heroku.

в последний день, кажется, что Facebook сделал большое обновление для своего пользовательского интерфейса разработчика. Теперь, если я добавлю localhost в качестве домена приложения, это даст мне следующую ошибку:

Это должно быть получено из URL Canvas, Secure Canvas URL-адрес, URL сайта, URL-адрес мобильного сайта, вкладка URL-адрес страницы или обеспечить закладке URL-адреса. Проверьте и исправьте следующие Домены: localhost

моя игра также теперь не работает локально, и я получаю сообщение об ошибке, когда JavaScript SDK входит в систему пользователя:

код ошибки API: 191 описание ошибки API: указанный URL-адрес не указан принадлежит сообщению об ошибке приложения: недопустимый redirect_uri: Given URL-адрес не разрешен конфигурацией приложения.

этот не происходит, когда я развертываю свою игру, так как herokuapp.com считается допустимым доменом приложения.

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

13 87

13 ответов:

протокол, кажется, постоянно меняются, и принятый ответ не работает для меня сегодня. В случае, если это помогает другим поисковикам, это то, что сработало для меня:

  • все изменения были внесены на странице настроек под вкладкой Basic

1.) В центре под первым полем опций нажмите " + Добавить платформу "и выберите" веб-сайт " (или все, что подходит для вашего приложения.)

2.) В поле, которое появляется для веб-сайта, который вы только что добавили: URL сайта:http://localhost:3000/

3.) В поле выше этого (Настройки = > Основные):Приложение Домена:localhost

4.) Внизу правой кнопкой мыши нажмите "Сохранить изменения"

5.) Убедитесь, что идентификатор приложения скопирован и правильно вставлен в ваш код. (Код в первом поле на этой странице, Если вам снова понадобится.)

  1. перейдите на страницу настроек вашего приложения в http://developers.facebook.com
  2. нажмите на стрелку в верхнем левом углу (рядом с названием вашего приложения) и нажмите кнопку "Создать тест" и дать ему имя
  3. в настройках > Basic этого нового тестового приложения установите Домены приложений как "localhost"
  4. также установите URL сайта сайта как"http://localhost:8888" (или любой другой порт, который вы используете).
  5. важно: это приложение имеет другой идентификатор приложения и секрет приложения из вашего онлайн-приложения. Итак, последний шаг: убедитесь, что вы обновили код, который находится на вашем локальном хосте с идентификатором приложения и секретом приложения тестового приложения. Напротив, код, который находится на реальном сервере, должен использовать идентификатор и секрет основного приложения.

вы все еще можете протестировать свое приложение, не развертывая его на удаленном сервере, таком как heroku. Фокус в том, чтобы обновить таким образом:

127.0.0.1 mydomain.com

затем в настройках приложения Facebook введите [http://] mydomain.com без "[" и "]"

это сработало для меня таким образом

для всех, кто ерзал с этим в 2017 году. Интерфейс снова изменился. Я хотел бы прокомментировать этот ответ, но у меня недостаточно репутации. Url-адрес localhost вашего приложения теперь должен быть скопирован в три места. В настоящее время (26 октября 2017 года) последовательность такова:

1.) Нажмите кнопку "Настройки" в меню слева.

2.) В центре под первым окном опций нажмите "+ Добавить платформу "и выберите" сайт " (или все, что подходит для вашего приложение.)

3.) В поле, которое появляется для веб-сайта, который вы только что добавили, скопируйте свой url-адрес сайта localhost (f.e. http://localhost:3000/)

4.) В поле выше этого "домен приложения" скопируйте тот же URL

5.) Внизу правой кнопкой мыши нажмите "Сохранить изменения"

6.) В левом меню в разделе "Продукты" нажмите "Facebook Login" (или добавьте его через "+ добавить продукты", если он недоступен)

7.) Теперь вы находитесь в настройках входа в Facebook. Скопируйте тот же url-адрес в поле "допустимые URI перенаправления OAuth"

Это должно работать.

просто добавьте localhost в качестве url-адреса холста или url-адреса мобильного сайта, это позволит вам иметь как localhost, так и herokuapp.com в настройках домена приложения. Затем, когда ваше приложение находится в производстве, просто удалите его.

Это неправильный путь. Вы должны создать тестовое приложение с помощью вкладки тест в настройках приложения. А затем вы можете ввести url-адрес этапа разработки (например, localhost) в свое приложение.

решение с использованием Firebase

для того, чтобы получить эту работу на localhost, порт 3000 Я сделал следующее:

  1. Создать Приложение

Create Test App

  1. Теперь выберите "+ Создать тестовое приложение " из выпадающего списка со стрелкой (вверху слева).

enter image description here

  1. добавить localhost для приложения Домены

enter image description here

  1. добавить http://localhost:3000/ к URL сайта выбранным "+ добавить платформу"

enter image description here

до этого момента я следил за всеми предыдущими ответами, представленными здесь, но ничего не сработало.

так...

  1. в меню слева выберите "Добавить продукт"

  2. Добавить "Facebook Войти"

вам будет представлен рабочий процесс карусели, с доменом по умолчанию http://localhost:3000/, нажмите кнопку "Продолжить" до конца.

  1. выберите "Facebook Login > настройки" в меню продукта.

  2. введите опорному пункту протокола OAuth URI перенаправления (нашли, когда разрешить вход в систему с Facebook в консоли опорного пункта https://console.firebase.google.com, например ниже)

enter image description here

  1. вставить URI и сохранить.

enter image description here

сделано.

попробуйте использовать url с портом, например

    http://localhost:8000/

У меня была такая же проблема, и я нашел это решение прямо сейчас.

Это работает для меня в heroku, localhost вещь не работает (для меня). Я надеюсь, что это поможет

1.) В центре под первым полем опций нажмите " + Добавить платформу "и выберите" веб-сайт " (или все, что подходит для вашего приложения.)

2.) В поле, которое появляется для веб-сайта, который вы только что добавили: URL сайта:http://MYAPP.herokuapp.com/ (Замените MYAPP на имя вашего приложения)

3.) В поле выше этого (Настройки = > Основные): приложение Домен: MYAPP.herokuapp.com (замените MYAPP на имя вашего приложения)

4.) Внизу правой кнопкой мыши нажмите "Сохранить изменения"

просто Примечание Для некоторых других, которые могут бороться с этим, как я был. Я не смог заставить это работать с" тестовыми " приложениями. Используя мои фактические Настройки Приложения (и просто добавив

"http://localhost:3000/"

к моему URL холста) работал, как все остальные предложили. Кажется, тестовые приложения не равны реальным приложениям.

для меня это работало так:

настройка панели мониторинга приложения facebook:

*на вкладке "Основные":

1) оставляя домен приложения пустым.

2) стирание любой платформы. Значение: нет веб-сайта нет платформы холста. (так что нет сайта-URL поле для заполнения)

*на вкладке "Дополнительно":

3) я ввел в действительный OAuth redirect URI:

http://localhost/myappfolder/redirect.php

4) относительно моего кода, insdie мой c:/xampp/htdocs/localhost/myappfolder/index.php (этот файл делает loginURL):

$helper = new FacebookRedirectLoginHelper('http://localhost/myappfolder/redirect.php');  

внутри редиректа.файл php:

$helper = new FacebookRedirectLoginHelper('http://localhost/myappfolder/redirect.php');  

и я получил сеанс! наконец-то! не надо вешаться в конце концов: P

Я столкнулся с проблемой с моим приложением Rails, которое я обычно запускаю с http://localhost:3000 потому что Facebook теперь требует действительного перенаправления OAuth для использования https.

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

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

для локального тестирования все, что вам нужно сделать, это отключить приложение или перевести приложение facebook в режим разработки. Тогда Facebook позволит вам в одиночку получить доступ к приложению