Ошибка подписи Binance: код: -1022, сообщение: подпись для этого запроса недействительна.

У меня проблема с подписью API binance для их REST API.

При попытке попасть на маршрут http://binance.com/api/v3/account я получаю следующую ошибку:

{"code":-1022,"msg":"Signature for this request is not valid."}

Я использую nodejs и экспресс.

Я видел, что есть несколько вопросов по этому поводу, но, похоже, ни один из них не решает мою проблему, поэтому:

Я определяю ключи и URL-адреса там

const binanceConfig = {
    API_URL: 'http://binance.com',
    API_ENDPOINT: '/api/v3/account',
    API_KEY: 'API_KEY_EXAMPLE',
    API_SECRET: 'API_SECRET_EXAMPLE'
}

Я создаю подпись

function generateSignature() {

    const dataQueryString = "recvWindow=60000&timestamp=" + Date.now();
    return crypto
        .createHmac('sha256', binanceConfig['API_SECRET'])
        .update(dataQueryString)
        .digest('hex'); 
}

Я определяю параметры запроса здесь

const queryParameters = {
    timestamp: Date.now(),
    signature: generateSignature(),
    recvWindow: '60000',
}

Установите заголовок

var header = {
    'Accept': 'Application/json',
    'X-MBX-APIKEY': binanceConfig['API_KEY']
};

Создайте маршрут для вызова API

router.get('/userInfo', (req, res) => {
    var stringTest = `timestamp=${queryParameters['timestamp']}`

    requestUrl = binanceConfig['API_URL'] + binanceConfig['API_ENDPOINT'] + "?" + stringTest + "&" + "signature=" + queryParameters['signature'] + "&recvWindow=" + queryParameters['recvWindow'];

    const options = {
        url: requestUrl,
        headers: header,
        method: 'GET'
    }

    request(options, (error, response) => {
        if (error) { console.log('ERROR'); } 
        console.log(`Response: ${response.statusCode}`);
        console.log(response.body);
    });
});

Если кто-нибудь знает, почему я получаю эту ошибку, я был бы признателен! Спасибо !


person brn    schedule 07.09.2020    source источник


Ответы (1)


В качестве последних параметров вам необходимо указать временную метку и подпись (соответственно).

Источник

person somazo    schedule 14.01.2021