401 Ошибка в WP Rest API (базовая аутентификация и OAuth) - PullRequest
0 голосов
/ 01 мая 2019

Я создаю мобильное приложение для сайта WP и пытаюсь получить POST запросов к WP-API, начиная с пользователей.

Я следую процессу, описанному в нескольких уроках:

  1. Установить плагин Basic Auth
  2. В Postman подготовьте запрос к POST wp-json/wp/v2/users, заполнив учетные данные для моего администратора, используя Basic Auth, на вкладке аутентификации.
  3. В тексте укажите имя пользователя, адрес электронной почты и пароль.

(ничего другого, никаких других заголовков или чего-либо еще)

И я получаю 401 ошибку:

{
    "code": "rest_cannot_create_user",
    "message": "Sorry, you are not allowed to create new users.",
    "data": {
        "status": 401
    }
}

В данном вопросе упоминаются файлы cookie и вход или выход из браузера; Я получаю один и тот же результат независимо от того, вошел ли я в консоль WP Admin в Chrome. Я использую настольный клиент Postman.

(Я собираюсь попытаться выяснить oAuth или JWT, но все еще озадачен, почему этот более простой маршрут не работает!)

UPDATE

Я выполнил эти шаги из руководства OAuth и получил тот же ответ 401 (после попытки запроса DELETE)

  1. Установить и активировать плагин OAuth1
  2. Зарегистрируйте новое приложение, чтобы получить ключ клиента и секрет клиента. (Указание URL обратного вызова в простой файл-заполнитель, который я помещаю на свой сервер)
  3. POST /oauth1/request с ключом и секретом шага 2 как oauth_consumer_key и oauth_consumer_secret (oauth_signature_method = HMAC-SHA1), передаваемыми в качестве заголовков аутентификации. Получите oauth_token и oauth_secret.
  4. Посетите http://my-dev-server.com/oauth1/authorize?oauth_token=<token_here>&oauth_token_secret=<secret_here> в моем браузере, набрав oauth_token и oauth_secret с шага 3.
  5. Перейдя на страницу подключения WP (авторизованную администратором сайта), нажмите «Авторизовать». Получи verification token.
  6. POST /oauth1/access, с oauth_consumer_key и oauth_consumer_secret , использованными на шаге 3, и oauth_token и oauth_secret , полученными на шаге 3 в качестве заголовков аутентификации, и с проверочный токен из шага 5 как запрос в URL oauth_verifier (http://my-dev-server/oauth1/access?oauth_verifier=<oauth_verifier_value>). получить новые oauth_token и oauth_secret.
  7. DELETE /wp-json/wp/v2/job-listings/936 (идентификатор только что созданного списка с веб-сайта, который необходимо удалить) с использованием оригинальных oauth_consumer_key и oauth_consumer_secret и новых oauth_token и oauth_secret (полученных на шаге 6) в качестве заголовков аутентификации.

И тогда я получаю ответ 401. Обратите внимание, конечно, что все промежуточные шаги, кажется, работали правильно. Я никогда не заменял свой обратный вызов заполнителя, но в учебнике об этом ничего не сказано. Но, может быть, это моя проблема?

Также отмечу, что я не настраивал сервер, чтобы выставить размещение API. Насколько я могу судить, ни в одном из этих руководств нет упоминания о какой-либо предварительной работе, подобной этой, поэтому я предположил, что она будет работать из коробки. (кто-то еще разработал сайт WP и выбрал все плагины базы данных и т. д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...