Подтвердить что ты не робот

Oauth - как тестировать локальные URL?

Я пытаюсь проверить кнопки oauth, но все они (Facebook, Twitter, LinkedIn) возвращаются с ошибками, которые, похоже, сигнализируют, что я не могу их протестировать или использовать с локального URL.

Как люди обычно работают в разработке с помощью oauth, если все они нуждаются в средах с не-dev и нелокальными соединениями?

4b9b3361

Ответ 1

Обновление за октябрь 2016 года: проще всего: используйте lvh.me, который всегда указывает на 127.0.0.1.

Предыдущий ответ:

Поскольку запрос обратного вызова выдается браузером, в качестве ответа HTTP-перенаправления вы можете настроить файл .hosts или его эквивалент, чтобы указать домену, который не является localhost на 127.0.0.1.

Скажем, например, вы зарегистрировали следующий обратный вызов в Twitter: http://www.publicdomain.com/callback/. Убедитесь, что www.publicdomain.com указывает на 127.0.0.1 в вашем файле hosts, и что твиттер может выполнить успешный поиск DNS на www.publicdomain.com, то есть домен должен существовать, и конкретный обратный вызов, вероятно, должен вернуть статус 200 сообщение, если требуется.

РЕДАКТИРОВАТЬ:

Я только что прочитал следующую статью: http://www.tonyamoyal.com/2009/08/17/how-to-quickly-set-up-a-test-for-twitter-oauth-authentication-from-your-local -машина/, с которой был связан этот вопрос: Twitter oAuth callbackUrl - разработка localhost.

Цитировать статью:

Вы можете использовать bit.ly, сервис сокращения URL. Просто сократите [localhost URL, например http//localhost: 8080/twitter_callback], и зарегистрируйте сокращенный URL-адрес в качестве обратного вызова в своем приложении Twitter.

Это должно быть проще, чем возиться в файле .hosts.

Обратите внимание, что теперь (август 14) bit.ly не разрешает пересылку ссылок на localhost; Однако Google укороченная ссылка работает.

PS edit: (Nov '18): укороченная ссылка Google перестала поддерживать localhost или 127.0.0.1.

Ответ 2

Или вы можете использовать https://tolocalhost.com/ и настроить способ перенаправления обратного вызова на ваш локальный сайт. Вы можете указать имя хоста (если оно отличается от localhost, т.е. yourapp.local и номер порта). Только для целей разработки.

Ответ 3

Вы также можете использовать ngrok: https://ngrok.com/. Я использую его все время, чтобы на моем локальном хосте работал публичный сервер. Надеюсь, это поможет.

Другие варианты, которые даже предоставляют свой собственный домен бесплатно, - serveo.net и https://localtunnel.github.io/www/

Ответ 4

Google не разрешает тестировать auth api на localhost, используя http://webporject.dev или .loc и .loc а также короткую ссылку Google, которая сокращает ваш локальный URL (http://webporject.dev) также bit.ly :). Google принимает только URL, который начинается http://localhost/...

если вы хотите проверить Google Auth API, вы должны выполнить следующие действия...

set new alias

Если вы используете openserver перейдите на панель настроек, перейдите на aliases tab и нажмите на выпадающий список, найдите localhost и выберите его.

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

и нажмите на кнопку под названием add и перезапустить opensever.

теперь ваш локальный проект доступен по этой ссылке http://localhost/ также вы можете вставить этот локальный URL в Google Auth API, чтобы redirect url поле redirect url...

Ответ 5

Вы можете редактировать файл hosts в windows или linux Windows: C:\Windows\System32\Drivers\etc\hosts Linux: /etc/hosts

Разрешение имени локального хоста обрабатывается в самом DNS.

127.0.0.1 mywebsite.com

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

127.0.0.1 mywebsite.com