Я пытаюсь проверить кнопки OAuth , но все они (Facebook, Twitter, LinkedIn) возвращаются с ошибками, которые, кажется, указывают на то, что я не могу проверить или использовать их с локального URL.
Как люди обычно работают в разработке с OAuth, если все они требуют среды не-dev и нелокальных соединений?
Ответы:
Обновление за октябрь 2016 года : проще всего: используйте lvh.me, который всегда указывает на
127.0.0.1
.Предыдущий ответ :
Поскольку запрос обратного вызова выдается браузером, в качестве ответа перенаправления HTTP вы можете настроить файл .hosts или эквивалентный ему, чтобы указать домен, который не
localhost
соответствует 127.0.0.1.Скажем, например , зарегистрировать следующую функцию обратного вызова с Twitter:
http://www.publicdomain.com/callback/
. Убедитесь, чтоwww.publicdomain.com
в вашем файле hosts указано 127.0.0.1, и что твиттер может выполнить успешный поиск 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 -machine / , с которой был связан этот вопрос: Twitter oAuth callbackUrl - разработка localhost .
Цитировать статью:
Это должно быть проще, чем возиться в файле .hosts.
Обратите внимание, что теперь (август 14) bit.ly не разрешает пересылку ссылок на localhost; Однако Google укороченная ссылка работает.
PS edit: (Nov '18): укороченная ссылка Google перестала поддерживать localhost или 127.0.0.1.
источник
.me
) в URL-адреса перенаправления. В результате lvh.me не работал. Я нашел успех с lacolhost.com вместо этого.Или вы можете использовать https://tolocalhost.com/ и настроить способ перенаправления обратного вызова на ваш локальный сайт. Вы можете указать имя хоста (если оно отличается от localhost, т.е. yourapp.local и номер порта). Только для целей разработки.
источник
Вы также можете использовать ngrok: https://ngrok.com/ . Я использую его все время, чтобы на моем локальном хосте работал публичный сервер. Надеюсь это поможет.
Другие варианты, которые даже предоставляют ваш собственный домен бесплатно, - serveo.net и https://localtunnel.github.io/www/
источник
./ngrok http 8080 -host-header="localhost:8080"
и я работал с публичным URL.Google не разрешает тестировать auth api на localhost, используя
http://webporject.dev
или.loc
и .etc, и короткую ссылку Google, которая также сокращает ваш локальный URL (http://webporject.dev
)bit.ly
:). Google принимает только URL, который начинаетсяhttp://localhost/
...Если вы хотите проверить Google Auth API, вы должны выполнить следующие действия ...
если вы используете,
openserver
перейдите на панель настроек и нажмитеaliases tab
и нажмите на выпадающий список, затем найдитеlocalhost
и выберите его.Теперь вы должны выбрать корневую папку локального веб-проекта, щелкнув следующий раскрывающийся список, следующий за первым раскрывающимся списком.
и нажмите на кнопку вызова
add
и перезапустите opensever.Теперь ваш локальный проект доступен по этой ссылке,
http://localhost/
и вы можете вставить этот локальный URL в Google Auth API вredirect url
поле ...источник
Вы можете редактировать файл hosts в windows или linux Windows: C: \ Windows \ System32 \ Drivers \ etc \ hosts Linux: / etc / hosts
после завершения тестов вы просто комментируете добавленную строку, чтобы отключить ее
источник
Для пользователей Mac отредактируйте
/etc/hosts
файл. Вы должны использовать,sudo vi /etc/hosts
если его только для чтения. После авторизации oauth-сервер отправляет URL-адрес обратного вызова, и, поскольку этот URL-адрес обратного вызова отображается в локальном браузере, будет работать локальный параметр DNS:источник
Принимая Google OAuth в качестве ссылки
В вашей вкладке клиента OAuth
(http://localhost:3000)
в Уставном JavaScript истоки URIsНа вашем экране согласия OAuth
mywebsite.com
в авторизованные доменыОтредактируйте файл hosts в Windows или Linux,
Windows C:\Windows\System32\Drivers\etc\hosts
Linux : /etc/hosts
чтобы добавить его127.0.0.1 mywebsite.com
(обратите внимание, любой, если есть какой-либо другой 127.0.0.1)источник