Доменное имя приложения Facebook при использовании localhost

85

Из учебника здесь:
http://ankurm.com/blog/api/using-localhost-for-facebook-app-development/1091/

Я попытался создать локальную область разработки для своего приложения Facebook. Но когда я использую http: // localhost: 85 / my_app / в качестве имени домена, Facebook сообщает

Домены приложений: « http: // localhost: 85 / app-name / » не должны содержать информацию о протоколе.

Также, когда я использую "localhost: 85 / my_app /" в качестве имени домена, я получаю сообщение об ошибке:

Домены приложений: localhost: 85 / my_app / не является допустимым доменом.

Саня Тоби
источник
6
Я не верю, что вы хотите обновить «Домен приложения», вместо этого вы хотите обновить «URL-адрес сайта», расположенный по адресу: Приложения> Изменить приложение> Настройки> Базовый> Веб-сайт с входом в Facebook. Убедитесь, что он отмечен зеленым, и появится «URL сайта». Вы можете ввести http: // localhost - порт указывать не нужно, но вы чаще всего указываете протокол.
Луис Перес
1
Не удалось заставить localhost работать в домене приложения. Задайте Дополнительные настройки | «Действительные URI перенаправления OAuth» на URL-адрес localhost (http: // localhost: port #). См. Github.com/tschellenbach/Django-facebook/issues/376
Джо
Также обратите внимание, что домен приложения должен быть, localhostчтобы он мог принять домен. Я пробовал использовать mysite.local, но ничего не вышло. Изменен, Site URL to http://localhost:85/а App Domains to http://localhost:85/затем сохранен (измененный домен приложения FB), чтобы он работал.
Джеймс Лок
Еще кое-что, что можно попробовать: «В настройках клиента oAuth, где указано« Использовать строгий режим для URI перенаправления », убедитесь, что для него установлено значение« Нет »и нажмите« Сохранить ». - wp-native-articles.com/blog/news/…
eflat
Требование HTTPS для входа в Facebook. Вы по-прежнему сможете использовать HTTP с адресами localhost, но только пока ваше приложение все еще находится в режиме разработки. developers.facebook.com/blog/post/2018/06/08/…
yadavr

Ответы:

58

Мое решение:

  1. Оставьте домены приложений пустыми
  2. (Продукты) Вход в Facebook> Настройки
  3. Добавить http://localhost:85/my_app/в Valid OAuth redirect URIsкоробку
  4. Сохранить изменения
Дконаюки
источник
6
@Matt Long: я не нашел поле Valid OAuth redirect URIs, было ли оно удалено?
Джулиан
@MattLong, спасибо! Я заставил его работать с помощью раствора Supasates.
Julian
1
Сработало у меня! (Февраль 2018)
Дэниел говорит: "Восстановите Монику"
18.10.2020 Я получаю предупреждение: « Перенаправления localhost автоматически разрешены только в режиме разработки, и их не нужно здесь добавлять».
Кик Бутовски
55

Похоже, протокол был изменен.

Вот мое решение (я тестировал 3 апреля 2015 года, и он хорошо работает):

В Настройки -> вкладка Основные

  1. Домен приложения: localhost
  2. Нажмите « + Добавить платформу » и выберите « Веб-сайт ».
  3. URL сайта: http: // localhost: <port> / ( <port> - номер вашего порта)
  4. Сохранить изменения
Супасате
источник
3
не работает, s32.postimg.org/4qazo1sl1/…
shershen
4
Спасибо! Это сработало для меня (май 2016 г.). Обратите внимание, 127.0.0.1 не работает.
Milad M
Работал на меня июнь 2017
Alaksandar Jesus Gene
Работает! Декабрь 2017
Pandarian Ld
44
  1. Оставьте домены приложений пустыми
  2. Перейти на веб-сайт с помощью входа в Facebook
  3. Добавить http://localhost:port_number/
  4. Сохраните изменения и попробуйте еще раз. Для получения дополнительной информации посетите

http://developers.facebook.com/docs/samples/canvas/ Удачного кодирования :-)

ВЕЧЕРА
источник
3
developers.facebook.com/docs/opengraph/getting-started - вероятно, более актуально
fflyer05
7
Не удалось заставить localhost работать в домене приложения. Задайте Дополнительные настройки | «Действительные URI перенаправления OAuth» на URL-адрес localhost (http: // localhost: port #). См. Github.com/tschellenbach/Django-facebook/issues/376
Джо
2
Что означает «Веб-сайт с входом в Facebook»? Вариант рядом с "Домены приложений"? Я этого не вижу. Добавление записи localhost в «Дополнительные настройки | Допустимые URI перенаправления OAuth» сработало для меня
Пьер де ЛЕСПИНАЙ
Сделал, но по-прежнему появляется ошибка: «Указанный URL не разрешен конфигурацией приложения»
Рам Рачум,
1
Работает нормально. Я хочу просто прокомментировать, что это работает только с localhost, как в ответе. Я пробовал 127.0.0.1:8000 и не получилось
ePi272314 07
30

С годами это немного изменилось, но я только что заставил его работать с веб-приложением, которое я запускаю на локальном хосте. Вот что я сделал:

  1. Перейти к https://developers.facebook.com/apps
  2. Выберите свое приложение.
  3. Выберите «Настройки»> «Основные» на левой панели навигации.
  4. Нажмите кнопку «Добавить платформу» внизу страницы.
  5. Нажмите "Веб-сайт"
  6. Введите http://localhost:8080/URL-адрес сайта.
  7. Нажмите кнопку быстрого запуска справа от только что введенного URL-адреса сайта.
  8. Откроется новая вкладка. На этой вкладке прокрутите вниз до раздела «Расскажите нам о своем веб-сайте» и снова введите http://localhost:8080/URL-адрес сайта.
  9. Щелкните кнопку Далее.
  10. Попытка войти снова, и на этот раз это сработало.

Удачи!

10Грит
источник
2
есть способ использовать два домена? localhost и домен, используемый для производства: /
JCarlosR
Не работает: по-прежнему застревает, URL-адрес заблокирован: это перенаправление не удалось, поскольку URI перенаправления не внесен в белый список в настройках OAuth клиента приложения. Убедитесь, что клиентский и веб-вход OAuth включен, и добавьте все свои домены приложений в качестве действительных URI перенаправления OAuth.
Никундж Димар
28

2018 рабочее решение

Мне потребовалось время, чтобы понять это, поэтому я поделюсь своим решением.

Я попробовал все предложенные ответы, но у меня ничего не получилось, и в конце все, что мне нужно было сделать, это перейти на https://developers.facebook.com/apps/YOUR_APP_ID/fb-login/settings/ и добавить свои полный URL-адрес обратного вызова в поле Допустимые URI перенаправления OAuth .

В моем случае, используя Ruby on Rails, мой URL-адрес выглядел так http://localhost:3000/user/auth/facebook/callback.

И сразу после того, как я его добавил, все заработало! Надеюсь, это поможет кому-то еще столкнуться с этой проблемой.

Гильпеджон
источник
Спасибо! Удивительно, но на данный момент у вас есть идеальное работоспособное решение! Ура.
Находкин 05
да спасибо. Это сработало для меня. Я добавил localhost: 5001 в раздел: Допустимые URI перенаправления OAuth и включил: Вход во встроенный браузер OAuth
Дэвид Джон Коулман II
Это тоже сработало для меня. Это текущее рабочее решение. Я создал тестовую версию своего приложения для входа в Facebook с localhost. (Пока Facebook снова ничего не изменит!)
Red3
3
Спасибо! PITA. После того, как я добавил это, появилось это уведомление. В марте мы вносим обновление для системы безопасности в настройки вашего приложения, которое сделает недействительными вызовы с URI, не указанных в поле Valid OAuth redirect URI ниже. Это обновление является ответом на вредоносную активность, которую мы наблюдали на нашей платформе, и мы хотим защитить ваше приложение или веб-сайт, требуя новый строгий режим для URI перенаправления Кажется, что они начали работать раньше?
dbinott
1
Благодарность! Мне тоже потребовалось время (пока я не нашел этот ответ). Проблема в том, что ошибка, которую вы получаете от FB, предлагает вам добавить свой домен в «домены приложения», что не имеет ничего общего с реальной проблемой. Спасибо, что снова
потратил
11

Это то, что я делал раньше.

Если вы используете Windows, вам необходимо изменить файл хоста. Расположение файла хоста будет по адресу%SystemRoot%\System32\drivers\etc\

Добавьте новую строку в файл хоста, как это

127.0.0.1    localhost.YOUR-SITE-NAME.com

Сохраните файл хоста.

Зайдите в панель управления настройками приложений FB и укажите localhost.YOUR-SITE-NAME.comв поле Домен приложений. Сохранить изменения.

Теперь загрузите локальную среду, как в localhost.YOUR-SITE-NAME.comбраузере.

NB: измените YOUR-SITE-NAME на свое доменное имя.

Киранвдж
источник
7

Рабочее решение (август 2018 г.)

Сначала выберите свое приложение на панели инструментов разработчиков .

Затем убедитесь, что ваше приложение находится в режиме разработки , поскольку оно позволяет использовать localhost через HTTP. Для этого нажмите на переключатель, расположенный в правом верхнем углу страницы вашего приложения.

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

  • Settings > Basic > App Domains должно быть пусто
  • Products > Facebook Login > Settings > Valid OAuth Redirect URIs должно быть пусто
Aymericbeaumet
источник
он все еще работает? Я получаю сообщение об ошибке с белой меткой, если перехожу в режим разработки.
sagar
1
У меня есть тестовая версия моего продуктивного приложения (всегда в режиме разработки), все поля очищены, но все равно появляется ошибка: несоответствие URI OAuthException
Андреас Рихтер,
Когда приложение находится в режиме разработки , вы не можете проверить любые конечные точки , которые требуют , чтобы представить свое приложение
Рикс
Спасибо, братан, да, это было непросто, чтобы наконец понять
Энтони
5

Вы можете оставить его пустым или использовать localhost, http://localhost:85/my_app/это URL

phwd
источник
да, я знаю его URL-адрес, но dats wot было сделано в учебнике, и он утверждает, что это сработало ... вот почему я попробовал ... кстати, я также пробовал localhost: 85, но он не работает, но когда Я пробовал localhost, только он работал ... Причина, по которой я хотел использовать: 85, в том, что это порт, который использует мой apache ...
Саня Тоби,
Порт - это информация о протоколе, она вам не нужна для этого поля. Как сказано в сообщении: не должно содержать протокольной информации.
phwd
оставление поля пустым сделало свое дело. И еще одна вещь, которую он не принимает в localhostкачестве доменного имени.
шашват
3

Когда я писал этот учебник, в то время порт был разрешен в домене приложения. И я действительно могу запустить приложение с 81 портом (сервер Wamp). Теперь похоже, что facebook не разрешает порт в URL-адресе. Вы можете использовать localhostв домене приложения.

Я обновлю информацию как можно скорее. Я пытаюсь найти решение.

Временное решение - использовать localtunnel http://progrium.com/localtunnel/

Анкур
источник
2

Я протестировал это, и у меня это работает [фев 2020]:

  1. Установите ngrok и получите адрес https (пример: https://a3asdf23.ngrok.io )
  2. Перейти к FB App Settings Dashboard (Basic) -> под App Домены -> добавить https://a3asdf23.ngrok.io, https://ngrok.io.
  3. На той же странице прокрутите вниз до конца, добавьте платформу (веб-сайт), установите URL-адрес как https://a3asdf23.ngrok.io. Еще не закончили, нажмите QuickStart -> в разделе «Расскажите о своем веб-сайте» укажите тот же URL https://a3asdf23.ngrok.io.
  4. Затем перейдите на продукты -> Facebook Войти -> Настройки -> Настройки клиента OAuth -> Valid OAuth Перенаправление URIs -> добавить их https://a3asdf23.ngrok.io, https://ngrok.io, https://a3asdf23.ngrok.io/{your-redirect-uri}.

И вот. Спасибо позже :)

Юн Чинг
источник
1

Вы должны создать туннель для совместного использования вашего локального хоста; Ngrok - самый простой способ сделать это.

55651909-089b-4e04-9408-47c5bf
источник
1

https://ngrok.com

Перейдите по ссылке https://ngrok.com/, чтобы загрузить ngrok и извлечь этот файл. Открыть cmd (поиск cmd) Перейти в каталог, в котором распакован ngrok. Откройте ngrok из командной строки, например: c: /ngrok/ngrok.exe [порт] или cd c: / ngrok, затем ngrok 80 (ngrok [порт]). Вы получите

нгрок

Tunnel Status                 online
Version                       1.3/1.3
Forwarding                    http://3ahsdfhska.ngrok.com -> 127.0.0.1:80
Forwarding                    https://3ahsdfhska.ngrok.com -> 127.0.0.1:80
Web Interface                 http://127.0.0.1:4040
# Conn                        0
Avg Conn Time                 0.00ms

Не ЗАБУДЬТЕ убедиться, что ваш wamp-сервер открыт на том же порту… (как проверить -> goto-> wampicon-> apache-> httpd.conf поиск порта или 80 (по умолчанию), используйте это для ngrok.exe 80)

http://3ahsdfhska.ngrok.com

будет URL-адресом для доступа к вашему локальному хосту в Интернете

Абхилаш Арува
источник
Я хотел бы протестировать ngrok для поиска моего сервлета. Мой сервлет работает по определенному пути. Для примера: localhost: 8080 / plugins / servlet Как я могу указать ngrok, что нужно выполнить fwd?
Хорхе Валуа,
0

Если вы получаете ошибки протокола, вам нужно не только УДАЛИТЬ Http: //, но также, если в конце веб-адреса есть обратная косая черта, вы должны удалить и ее, иначе она не сработает. Я сделал это, и это сработало отлично! Холла!

есть
источник
0

Добавляем в смесь еще один раствор:

Я настроил свой веб-сайт в соответствии с инструкциями, затем добавил второе приложение (Facebook Canvas) и установил этот URL-адрес http://localhost:XXXXX. Теперь я могу получить доступ к FB как локально, так и в производственной среде.

Мэтт Кэшатт
источник
0

Я разрабатываю локально и использую этот URL: localhost/fb

Затем мне пришлось добавить веб-сайт со следующим URL: http://localhost

В разделе Домены приложений я добавил localhost.

Теперь это работает. Единственная проблема, с которой я столкнулся, заключалась в том, что вы должны использовать этот URL-адрес во всех своих скриптах. Например

$loginUrl = $helper->getLoginUrl('http://localhost/fb/login-callback.php', $permissions);

Здесь нельзя использовать 127.0.0.1...

тестирование
источник
0

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

Моя проблема была решена путем копирования «URI перенаправления OAuth» из firebase в приложение facebook «Valid OAuth Redirect URIs»

Я оставил все домены пустыми

Шахарьяр Кирмани
источник