【问题标题】:Coinbase API - Having trouble with the signature in API requestsCoinbase API - API 请求中的签名有问题
【发布时间】:2018-04-24 08:08:10
【问题描述】:

我在使用 API 通过电子邮件地址将资金从一个设置帐户发送到另一个帐户以进行链下交易时遇到问题。可能有一个简单的解决方案,但是尽管在这里阅读了其他问题,但我还没有找到任何对我有用的东西,基本上每当我发出 API 请求汇款时,它都会出现错误 401 说签名无效。

按照developers page 上的说明,我正在向 API 发出 POST 请求,并正在使用 API 密钥对请求进行身份验证。除了 HMAC sha256 签名之外,一切似乎都在工作。

例如,假设我的 API 密钥是 abc123def456ghi0,API 机密是 123qwertyuiopasdfghjklzxcvbnm456。纪元时间是12345678,方法当然是POST,我要发送比特币的邮箱是me@example.com,金额是0.00000015BTC,钱包/账户ID是2bbf394c-193b-5b2a-9155-3b4732659ede

我向https://api.coinbase.com/v2/accounts/2bbf394c-193b-5b2a-9155-3b4732659ede/transactions 发出POST 请求,并将正文设置为type=send&to=me@example.com&amount=0.00000015&currency=BTC

这很好用,我遇到的问题是标题中的 sha256 签名。我可以将CB-ACCESS-KEY 设置为abc123def456ghi0,将CB-ACCESS-TIMESTAMP 设置为12345678,并且我可以轻松创建sha256 签名并使用我的密钥对其进行签名,我只是认为我输入了错误的文本在

现在我有一些变量:
时间戳:12345678
方法:POST
requestPath:/v2/accounts/1dcea380-77e6-5fd4-8a5b-28c41be39a57/transactions
正文:type=send&to=me@example.com&amount=0.00000015&currency=BTC

在开发者页面上,它说要在消息中加入时间戳、方法、请求路径和正文。我正在这样做并使用我的密钥对其进行签名,但仍然出现错误。我只是一个业余爱好者所以没有太多经验,这是我的消息:12345678POST/v2/accounts/2bbf394c-193b-5b2a-9155-3b4732659ede/transactionstype=send&to=me@example.com&amount=0.00000015&currency=BTC 然后我用我的密钥签名123qwertyuiopasdfghjklzxcvbnm456

我一定缺少一些简单的东西,我知道所有变量都被正确连接,所以也许我有一个 / 某个不应该存在的地方,或者我可能需要切换一些东西,我只知道有一个简单的解决方案,如果有人能提供帮助,将不胜感激。

【问题讨论】:

    标签: http-post concatenation string-concatenation coinbase-api


    【解决方案1】:

    抱歉——原来我的 HMAC sha256 编码器也编码为 base64。我已经解决了这个问题,现在它可以工作了。

    【讨论】:

      猜你喜欢
      • 2019-01-12
      • 2015-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多