首页 > 解决方案 > Kraken 交易所期货 API - 生成身份验证字符串 - 身份验证错误。Node.js

问题描述

我正在尝试为私有端点生成签名消息。来自 Kraken Futures API 文档的步骤是:

  1. 连接 postData + nonce + endpointPath
  2. 使用 SHA-256 算法对步骤 1 的结果进行散列
  3. Base64 解码您的 api_secret
  4. 使用第 3 步的结果通过 HMAC-SHA-512 算法对第 2 步的结果进行哈希处理
  5. Base64 编码第 4 步的结果

这就是我所做的:

//Definition of arguments 
const secret = 'SecretGeneratedByKraken...rEqyX3nPw3UURLCu/M'
var nonce =  new Date() * 1000;
const path = 'https://futures.kraken.com/derivatives/api/v3/' + fills;
const signature = getMessageSignature(path,params,secret,nonce);

//Auth function
getMessageSignature = (path, params, secret, nonce) => {
    var message = qs.stringify(params);
    var concat = message + nonce + path;  // 1
    var hash = crypto.createHash('sha256');
    var hash_digest   = hash.update(concat).digest('binary'); // 2
    var secret_decoded = Buffer.from(secret, 'base64'); // 3
    var hmac = crypto.createHmac('sha512', hash_digest);
    var hmac_digest = hmac.update(secret_decoded, 'binary').digest('base64'); //4 and 5
    return hmac_digest;
}

仔细检查我是否传递了正确的论点,任何帮助将不胜感激。

标签: javascriptrestful-authentication

解决方案


推荐阅读