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

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

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

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

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

Код ошибки API: 191 API Описание ошибки: Указанный URL не принадлежащее приложению Сообщение об ошибке: Недействительный redirect_uri: данный URL-адрес не разрешен конфигурацией приложения.

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

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

Ответ 1

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

  • Все изменения были внесены на странице "Настройки" на вкладке "Основные"

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

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

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

4.) В правом нижнем углу нажмите "Сохранить изменения"

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

Ответ 2

  • Перейдите на страницу настроек приложения в http://developers.facebook.com
  • Нажмите стрелку вниз в левом верхнем углу (рядом с названием вашего приложения) и нажмите "Создать тестовое приложение" и дайте ему имя
  • В разделе "Настройки" > "Основные" этого нового тестового приложения установите "Домены приложений" как "localhost"
  • Также установите URL-адрес сайта как "http://localhost:8888" (или любой другой порт, который вы используете).
  • ВАЖНО: у этого приложения есть разные идентификаторы приложений и приложений из вашего онлайн-приложения. Итак, последний шаг: убедитесь, что вы обновляете код, который находится на вашем локальном хосте, с помощью приложения App App App и App Secret. Наоборот, код, который находится на реальном сервере, должен использовать основной идентификатор приложения и секрет.

Ответ 3

Вы все еще можете проверить свое приложение, не развертывая его на удаленном сервере, таком как heroku. Хитрость заключается в обновлении файла etc/hosts следующим образом:

127.0.0.1 mydomain.com

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

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

Ответ 4

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

Ответ 5

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

Ответ 6

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

Чтобы это работало на localhost, порт 3000, я сделал следующее:

  • Создать приложение

Создать тестовое приложение

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

введите описание изображения здесь

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

введите описание изображения здесь

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

введите описание изображения здесь

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

Итак...

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

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

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

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

  2. Введите свой URI перенаправления Firebase OAuth (найденный при включении входа в Facebook в вашей консоли firebase https://console.firebase.google.com, пример ниже)

введите описание изображения здесь

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

введите описание изображения здесь

Готово.

Ответ 7

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

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

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

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

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

5.) В правом нижнем углу нажмите "Сохранить изменения"

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

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

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

Ответ 8

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

    http://localhost:8000/

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

Ответ 9

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

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

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

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

4.) В правом нижнем углу нажмите "Сохранить изменения"

Ответ 10

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

"http://localhost:3000/"

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

Ответ 11

Для меня это сработало вот так:

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

* На вкладке "basic":

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

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

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

3) Я вошел в URI с редиректом действительного OAuth:

http://localhost/myappfolder/redirect.php

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

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

внутри файла redirect.php:

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

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