由于 AK/SK 信息存放在客户端有泄漏风险,在客户端上传的过程中,通常需要服务端配合生成上传签名或凭证,下发给客户端。您可参考以下方法生成临时 Token。
服务端根据账号的 AK/SK 信息和相关的 policy 生成临时的上传密钥下发给客户端,客户端根据临时密钥和上传参数自行计算签名并发送 OpenAPI 请求。
服务端仅生成临时密钥,具体签名计算过程在客户端进行;
OpenAPI 的所有请求参数均可参与签名过程;
根据临时密钥无法反推出账号 AK/SK,泄漏风险低。
设置 AK/SK 和地域,具体可参考初始化。
const options = { serviceIds: [], // 仅允许上传到指定的服务ID,若无此限制,传递空数组即可 expire: 60 * 60 * 1000, // 临时密钥过期时间(单位为毫秒),默认为1小时 } const uploadToken = Client.GetUploadAuth(options); console.log(uploadToken);
返回示例如下所示:
// uploadToken 示例如下: { CurrentTime: 'xxx', ExpiredTime: 'xxx', SessionToken: 'xxx', AccessKeyId: 'tempAccessKey', SecretAccessKey: 'tempSecretKey' }