如何使用Firebase / JWT创建签名网址?

时间:2015-10-27 10:46:17

标签: google-api google-cloud-storage google-api-php-client

在Googles PHP-API-Cient的新版本中,Google_Signer_P12类已被删除,现在您应该通过Firebase JWT创建签名网址(请参阅https://github.com/google/google-api-php-client/blob/master/UPGRADING.md)。

不幸的是,这对我不起作用(我正在尝试为云存储下载生成签名的URL)。我以前的(工作)代码看起来像这样:

$signer = new \Google_Signer_P12( 'privatekey.p12' , 'notasecret' );
$stringToSign = 'GET' . "\n" . "\n" . "\n" . $expires . "\n". '/' . $bucketName . '/' . $fileName;
$signature = $signer->sign( utf8_encode( $stringToSign ) );
$finalSignature = \Google_Utils::urlSafeB64Encode( $signature );

我试图将其替换为:

$stringToSign = 'GET' . "\n" . "\n" . "\n" . $expires . "\n". '/' . $bucketName . '/' . $fileName;
$finalSignature = \JWT::encode(
   $stringToSign,
   'privateKey.p12'
);

但我收到“SignatureDoesNotMatch”错误。不幸的是,我在文档中找不到有关如何升级这部分代码的任何内容。

0 个答案:

没有答案