【发布时间】:2021-05-26 13:00:00
【问题描述】:
似乎无法让此 Url 签名与 Amazon IVS 一起使用。我正在使用来自https://github.com/lcobucci/jwt 的包。我需要获得 ES384 签名才能保护我的直播。
这是我的代码
/**
* _signUrl
*
*
*/
private function _signUrl($playbackUrl, $channelArn){
$header = [
"alg" => "ES384",
"typ" => "JWT"
];
$payload = [
"aws:channel-arn" => $channelArn,
// "aws:access-control-allow-origin" => "<your-website>",
"exp" => \Carbon\Carbon::now()->addDays(3)->timestamp
];
$signer = new \Lcobucci\JWT\Signer\Ecdsa\Sha384();
$privateKey = InMemory::plainText("
-----BEGIN EC PRIVATE KEY-----
MIGkAgEBBDDuRdOUNt1lb0OHoDioTKRVOoRYqvyRnjCBZydC9kG7eb1pb0E3r+Wq
6jUEx9Zs1xWgBwYFK4EEACKhZANiAATsETeLPGzsREFHl/K9WFuLMrLazwH64de0
TOgMK9VqCseILxAJVtIuwN/jmBBFLUwe/MdVXpxPzgp60KTVNOqRla73oVdhYOHA
nevl9sJSns1fN3pMsf2TmXBX/B7/O2g=
-----END EC PRIVATE KEY-----
");
$base64Encoded = (base64_encode(implode($header)).base64_encode(implode($payload)));
$sign = $signer->sign($base64Encoded, $privateKey);
$token = bin2hex($sign);
return "{$playbackUrl}?token={$token}";
}
从网址获取
错误“播放验证令牌格式错误” error_code "invalid_playback_auth_token"
【问题讨论】:
标签: php amazon-web-services url encryption pem