移动场景下怎样授权给第三方
详细解答可以参考官方帮助文档
当您希望将私有Bucket内部的Object授权给第三方下载的时候,不应该直接将AccessKey提供给下载者,而应该使用以下两种方法。
URL签名
OSS提供了签名下载的方法。您可以在URL中加入签名信息,把该URL转给第三方实现授权访问。第三方用户只需要使用HTTP的GET请求访问此URL即可下载Object。
实现方式 URL中包含签名示例如下:http://..aliyuncs.com/?OSSAccessKeyId=&Expires=&Signature=在URL中实现签名,必须至少包含Signature、Expires、OSSAccessKeyId三个参数。
OSSAccessKeyId:您的AccessKeyId。
Expires:您期望URL过期的时间。
Signature:您签名的字符串,具体请参见在URL中包含签名。
说明
此链接需要进行URL编码。
功能使用参考
API:Get Object
Java SDK:使用URL签名授权访问
控制台:获取文件访问地址
说明
在控制台中只有当Bucket处于私有读写权限的时候,获取的访问地址才是URL中签名的形式。否则为不带签名的URL形式。
临时访问凭证
OSS通过STS(Security Token Service)提供了临时凭证给第三方用户,第三方用户以在请求头部中带签名的方式去访问Object。这种授权方式适合移动场景的下载。临时访问凭证实现请参见STS Java SDK。
实现方式 第三方用户向app服务器请求,获取了STS颁发的AccessKeyId、AccessKeySecret以及STS Token。第三方用户以STS AccessKeyId、AccessKeySecret以及STS Token去请求开发者的Object资源。
功能使用参考
API:临时访问凭证
Java SDK:使用STS服务临时授权
控制台:获取文件访问地址
最佳实践
RAM和STS使用指南
赞23
踩1