2017-12-28 13 views
0

bitgrail(docs:https://bitgrail.com/api-documentation)からAPIを使いたいです。バランスの量を要求してください。これを行うには、API-Secretを使用してHMAC-SHA512を使用して、暗号化されたポストパラメータを含むSIGNATUREを設定する必要があります。Axios暗号化されたPOSTパラメータ

ですから、このデータを送信しなければなりません:

ヘッダー:

KEY - 公開APIキー

SIGNATURE - HMAC-SHA512と暗号化されたPOSTパラメータを、あなたの秘密のAPIキー

を使用してalghoritm

データ:

nonce - 整数、以前の呼び出しのノンスより大きい整数。

しかし、リクエストを送信しようとするたびに、私はBitgrailから「認証に失敗しました」というエラーが表示されます。

のparamsは、そのように設定されている:多分 'params.toStringは()' に動作していない

let hmac = crypto.createHmac('sha512', 'MYSECRET'); 
let digest = hmac.update(params.toString()).digest('hex'); 
let signature = new Buffer(digest).toString('base64'); 

params = {} 
params.nonce = n(); 

してからは、このように暗号化されました。 params変数を配列として設定する必要はありますか?

答えて

0

const { URLSearchParams } = require('url'); を使用し、この行を削除してlet signature = new Buffer(digest).toString('base64');を削除し、ダイジェストを署名として使用しています。

関連する問題