Coinbase: аутентификация с помощью JWT в PHPPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Coinbase: аутентификация с помощью JWT в PHP

Сообщение Anonymous »

Я пытаюсь использовать расширенный торговый API от Coinbase на PHP. Они решили использовать JWT, но не привели примера на PHP.
Я попробовал свой код, но он возвращает NULL. Я много раз проверял ключ API. Детали верны. Вот ссылка на документ Coinbase: https://docs.cloud.coinbase.com/advance ... t-api-auth
use Firebase\JWT\JWT;

$keyName = 'organizations/b0f974e{redacted}860/apiKeys/d840f8{redacted}b6d';
$keySecret = "-----BEGIN EC PRIVATE KEY-----\nMHcC{redacted}bHEzMVwDhg==\n-----END EC PRIVATE KEY-----\n";

$requestMethod = "GET";
$requestHost = "api.coinbase.com";
$requestPath = "/api/v3/brokerage/accounts";

function buildJwt($uri, $keyName, $keySecret) {
$privateKeyResource = openssl_pkey_get_private($keySecret);
if (!$privateKeyResource) {
throw new Exception('Private key could not be parsed or is invalid.');
}
$payload = [
'sub' => $keyName,
'iss' => 'coinbase-cloud',
'iat' => time(),
'exp' => time() + 120, // Token expiration time (example: 120 seconds from now)
'uri' => $uri,
];
$jwt = JWT::encode($payload, $privateKeyResource, 'ES256');
return $jwt;
}

function main($requestMethod, $requestHost, $requestPath, $keyName, $keySecret) {
$uri = "$requestMethod $requestHost$requestPath";
$jwtToken = buildJwt($uri, $keyName, $keySecret);
return $jwtToken;
}

$myjwt = main($requestMethod, $requestHost, $requestPath, $keyName, $keySecret);

function getAccountDetails($jwt, $requestMethod, $requestHost, $requestPath) {
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://$requestHost$requestPath",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => $requestMethod,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer $jwt",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
return json_decode($response, true);
}
}

$res = getAccountDetails($myjwt, $requestMethod, $requestHost, $requestPath);
var_dump($res);


Подробнее здесь: https://stackoverflow.com/questions/783 ... jwt-in-php
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Coinbase: аутентификация с JWT в PHP
    Anonymous » » в форуме Php
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Как правильно получить все транзакции coinbase pro в php
    Anonymous » » в форуме Php
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Проблемы с операторами PHP во время оплаты Coinbase Commerce
    Anonymous » » в форуме Php
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Проблемы с операторами PHP во время оплаты Coinbase Commerce
    Anonymous » » в форуме Php
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Coinbase PHP API Исторические цены в фунтах стерлингов
    Anonymous » » в форуме Php
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»