更新时间:2024-10-18 GMT+08:00
分享

分享Token

通过调用获取分享Token,可以获取临时Token,用户只要使用该临时Token即可访问文件,不用再使用“access-token”进行鉴权。

分享Token分为如下2个步骤:

  1. 获取分享Token,获取临时Token。
  2. 查看分享对象文件,使用临时Token访问文件。

获取分享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

相关文档