Доменне ім’я програми 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 працювати в App Domain. Встановіть Розширені налаштування | "Дійсні 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.
Джуліан

1
Працював у мене! (Лютий 2018 р.)
Даніель каже “Поновити Моніку”

18.10.2020 Я отримую це попередження: " Перенаправлення localhost дозволяється автоматично, лише в режимі розробки, і їх не потрібно додавати сюди".
Kick Buttowski

56

Здається, протокол змінено.

Ось моє рішення (я протестував 3 квітня 2015 року, і воно працює добре):

У Налаштуваннях -> Основна вкладка

  1. Домен програми: localhost
  2. Натисніть " + Додати платформу " та виберіть " Веб-сайт "
  3. URL-адреса веб-сайту: http: // localhost: <port> / ( <port> - це номер вашого порту)
  4. Зберегти зміни

3

4
Дякую! Це спрацювало для мене (травень 2016 р.). Зверніть увагу, 127.0.0.1 не працює.
Мілад М,

Працював у мене червень 2017 р.
Олександр Ісус Гене

Працює! Грудень 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 працювати в App Domain. Встановіть Розширені налаштування | "Дійсні URI-адреси перенаправлення OAuth" на URL-адресу localhost (http: // localhost: port #). Дивіться github.com/tschellenbach/Django-facebook/issues/376
Джо

2
Що означає "Веб-сайт із входом у Facebook"? Варіант біля "Домени додатків"? Я цього не бачу. Додавання запису localhost у "Розширені налаштування | Дійсні URI-
адреси

Зробив це, все одно отримуючи помилку: "Дана URL-адреса не дозволена конфігурацією програми"
Рам Рахум,

1
Працює нормально. Я хочу лише прокоментувати, що це працює лише з "localhost", як у відповіді. Я пробував із 127.0.0.1:8000 і не працював
ePi272314

30

Це дещо змінилося за ці роки, але я щойно змусив його працювати з веб-додатком, який я запускаю на localhost. Це те, що я зробив:

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

Удачі!


2
є спосіб використовувати два домени? localhost та домен, що використовується для виробництва: /
JCarlosR

Не працює: все ще застрягло, URL-адреса заблокована: Не вдалося виконати це переспрямування, оскільки URI переспрямування не внесено до білого списку в налаштуваннях OAuth клієнта програми. Переконайтеся, що ввійшли клієнтські та веб-логіни OAuth, і додайте всі домени додатків як дійсні URI-адреси перенаправлення OAuth.
Nikunj Dhimar

28

2018 робоче рішення

Мені потрібні були віки, щоб це зрозуміти, тому я збираюся поділитися своїм рішенням.

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

У моєму випадку, використовуючи рубін на рейках, моя URL-адреса виглядала так http://localhost:3000/user/auth/facebook/callback.

І відразу після того, як я його додав, все почало працювати! Сподіваюся, це допомагає комусь іншому, хто стикається з цією проблемою.


Дякую! Дивно, але у вас є ідеальне дієве рішення на поточний момент! Ура.
находкін

так дякую. Це спрацювало для мене. Я додав localhost: 5001 до розділу: Дійсні URI-адреси для перенаправлення OAuth та ввімкнув: Вхід для вбудованого браузера OAuth
Девід Джон Коулман II

Це теж спрацювало для мене. Це поточне робоче рішення. Я створив тестову версію свого додатка для входу на Facebook з localhost. (Поки Facebook знову не змінить ситуацію!)
Red3,

3
Дякую! ПІТА. Після того, як я це додав, це повідомлення з’явилося. У березні ми робимо оновлення безпеки для налаштувань вашого додатку, яке призведе до недійсності дзвінків з URI, не вказаних у поле Valid OAuth redirect URI нижче. Це оновлення з’являється у відповідь на шкідливу активність, яку ми бачили на нашій платформі, і ми хочемо захистити ваш додаток або веб-сайт, вимагаючи нового суворого режиму для перенаправлення URI. Здається, вони почали працювати рано?
dbinott

1
Дякую! Мені також знадобилися віки (поки я не знайшов цю відповідь). Проблема полягає в тому, що помилка, яку ви отримуєте від FB, пропонує вам додати свій домен до "доменів програми", що не має нічого спільного з фактичною проблемою. Дякуємо, що знову витратили мій час FB :(
Арно ван Оордт

11

Це те, що я робив раніше.

Якщо ви використовуєте Windows, вам потрібно змінити файл хоста. Розташування хост-файлу буде за адресою%SystemRoot%\System32\drivers\etc\

Додайте новий рядок у хост-файл, як цей

127.0.0.1    localhost.YOUR-SITE-NAME.com

Збережіть файл хоста.

Перейдіть до панелі керування налаштуваннями програм FB та localhost.YOUR-SITE-NAME.comвведіть поле домену Apps. Зберегти зміни.

Тепер завантажте своє локальне середовище, як localhost.YOUR-SITE-NAME.comіз вашого браузера.

NB: змініть ІМЯ ВАШОГО САЙТУ на ваше доменне ім’я.


7

Робоче рішення (серпень 2018 р.)

Спочатку виберіть свою програму на інформаційній панелі розробників .

Потім переконайтеся, що ваша програма перебуває в режимі розробки , оскільки вона дозволяє localhost через HTTP. Для цього натисніть на перемикач, розташований у верхньому правому куті сторінки вашого додатка.

Нарешті, дотримуйтесь наведених нижче приміток, оскільки вони можуть спричинити проблеми при неправильному заповненні:

  • Settings > Basic > App Domains має бути порожнім
  • Products > Facebook Login > Settings > Valid OAuth Redirect URIs має бути порожнім

це все ще працює? Я отримую помилку з білою міткою, якщо я перевів програму в режим розробки.
sagar limbu

1
У мене є тестова версія мого продуктивного додатку (завжди в режимі розробки), очистила всі поля, але все одно отримую помилку: Невідповідність UA OEuthException
Andreas Richter

Коли ваш додаток перебуває в режимі розробки, ви не можете протестувати жодної кінцевої точки, яка вимагає подання програми
ricks

Дякую, брате, так, нарешті це було важко зрозуміти
Ентоні

5

Ви можете залишити це поле порожнім , або використання localhost, http://localhost:85/my_app/є URL


так, я знаю його URL-адресу, але dats wot було зроблено в підручнику, і він стверджує, що це спрацювало ... ось чому я спробував ... до речі, я також спробував localhost: 85, але він не працює, але коли я спробував localhost, тільки він працював ... Причина, яку я хотів використати: 85 - тому, що це порт, який використовує мій апаш ...
Саня Тобі

Порт - це інформація про протокол, вона вам не потрібна для цього поля. Як сказано в повідомленні: не повинен містити інформацію про протокол.
phwd

залишивши його порожнім зробив свою справу. І ще одна річ, яку він не приймає localhostяк доменне ім'я.
shashwat

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

https://ngrok.com

Перейдіть за посиланням https://ngrok.com/, щоб завантажити ngrok і витягти цей файл. Відкрити cmd (пошук cmd) Перейти до каталогу, де витягнуто ngrok. Відкрийте ngrok з командного рядка, наприклад: c: /ngrok/ngrok.exe [порт] або cd c: / ngrok, тоді ngrok 80 (ngrok [порт]) Ви отримаєте

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-адресою для доступу до вашого localhost в Інтернеті


Я хотів би протестувати ngrok, щоб перейти до мого сервлету. Мій сервлет працює за певним шляхом. НАПРИКЛАД: localhost: 8080 / plugins / servlet Як я можу доручити ngrok знаходитись там?
Хорхе Валуа

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

Я спробував усі згадані тут рішення, але жодне з них не спрацювало.

Що вирішило мою проблему, це копіювання "UR-адреси перенаправлення OAuth" з firebase у додаток facebook "Дійсні URI-адреси перенаправлення OAuth"

Я залишив усі домени порожніми

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.