Відповіді:
Редагувати: 2-15-2012 Ось як використовувати автентифікацію FB для веб-сайту localhost.
Мені здається більш масштабним і зручним налаштувати другий додаток у Facebook. Якщо я будую MyApp, я зроблю другий під назвою MyApp-dev.
Website
прапорець у розділі "Виберіть, як ваша програма інтегрується з Facebook" (У останній версії Facebook ви можете знайти це у розділі Налаштування> Основні> Додати платформу - Потім виберіть веб-сайт)якщо Rails.env == 'розвиток' || Rails.env == 'тест' Rails.application.config.middleware.use OmniAuth :: Builder постачальник: facebook, 'DEV_APP_ID', 'DEV_APP_SECRET' кінець ще # Виробництво Rails.application.config.middleware.use OmniAuth :: Builder постачальник: facebook, "PRODUCTION_APP_ID", "PRODUCTION_APP_SECRET" кінець кінець
Я віддаю перевагу цьому методу, оскільки після його налаштування співробітники та інші машини не мають додаткових налаштувань.
Звичайно, ви можете просто додати URL-адресу localhost (без "http") у свою app_domain, а потім додати свій сайт_url http://localhost
(з http)
Оновлення
Facebook зараз трохи змінить речі, просто перейдіть до налаштувань програми, а в URL-адресі сайту просто додайте http: //localhost
та залиште Домен додатків порожнім
Ось моя конфігурація, і вона чудово працює для PHP API:
домен програми
http://localhost
URL-адреса сайту
http://localhost:8082/
ПРИМІТКА. Станом на 2012 рік Facebook дозволяє зареєструвати "localhost" як URL-адресу повернення. Можливо, вам знадобиться подібне рішення для інших постачальників (наприклад, Microsoft).
Якщо вам потрібне справжнє доменне ім’я, зареєстроване у Facebook (наприклад, my.really.own.domain.com), ви можете локально перенаправляти запити до цього домену на свою машину. Найпростіший підхід у будь-якій ОС на будь-якій ОС - це зміна файлу "хостів" для відображення домену на 127.0.0.1 (див. Http://technet.microsoft.com/en-us/library/bb727005.aspx#EDAA та https: / /serverfault.com/questions/118290/cname-record-alias-in-windows-hosts-file ).
Зазвичай я використовую Fiddler, щоб зробити це для мене (у Windows з локальним IIS) - див. Зразки на веб-сайті http://www.fiddler2.com/Fiddler/Dev/ScriptSamples.asp .
if (oSession.HostnameIs("my.really.own.domain.com")) {
oSession.host="localhost:80";
}
Підхід до файлів хостів не працює з сервером розвитку Visual Studio, оскільки він вимагає, щоб вхідні URL-адреси були localhost / 127.0.0.1. Якщо вам потрібно працювати з ним (або, можливо, з експресом IIS), щоб перекрити хост - Використання Fiddler з IIS7 Express
З новим центром розвитку тепер простіше:
1) Залиште домени додатків порожніми.
2) Клацніть Додати платформу
3) URL-адреса сайту повинна дорівнювати повному шляху вашого місцевого хоста.
4) Збережіть зміни
Щойно я виявив рішення: Ви можете зробити доступ до своєї локальної машини за допомогою http://localtunnel.com . Вам потрібно буде (тимчасово) змінити деякі URL-адреси, які використовуються у вашому коді програми / html, щоб посилання вказували на тимчасовий домен, але принаймні facebook може дістатися до вашої машини.
У основних налаштуваннях програми ( https://developers.facebook.com/apps ) у розділі Налаштування-> Основні-> Виберіть, як ваш додаток інтегрується з Facebook ...
Використовуйте "URL-адреса сайту:" та "URL-адреса мобільного сайту:", щоб утримувати URL-адреси виробництва та розробки відповідно. Обидва сайти дозволять аутентифікувати. Я просто використовую Facebook для автентифікації, тому мені не потрібна функція переадресації мобільного сайту. Зазвичай я змінюю "URL-адресу мобільного сайту:" на мій сайт "localhost: 12345", коли я тестую автентифікацію, а потім повертаю його до нормального стану, коли закінчу.
Є ! Моє рішення працює, коли ви створюєте додаток, але ви хочете використовувати авторизацію facebook на своєму веб-сайті. Це рішення нижче НЕ потрібне, коли ви хочете створити додаток, інтегрований до сторінки FB.
Вся справа в тому, що ви не можете розмістити "localhost" як домен на сторінці конфігурації у вашому додатку. Причини безпеки?
Вам потрібно перейти до вашого хост-файлу в OSX / Linux тощо / hosts та додати такий рядок: 127.0.0.1 dev.yourdomain.com
Домен, який ви ставите, що завгодно. Однією помилкою є додавання цього рядка: localhost dev.yourdomain.com (принаймні, на сніговому леопарді OSX не працює).
Тоді вам доведеться очистити кеш-пам'ять dns. На OSX: введіть dscacheutil -flushcache в терміналі. Нарешті, поверніться до веб-сайту веб-розробника facebook, і на сторінці конфігурації програми ви можете додати домен "dev.yourdomain.com".
Якщо ви використовуєте таку програму, як Mamp, Easyphp або будь-яку іншу, переконайтесь, що порт для Apache становить 80.
Це рішення має працювати для Windows, оскільки воно також має файл хостів. Тим не менш, наскільки я пам’ятаю, Windows 7 більше не використовує цей файл, але цей трюк повинен працювати, якщо ви знайдете спосіб змусити Windows використовувати файл хостів.
Ви повинні вибрати продукт Facebook "facebook login" та включити клієнтський OAuth Login, "Web OAuth Login" та "Embedded Browser OAuth Login", навіть якщо ви надасте URL localhost. Він буде працювати
це працює в червні 2018 року, навіть після вимоги HTTPS. Здається, тестовий додаток не вимагає https:
створити тестовий додаток: https://developers.facebook.com/docs/apps/test-apps/
потім у тестовому додатку виконайте прості дії цього відео: https://www.youtube.com/watch?v=7DuRvf7Jtkg
Я думаю, ви повинні мати можливість розробляти додатки за допомогою веб-сервера розробки візуальної студії: Запустіть нову програму FaceBook на веб-сайті : http://www.facebook.com/developers/ . Потім встановіть параметри для URL-адреси сайту та URL-адреси полотна для запущеного примірника вашого веб-сайту, наприклад: http: // localhost: 1062 /
Ось кілька посилань, які допоможуть вам почати роботу з FaceBook:
Сподіваюся, це допомагає.
Спробуйте це ---
https://www.facebook.com/help/community/question/?id=589302607826562
1 - Клацніть Програми, а потім виберіть додаток.
2 - Клацніть кнопку «Налаштування» в лівій частині екрана.
3 - У Основних налаштуваннях натисніть кнопку Додати платформу під конфігурацією налаштувань.
4 - Виберіть Веб-сайт у діалоговому вікні платформи.
5 - Введіть свою URL-адресу (localhost працює тут).
6 - Введіть текст домену домену додатків, додайте домен, який відповідає домену в URL-адресі.
7 - Збережіть свої настройки.
Припустимо, ви зареєстрували додаток як:
app.domain.com
Вам просто потрібно змінити файл / etc / hosts, додавши його
127.0.0.1 dev01.app.domain.com
Потім змініть конфігурацію apache
ServerName dev01.app.domain.com
і перезапустити апаш.
Вам потрібно буде ввести свою URL-адресу в змінну, щоб використовувати її як параметр XML для деяких викликів:
<fb:login-button registration-url="http://<?=$URL?>/register" />
Не маю достатньої кількості кредитів для коментування голосової відповіді вгорі, але, принаймні, в моєму рельсовому середовищі (працює 4), рейки s є http://localhost:3000
, ні http://www.localhost:3000
. Коли я змінив його http://localhost:3000
, він працював просто чудово. Не потрібно редагувати жоден файл хостів.
Додаток буде запускатись чудово у localhost: 3000, вам просто потрібно вказати https-адресу, за якою програма буде жити, коли вона буде у виробничому режимі.
Варіант 2 - надати URL-адресу або веб-сайт heroku, який дозволяє мати зразкове застосування у виробничому режимі.
Останнє оновлення: вам не потрібно давати URL-адреси, якщо ви тестуєте їх у процесі розробки. Ви можете залишити поля порожніми. Переконайтеся, що ваша програма перебуває в режимі розробки. Якщо не вимкнути статус у прямому ефірі.
Не потрібно надавати URL-адресу веб-сайту, домени додатків чи дійсні ури переадресації.