Facebook не имеет значения, на каком фактическом IP-адресе находится ваш сервер, но он проверит, совпадает ли доменное имя ссылающейся страницы с доменом, который вы зарегистрировали в Facebook.Хитрость, чтобы заставить его работать во время разработки, состоит в том, чтобы найти способ использовать ваше доменное имя, даже когда вы просто работаете на своем локальном компьютере для разработки.
Если у вас есть полный контроль над записями DNS, вы можетедобавьте запись хоста (например, «test.yourdomain.com»), которая либо указывает на реальный IP-адрес вашего компьютера для разработки (если это статический ip), либо просто на 127.0.0.1
Если вы этого не сделаетеу вас нет доступа к вашему DNS, тогда самый простой способ обойти это во время разработки - просто добавить запись в файл hosts вашего компьютера ('/ etc / hosts' на OSX и большинстве других компьютеров с Unix), указывая домен, который вы зарегистрировали на Facebook, наваш локальный хост-компьютер.так что вы добавили бы такую строку:
127.0.0.0 test.yourdomain.com
в конец вашего файла hosts.Это означает, что если вы сейчас введете test.yourdomain.com в своем веб-браузере, он будет разрешен на вашем локальном компьютере.
Сейчас - в разделе «веб-сайт» настройки приложения в Facebook убедитесь, что вы добавиливаше доменное имя в разделе «домен домена» в настройках - это будет означать, что Facebook будет принимать запросы, поступающие с любого субдомена вашего домена, - другими словами, он будет принимать запросы как с «www.yourdomain.com» (ваш рабочий сервер)) и «test.yourdomain.com» (ваш локальный компьютер для разработки).
Теперь вы должны просто иметь возможность разрабатывать на своем локальном компьютере, используя URL «test.yourdomain.com» в браузере, а не «localhost 'и все должно работать.
ОН - еще одна вещь - URI перенаправления facebook также должен будет иметь номер порта, если ваш сервер разработки не работает на порту 80, но он включает этот номер порта, когдасоответствие URL домена (честно говоря, я считаю это ошибкой в API Facebook).Это означает, что если ваш сервер разработки (например) работает на порту 8080, то вам нужно добавить «: 8080» в конец имени хоста в URI перенаправления, но если ваш производственный сервер равен при работе на порту 80 вы не должны вставлять «: 80» в URI перенаправления, потому что в противном случае это будет работать только тогда, когда люди явно включили номер порта в URL, который они использовали для просмотра вашей страницы (вряд ли на рабочем сервере).На практике все это означает, что вам просто нужно иметь условное выражение, чтобы при создании URL-адреса аутентификации facebook вы указывали только номер порта, если это не порт 80.