我的Google云端存储分区中有一些图片,我想将图片网址传递到前端,以便在网络应用中显示。但是,我不太确定身份验证的工作原理。似乎有两种方法对我来说似乎是可行的。
使用curl:https://cloud.google.com/storage/docs/downloading-objects#download-object-json
卷曲-X GET \ -H"授权:持票人[OAUTH2_TOKEN]" \ -o" [SAVE_TO_LOCATION]" \ " https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/o/[OBJECT_NAME]?alt=media"
但是,我无法通过在Google IAM中创建的服务密钥生成jwt令牌。使用jsonwebtoken似乎无法解析我的json文件,当我将private_key部分解压缩到pem文件时,将抛出一条错误消息:错误:错误:0906D06C:PEM例程:PEM_read_bio:无起始行
对于这种方法,我不太确定这是否适用于我的后端服务器将signed-url传递给前端进行访问,或者是否可以在前端构建。这样做是否存在安全问题,是否有最佳实践?
答案 0 :(得分:0)
签名网址是一个很好的方法。当涉及到在后面或前端构建它时,你应该坚持第一个。在前端进行操作并不合理,因为如果您能够在前端生成签名URL,则意味着您已经可以访问存储桶,因为这是要求(所以为什么还要打扰创建签名的URL?)。如果您在后端执行此操作,则确保仅访问存储桶的权限,并且只将所需的URL传递给前端。