使用axios访问WooCommerce REST API-启用SSL时出现401未经授权的错误

时间:2019-07-03 18:55:30

标签: wordpress ssl axios gatsby woocommerce-rest-api

使用Gatsby.js。我正在尝试列出WooCommerce安装中的资源/更新产品/订单,该安装位于我的主域的子域(EC2 bitnami安装)中。

尽管确实如此,但我的WC安装的行为似乎并不安全。这给我造成了很多问题,因为尝试使用oAuth1.0a来回发送数据是一场噩梦,我想对这些操作使用标准的Basic Auth。

使用Gatsby-Source-WooCommerce Gatsby插件,只有将HTTPS选项设置为false https://www.gatsbyjs.org/packages/@pasdo501/gatsby-source-woocommerce/

,我才能将数据加载到graphQL

WC确认我的子域受SSL证书保护 screenshot

以下测试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,并通过安全连接将数据另外注入graphQL,但尽管表面上看来健康SSL证书,但它们似乎都无法正常工作。有什么作用?

0 个答案:

没有答案