Как получить токен без передачи имени пользователя и передачи параметров URL?
Для получения токена я отправляю следующий запрос:
http://example.com/wordpress/wp-json/jwt-auth/v1/token?username=MYLOGIN&password=MYPASSWORD
и в ответ я получаю токен - это хорошо, но... что если я не хочу показывать имя пользователя и логин в запрошенном URL-адресе, даже один раз.
Каждый, кто видит запросы моего компьютера, может легко узнать мой логин и пароль. Могу ли я как-то скрыть эти конфиденциальные данные в заголовках запросов вместо параметров URL? Я использую приложение "Chrome Insomnia" для тестирования REST API, а рядом с "PARAMS" и "HEADERS" есть вкладка "AUTH", где я могу ввести имя пользователя и пароль - возможно, это место, где я мог бы использовать для отправки пользовательских данных, чтобы получить токен доступа без видно легко?
Я попытался войти, используя вкладку AUTH, но в ответ:
{
"code": "jwt_auth_bad_auth_header",
"message": "Authorization header malformed.",
"data": {
"status": 403
}
}
Пожалуйста, не отправляйте меня обратно в документацию по wp-api, потому что я не смог найти четкого ответа, прочитав там документы.
3 ответа
Хотя я согласен с тем, что OAuth (действительно OpenID Connect) является лучшим решением, используйте HTTPS.
Поскольку SSL/TLS выполняется до того, как вы сделаете запрос, он будет зашифрован по сети.
Чтобы ответить на ваш первоначальный вопрос о том, как вы можете запретить людям видеть ваши пароли в Insomnia, рекомендуется поместить конфиденциальные данные в переменную среды и сослаться на них в своем запросе.
Вы можете определить свою среду JSON следующим образом...
{
"username": "MyUsername",
"password": "MyPassword"
}
И ссылаться на них на вкладке params (или в любом другом месте), используя синтаксис шаблона Nunjucks, как {{ username }}
а также {{ password }}
,
Вот ссылка на документы по переменным окружения в бессоннице.
~ Грегори
Используйте OAuth.
Это безопасный способ авторизации на REST-Api без необходимости отправлять имя пользователя и пароль в виде простого текста.
В документации WP-API есть раздел под названием OAuth-аутентификация. API использует OAuth 1.0. По сути, вы должны установить плагин OAuth, а затем сгенерировать клиент, который автоматически получает ключ и назначенный секрет. Вы можете использовать эту пару для безопасной аутентификации.
Вы можете найти более подробную информацию в ссылке, которую я дал выше, это довольно просто реализовать.