12345678910111213141516171819202122232425262728293031 |
- <?php
- $playKey = 'playKey';
- $bucket = 'examplebucket-1250000000';
- $region = "ap-beijing";
- $publicKey = "publicKey";
- $header = array(
- 'alg' => 'HS256',
- 'typ' => 'JWT'
- );
- $payload = array(
- "Type" => "CosCiToken",
- "AppId" => "1250000000",
- "BucketId" => $bucket,
- "Object" => "exampleobject",
- "Issuer" => "client",
- "IssuedTimeStamp" => time(),
- "ExpireTimeStamp" => time() + 3600 * 6,
- "UsageLimit" => 3,
- "ProtectScheme" => "rsa1024",
- "PublicKey" => base64_encode($publicKey),
- "ProtectContentKey" => 1,
- );
- $base64header = base64UrlEncode(json_encode($header, JSON_UNESCAPED_UNICODE));
- $base64payload = base64UrlEncode(json_encode($payload, JSON_UNESCAPED_UNICODE));
- $token = $base64header . '.' . $base64payload . '.' . base64UrlEncode(hash_hmac('sha256', $base64header . '.' . $base64payload, $playKey, true));
- echo $token;
- function base64UrlEncode($input) {
- return str_replace('=', '', strtr(base64_encode($input), '+/', '-_'));
- }
|