文档地址:https://help.upyun.com/knowledge-base/object_storage_authorization/#token-e8aea4e8af81
物联网、移动互联网等行业,为了区分不同终端,提升认证安全性,在 REST API 上添加了 token 认证,使用 token 认证可以为每个终端签发一个独立的有过期时间的“密码”。
1. token 认证的生成逻辑
使用终端上传文件的标识信息,计算 token。
Server 端生成 token,终端缓存 token,在有效期内的上传或者请求文件,都可以使用该 token。
终端上传文件,请求中附带 token。如果 token 正确且在有效期内,验证通过,允许上传文件;否则,拒绝上传,返回错误码 401。
2. token 生成
Authorization: UPYUN <Operator>:<token> = Base64 (HMAC-SHA1 (<Password>,
<Method>&
<X-Upyun-Uri-Prefix>&
<X-Upyun-Uri-Postfix>&
<X-Upyun-Expire>))

3. 一些例子
3.1 使用 token 方式访问一张图片
(1)准备数据
// 操作员信息
Operator = mark
Password = MD5(shangbuqi250) = 0ef0b51362b7a6cb4ccd1448f6e8b1d7
// 参数信息
Method = GET
// 请求路径前缀自定义,例如我想访问我存储空间下的所有内容,直接定义到存储空间名即可
X-Upyun-Uri-Prefix = /iamge-blog/
X-Upyun-Expire = 1559069053 // 过期时间:2019-05-28 18:44:13
(2)制作 token

(3)服务器鉴权

只要客户端携带这个 token,就可以在过期时间前访问存储空间下所有的文件。

3.2 使用 token 方式上传一张图片
(1)准备数据
// 操作员信息
Operator = mark
Password = MD5(shangbuqi250) = 0ef0b51362b7a6cb4ccd1448f6e8b1d7
// 参数信息
Method = PUT
// 请求路径后缀自定义,只允许上传.jpg后缀的图片文件
X-Upyun-Uri-Postfix = .jpg
X-Upyun-Expire = 1559069053 // 过期时间:2019-05-28 18:44:13
(2)制作 token

(3)上传文件



网友评论