Intereting Posts
Возможно ли прямое редактирование контента на веб-странице? Добавление класса в <img> Получение от исходного содержимого Тема WordPress с плагином The_content отличается от архива категории на другие страницы Вывод случайного (пользовательского) размера изображения Индивидуальная разбивка по страницам Как переписать привязанные URL-адреса, когда структура permalink содержит% category%? Добавление класса (стрелки) к ссылкам главного меню, в которых есть дети? Добавить ссылки категории? Удаление ненужного текста из меню администратора без CSS Для производительности лучше создавать пользовательские функции в теме или плагине Пользовательские URL-адреса в типах сообщений делают невозможным просмотр архива Как я могу установить и обновить значение the_date в соответствии с настраиваемым полем сообщения Как скрыть меню в администраторе WordPress the_excerpt не ограничивает мою страницу сообщения до 55 слов?

Могу ли я аутентифицироваться как с помощью потребительского ключа WooCommerce, так и с JWT?

Я хочу проверить подлинность на обоих :

  • ключ потребителя WooCommerce, для системных запросов и
  • JSON Web Tokens (JWT), для пользовательских запросов

Я установил JWT Authentication для WP REST API . Но после активации плагина ранее работающие запросы (которые используют потребительский ключ WooCommerce для аутентификации) терпят неудачу:

{'code': 'jwt_auth_bad_auth_header', 'data': {'status': 403}, 'message': 'Authorization header malformed.'} 

Как настроить WordPress / JWT-плагин так, чтобы они были успешными?

Да, это возможно, структурируя ваши запросы соответствующим образом.

Для системных запросов используйте OAuth 1.0 (потребительский ключ, как и раньше), но кодируйте его, чтобы включить учетные данные OAuth в URL-адрес не в заголовках. Наличие учетных данных OAuth в заголовке Authorisation вызывает ошибку JWT.

 GET https://DOMAIN/wp-json/wc/v1/subscriptions * Authorization: `OAuth 1.0` * Consumer key: FILLED IN * Consumer secret: FILLED IN * Other fields: blank * Headers: blank * Body: blank 

Чтобы запросить токен (для пользовательского запроса), вы не используете авторизацию, вы включаете учетные данные пользователя в теле:

 POST https://DOMAIN/wp-json/jwt-auth/v1/token * Authorization: `No Auth` * Headers: blank * Body: `form-data` * key: username, value: test * key: password, value: test 

После того, как у вас есть токен, вы можете добавить его в заголовок Authentication соответствии с требованиями JWT.

Чтобы протестировать эти запросы, проще всего использовать выделенный инструмент, например, httpie или Postman .

Ссылка: https://github.com/Tmeister/wp-api-jwt-auth/issues/87