Ошибка проверки для ecdsa при токенизации IVS AWS

#amazon-web-services #jwt #amazon-ivs

#amazon-веб-сервисы #jwt #amazon-ivs

Вопрос:

Для IVS вам нужен токен JWT, когда авторизация воспроизведения включена для IVS. Мне показалось, что это простое создание токена JWT, но в отношении документов AWS IVS вам нужно использовать алгоритм ES384; поэтому я использую это:

 use ZenstruckJWTToken;
use ZenstruckJWTSignerOpenSSLECDSAES384;

$privateKey = <<<EOD
-----BEGIN EC PRIVATE KEY-----
ABC=
-----END EC PRIVATE KEY-----
EOD;

// create the token
$token = new Token([
    'aws:channel-arn' => 'arn:aws:ivs:eu-west-1:123456789:channel/ABCdefGHI',
    'aws:access-control-allow-origin' => '*',
    'exp' => time()   86400,
]);

// sign the token
$token->sign(new ES384(), $privateKey);

$encodedTokenForUser = (string) $token;
 

Это создает токен, но приводит к ошибке, если вы используете его для URL-адреса воспроизведения:

 "error": "crypto/ecdsa: verification error",
"error_code": "invalid_playback_auth_token",
 

OpenSSL включен в PHP. В чем может быть проблема, описанная выше? Документы AWS не очень полезны.