type
status
date
slug
summary
tags
category
icon
password
😀
一句话需求: 返回给前端通过腾讯云COS存储的图片预签名URL,简单来说。出于安全考虑(这个方式存疑!)就是要把存储在COS里的某些文件数据进行签名加密之后进行可控的访问,可以添加的参数包括不限于 Query\Headr 可以设置签名的有效时间在一定范围时间内可以用签名好的链接进行访问,如果超出时长就失效。
 

📝 签名步骤

通过对应的APPID + Bucket + KEY 等参数通过腾讯云COS鉴权之后后进行对某个文件Key的预签名或者直接获取签名后的Download URL

 

但是没有好用的NestJS的腾讯云包

腾讯云的SDK小版本比较频繁、问题也比较多 依赖更新也很草率。 COS和CLOUD的两个SDK是分了两个项目包 导致打包的问题(+2小时)目前最新的在16小时前发布的 4.0.842 有和目前开发项目的sub-modules包的依赖冲突,目前比较稳定的是 4.0.837 目前实现的是 OCR、SMS、COS
索性就写了个包,将来项目上也可以复用和慢慢升级改造。
@cardbrother/nestjs-tencent-cloud-sdk
因为底层冲突问题 目前version发布的比较混乱(回头会抽空整理下)
 

回到加密需求本身

考虑以后难免需要签名加密的图片或者文件可能会有,业务实现的方式变成拦截器来实现并不是在业务中固定 核心代码
 
调用方式
 
 

结论

综上,所以实际工作量超出预期(顺便提了个PR给changeset/action 🍉)
notion image
 
从西门开始一路向东-岳麓山西门徒步关于软件研发中架构的思考(1)
  • GitTalk
2021-2025 guozichun.

BLOG | Father, Husband, Developer