在NodeJS服务器端保护Firebase存储的外部链接

我在生成外部链接到存储在我的Firebase存储分区中的文件时遇到问题。

我现在正在使用Google云端存储,并使用此库(基于此答案)为常规存储桶生成外部链接,但在Firebase分配的存储桶上使用该库似乎不起作用。

我无法生成任何安全的HTTPS链接,并继续获取证书validation错误NET::ERR_CERT_COMMON_NAME_INVALID指出我的连接不是私有的。 如果我从HTTPS中删除“S”,则链接起作用。

注意:使用相同的凭据和私钥为我的项目中的其他存储桶生成链接,工作得很好。 只有Firebase存储分区拒绝接受我的签名…

我推荐使用官方的GCloud客户端 ,然后你可以使用getSignedUrl()来获取文件的下载URL,如下所示:

 bucket.file(filename).getSignedUrl({ action: 'read', expires: '03-17-2025' }, function(err, url) { if (err) { console.error(err); return; } // The file is now available to read from this URL. request(url, function(err, resp) { // resp.statusCode = 200 }); }); 

每次成功上传后,生成下载url似乎可以与Firebase和GCS存储区一起使用。