分享Token
通过调用获取分享Token,可以获取临时Token,用户只要使用该临时Token即可访问文件,不用再使用“access-token”进行鉴权。
分享Token分为如下2个步骤:
获取分享Token
- 功能介绍
用于获取临时Token,使用该Token可访问文件,不用再使用“access-token”进行鉴权。获取的Token是临时性的,存在有效期。
- URI
POST AstroZero域名/u-route/baas/sys/v1.1/connectors/{connector_type}/{connector_name}/sharetoken
表1 路径参数 参数
是否必选
参数类型
描述
connector_type
是
String
参数解释:
连接器的类型。
约束限制:
不涉及。
取值范围:
- obs:与OBS对接的连接器。
- minio:与MINIO对接的连接器。
- objectstorageproxy:对象存储代理类型。
默认取值:
不涉及。
connector_name
是
String
参数解释:
连接器实例的名称,即创建连接器时设置的连接器实例名。
约束限制:
不涉及。
取值范围:
不涉及。
默认取值:
不涉及。
- 请求参数
表2 请求body参数 参数
是否必选
参数类型
描述
shareType
是
Integer
参数解释:
分享类型。
约束限制:
不涉及。
取值范围:
- 0:代表按文件分享。
- 1:代表按目录分享。
- 2:用字符数组表示多个文件路径。
默认取值:
不涉及。
key
否
String
参数解释:
分享的对象、目录。
约束限制:
如果是目录,必须以“/”结尾。
取值范围:
不涉及。
默认取值:
不涉及。
keys
否
String
参数解释:
多个文件路径。
约束限制:
不涉及。
取值范围:
不涉及。
默认取值:
不涉及。
timeoutInMinutes
是
Integer
参数解释:
分享的有效期,单位为分钟。
约束限制:
不涉及。
取值范围:
1~1440,即最短1分钟,最长24小时。
默认取值:
不涉及
- 响应参数
表3 响应参数说明 参数
参数类型
描述
resCode
String
参数解释:
返回码。
取值范围:
如果返回“0”代表请求成功,其他错误码说明请参考错误码。
resMsg
String
参数解释:
返回消息。
取值范围:
如果成功状态,通常会返回“Success”,其他情况会返回具体的错误信息。
result
Object
参数解释:
返回结果对象。对象中包含“shareToken”字段,表示临时Token。
- 请求示例
已创建好OBS类型连接器,连接器实例名称为“命名空间__TestOBS”。调用如下请求,获取某些文件的临时访问Token。
POST https://AstroZero域名/u-route/baas/sys/v1.1/connectors/obs/命名空间__TestOBS/sharetoken { "shareType": 0, "key": "a/b/c/1.txt", "keys": [ "a/b/c/2.txt", "ROMAExchange.zip", "some/dir/c.jpg" ], "timeoutInMinutes": 60 }
使用者拿到URL后即可访问,所以要避免分享敏感文件。
- 响应示例
{ "resCode": "0", "resMsg": "成功", "result": { "shareToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJz***tOejj6NEo" } }
请记录下“shareToken”的值,后续访问文件使用。
查看分享对象文件
- 功能介绍
使用获取分享Token,返回的临时Token查看文件。
- URI
GET AstroZero域名/u-route/baas/sys/v1.1/objectstorage/viewshareobject?object=X&shareToken=Y
表4 路径参数 参数
是否必选
参数类型
描述
object
是
String
参数解释:
文件所在桶的全路径,包含文件名。
约束限制:
不涉及。
取值范围:
不涉及。
默认取值:
不涉及。
shareToken
是
String
参数解释:
获取分享Token中,返回的临时Token。
约束限制:
不涉及。
取值范围:
不涉及。
默认取值:
不涉及。
- 请求参数
- 响应参数
- 请求示例
已创建好OBS类型连接器,连接器实例名称为“命名空间__TestOBS”。调用如下请求,使用临时访问Token查看桶中的“a/b/c/1.txt”文件。
GET https://AstroZero域名/u-route/baas/sys/v1.1/objectstorage/viewshareobject?object=a/b/c/1.txt&shareToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaGFyZVR5cGUiOjAsInNoYXJlS2V5IjoiYS9iL2MvMS50eHQiLCJzaGFyZUtleXMiOlsiYS9iL2MvMi50eHQiLCJST01BRXhjaGFuZ2UuemlwIiwi5pyI5bqm5oC757uTLnR4dCJdLCJjb25uZWN0b3JUeXBlIjoib2JzIiwiY29ubmVjdG9yIjoiZ3pfX1Rlc3RPQlMiLCJzZXNzaW9uIjp7IlRlbmFudElEIjoiMDAwMDAwMDAwMGJaSFUzVjMxUXUiLCJVc2VySUQiOiIxMGdkMDAwMDAwYlpIVUFxN1BlYSIsIkxvY2FsZSI6eyJMYW5nIjoiemhfQ04ifX0sImV4cCI6MTYyOTc5MTA3Ny45Nzc5OH0.HQIMtULKsjTOgbtoSwOdqwX4W8FYgXTGTAtOejj6NEo
- 响应示例
test