Использование axios для доступа к WooCommerce REST API - 401 Несанкционированные ошибки с включенным SSL - PullRequest
0 голосов
/ 03 июля 2019

Использование Gatsby.js. Я пытаюсь перечислить ресурсы / обновить продукты / заказы в моей установке WooCommerce, которая размещена на поддомене (установка EC2 bitnami) моего основного домена.

Моя установка WC выглядит так, как будто она небезопасна, несмотря на то, что это так. Это вызывает у меня ряд проблем, так как попытка использовать oAuth1.0a для отправки данных туда и обратно - это кошмар, и я хотел бы использовать стандартную базовую аутентификацию для этих операций.

Используя плагин Gatsby-Source-WooCommerce Gatsby, я могу загружать данные в graphQL, только если для параметра HTTPS установлено значение false https://www.gatsbyjs.org/packages/@pasdo501/gatsby-source-woocommerce/

WC подтверждает, что мой поддомен защищен сертификатом SSL Скриншот

Следующий тестовый вызов axios возвращает ответ 401 (Unauthorized):

  componentDidMount() {
    axios.post('https://wordpress.aversionsband.com/wp-json/wc/v3/products', {
      withCredentials: true,
    }, {
      auth: {
        username: <consumer_key>,
        password: <consumer_secret>
      }
    }).then(function(response) {
    }).catch(function(error) {
      console.log(error.response)
    })
  }

Но я могу получить к нему доступ с помощью подписанного oauth1.0a запроса, снова означающего, что HTTPS не работает должным образом.

    const requestHTTP = requestData.url + "?" + jQuery.param(oauth.authorize(requestData))

    axios.post(requestHTTP).then(function(response) {
      console.log(response)
    }).catch(error => {
      console.log(error.response)
    })

Я ожидал бы, что смогу получить доступ к API с помощью Basic Auth и дополнительно внедрить данные в graphQL через безопасное соединение, но ни один из них не работает должным образом, несмотря на очевидный сертификат SSL. Что дает?

...