背景
移动端将数据发送到服务器,服务器再请求OSS进行存储的方法较浪费公网带宽,且速度略慢。故需要进行移动端直传文件到OSS。
针对客户端直传到OSS的场景,阿里OSS提供了服务器STS授权,服务器签名授权,客户端签名授权三种临时授权方式。
服务器STS授权:服务器端搭建一个STS服务,客户端获取STS临时授权账号并生成签名。
服务器签名授权:服务器端搭建一个签名服务,客户端调用签名服务生成签名。
客户端签名授权:在客户端直接使用AccessKeyId和AcessKeySecret进行授权上传。会暴露AcessKeySecret,不安全,故不推荐。
阿里云OSS的文档中。【微信小程序直传实践】介绍了 服务器STS授权、服务器签名授权两种授权方式。
【Web端PostObject直传实践简介】对应客户端签名授权。
【服务器签名后直传】对应服务器签名授权。
服务器STS授权的方式,可以给客户端授权更多功能,但实现略微麻烦些。针对只需要从客户端上传数据到OSS的情况,使用服务器签名授权