【问题标题】:Bigcommerce API (oAuth) Webhook Request - what is {secret_auth_password}?Bigcommerce API (oAuth) Webhook 请求 - {secret_auth_password} 是什么?
【发布时间】:2015-02-27 06:54:44
【问题描述】:

更新:对 API 的所有调用都会收到以下响应:

failed [500] An error has occurred

奇怪的是,我的身份验证过程(记录在 here)完美运行,而对 API 的所有调用(记录在 here)都失败了。


Bigcommerce API 正在从基本身份验证过渡到 oAuth。因此,documentation 有点令人困惑。

我正在尝试使用新的 oAuth 方法创建一个 webhook。 documentation 声明我需要相关商店的 oAuth access_token,我已获得。

documentation 还包括示例 http 请求数据:

{
  "scope": "store/order/*",
  "headers": {
    "X-Custom-Auth-Header": "{secret_auth_password}"
  },
  "destination": "https://app.example.com/orders",
  "is_active": true
}

在这种情况下,我假设{secret_auth_password} 指的是商店的access_token。但是,当我在此处包含 access_token 时,出现以下错误:

failed [401] You are not authorized. 

考虑到这可能是范围/权限问题,我通过应用设置为我的应用提供了最高级别的访问权限,但这也不起作用。

提前感谢您的任何指点。

【问题讨论】:

  • Webhooks 文档上周刚刚推出。我同意它仍然有点轻。您能否提供更多详细信息,例如您将请求发送到哪里?
  • 我正在使用Meteor,我的流程是用 javaScript (node.js) 编写的,并记录在此 gist
  • 您的商店哈希是否只有 5 个字符?我觉得通常有 6 个。
  • @AlexWebster 您收到 bigCommerce 向您发送 Hook URL 的请求了吗?

标签: oauth bigcommerce


【解决方案1】:

经过几天的严重抓挠(更不用说头发撕裂了),我发现这完全是由于我的 SSL 中间证书中的一个错误,我有现已修复。

旧的 API 返回 “UNABLE_TO_VERIFY_LEAF_SIGNATURE” 错误让我走上了正轨——新的 API 刚刚返回:

500 – there is an error 

404 – you are not authorized.

【讨论】:

    【解决方案2】:

    如果您使用的是 PHP,我建议您将 Webhooks 拉取请求与 OAuth 拉取请求结合使用。它们一起工作得很好(我个人使用它们)。

    Webhook 拉取 - https://github.com/bigcommerce/bigcommerce-api-php/pull/101

    OAuth 拉取 - https://github.com/bigcommerce/bigcommerce-api-php/pull/88

    然后要创建一个 webhook,您只需调用 createWebhook($object)

    对象需要包含scopedestination

    另外 - 附注.. 您是否使用 SSL 作为目标地址。否则它将无法正常工作。不过,您可以使用自签名证书来解决这个问题。

    这仅适用于设置 webhook。

    要真正收到它们,您需要一个有效的证书(否则您什么也得不到)。

    希望这会有所帮助。

    【讨论】:

    • 谢谢,但我在 Meteor 上使用 javascript。我原以为这是一个 https 问题,但是将所有内容都转移到 https 我得到了同样的错误。
    • 您是否检查过您在商店中拥有的权限(来自“范围”标识符)?
    • 谢谢 - 是的,根据我的问题,我已授予我的应用尽可能高的访问权限。奇怪的是,AUTH 进程完美运行,而 API 进程只收到 [500] 个错误
    【解决方案3】:

    我遇到了文档的同一部分,也对此感到困惑。为 webhook 发送的正确标头如下:

    "X-Auth-Client":"[YOUR_APPS_CLIENT_ID]",
    "X-Auth-Token":"[OAUTH_ACCESS_TOKEN]"
    

    【讨论】:

      【解决方案4】:

      除了使用@FlyingL123 建议的标头之外,还要注意 BigCommerce 指出的要求:

      要求

      需要 webhook 的以下属性。请求 除非这些属性有效,否则不会实现。

      scope
      destination
      

      【讨论】:

        猜你喜欢
        • 2018-04-05
        • 2018-05-03
        • 1970-01-01
        • 1970-01-01
        • 2012-08-13
        • 2014-06-05
        • 1970-01-01
        • 1970-01-01
        • 2018-08-07
        相关资源
        最近更新 更多