You need to enable JavaScript to run this app.
导航

客户端上传说明

最近更新时间2023.03.28 14:43:48

首次发布时间2021.07.02 15:16:28

本文档将为您介绍客户端上传临时安全凭证的机制说明、上传流程及其附加限制。

机制说明

App/Web Client 上传时,App/Web Client 是直接将图片或者素材资源文件上传到 veImageX 服务,而 veImageX 服务会向请求的客户端进行鉴权。由于 SecretKey 的权限过大,若将SecretKey 泄露到客户端,将会造成严重的安全问题。

因此,需要您搭建 App/Web Server 授权服务,通过 App/Web Server 和 App/Web Client 间的信息通道来传递上传临时安全凭证。

注意

App/Web Client 向 AppServer 申请上传临时签名时,请务必对用户身份做校验。否则任何人都可以拿到安全凭证上传到您的 veImageX 服务,对您的内容造成污染。

临时安全凭证(AuthToken)机制特点:

  • 无需依赖外网服务

由 App/Web Server 持有的 Ak/Sk 在本地签出,不依赖外网。如果您希望同时生成多个UploadAuthToken,您可以循环调用生成方法来实现。

  • 安全性高

严格限制时效、限制访问对象和使用次数。

  • 使用简单

通过 AK/SK 按标准方法签出即可。

  • 配置灵活

可以对使用参数灵活的签名和验签。

上传流程

  1. App/Web Client 向 App/Web Server 发起请求获取上传临时安全凭证(UploadAuthToken)
  2. App/Web Server 本地方法签出上传临时安全凭证(UploadAuthToken),并返回给 App/Web Client;
  3. App/Web Client 将上传临时安全凭证(UploadAuthToken)传递给上传 SDK;
  4. 上传 SDK 利用上传临时安全凭证(UploadAuthToken)向 veImageX 服务发起上传请求,获取上传地址和凭证;
  5. veImageX 服务返回上传地址和凭证;
  6. 上传 SDK 发起确认上传请求;
  7. veImageX 服务返回给上传 SDK 上传结果,包括 StoreUri 等信息。

说明

此处的 StoreUri 即为资源 Uri。

  1. 上传 SDK 上报到 App/Web Server 记录存储,后续的访问需要使用此信息。

附加限制

veImageX 支持上传支持任意类型数据资源,但仅当上传服务为图像处理服务时,才支持实时图像处理。

AppServer 搭建授权服务

Step 1:获取生成临时凭证所需的 AK/SK

  1. 登录 veImageX 控制台

  2. 点击您的账号,在下方的菜单栏中单击 API 访问密钥

  3. 在密钥管理页面,点击 Secret Access Key 下方按钮,输入短信验证码后查看并记录 AccessKey ID 以及 AccessKey Secret Key。简称 AK,SK。

    说明

    由于火山引擎账号的 AK/SK 拥有所有 API 的访问权限,如果部署在客户端,更建议您通过调用服务端 SDK 并使用 STS 方式生成临时上传凭证来访问 veImageX。

Step 2:通过调用服务端 SDK 获取临时上传凭证

为方便您的使用,我们对上传临时安全凭证(UploadAuthToken)使用进行了封装,提供了多语言的 SDK。建议您通过调用服务端 SDK 生成临时上传凭证。

开发语言文档地址
Golang SDK生成上传凭证
Python SDK生成上传凭证
PHP SDK生成上传凭证
Java SDK生成上传凭证
Nodejs SDK生成上传凭证