tencentyun/cos-java-sdk-v5

生成在 URL 可使用的授权参数

Habens opened this issue · 2 comments

使用场景:
后端生成 authorizationStr,前端利用这个 authorizationStr 操作 cos 资源。

目前sdk提供:
COSSigner.buildAuthorizationStr() 可以用来生成 authorizationStr,但是直接用到 URL 的 sign 参数中会出现Access denies。只能放在 HTTP 请求的 Authorization header才能有权访问资源。

要想使用在 URL 加 sign 参数的方式来用这个 authorizationStr,必须要做一下以下操作:
UrlEncoderUtils.encode(authorizationStr)

那么,能不能提供一个现成的 API 来生成这个可以用在 URL 上的授权参数呢?
比如在 COSSigner 中加上以下方法:

public String sign(HttpMethodName methodName, String resouce_path,
            COSCredentials cred, Date expiredTime) {
    String authorizationStr = buildAuthorizationStr(methodName, resource_path, cred, expiredTime);
    return UrlEncoderUtils.encode(authorizationStr);
}
myd1 commented

你好,简单的本地文件上传示例怎么运行?

这里COSClient中已经实现generatePresignedUrl,用于生成预签名的url。