Когда я делаю запрос API с (request-target), он не работает. Что ж, документация по API говорит мне об этом. Кто-нибудь знает, как интегрировать (request-target) в этот запрос API?
'request-target' в заголовках работает, но '(request-target)' не работает (как это должно быть, если документация API верна).
var key = fs.readFileSync(path.resolve('./backend/ssl/ING/example_client_tls.key'));
var cert = fs.readFileSync(path.resolve('./backend/ssl/ING/example_client_tls.cer'));
var key2 = fs.readFileSync(path.resolve('./backend/ssl/ING/example_client_signing.pem'));
var cert2 = fs.readFileSync(path.resolve('./backend/ssl/ING/example_client_signing.cer'));
var options = {
url: 'https://api.ing.com/oauth2/token',
method: 'POST',
agentOptions: {
host: 'api.ing.com',
cert: cert,
key: key
},
headers: {
'content-type': 'application/x-www-form-urlencoded',
'(request-target)': 'post /oauth2/token',
'date': Date.now(),
'digest': 'SHA-256=47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='
}
};
var req = request(options, function(req, res, next) {
//console.log(res);
console.log(res.statusCode);
});
httpSignature.sign(req, {
key: key,
keyId: 'SN=8296291D8E4661EF,CA=CN=example_client_signing,OU=IT Department,O=Sample Org',
algorithm: 'rsa-sha256',
headers: (['(request-target)', 'date', 'digest']),
signature: key2
});
req.end();
RFC описывает это следующим образом в ссылке:
https://tools.ietf.org/html/draft-cavage-http-signatures-10#section-2.3