Как получить токен без передачи имени пользователя и передачи параметров 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, а затем сгенерировать клиент, который автоматически получает ключ и назначенный секрет. Вы можете использовать эту пару для безопасной аутентификации.

Вы можете найти более подробную информацию в ссылке, которую я дал выше, это довольно просто реализовать.

Другие вопросы по тегам