tencentyun / qcloud-cos-sts-sdk

QCloud COS STS SDK for Backend Server
MIT License
200 stars 188 forks source link

关于 sdk 选择的问题 #9

Closed wanghengheng closed 5 years ago

wanghengheng commented 5 years ago

除了这里的 sdk,还在 https://console.cloud.tencent.com/api/explorer?Product=ms&Version=2018-04-08&Action=CreateCosSecKeyInstance&SignVersion= 这里看到了获取云 COS 临时密钥的一个示例代码。代码如下:

import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;

import com.tencentcloudapi.ms.v20180408.MsClient;

import com.tencentcloudapi.ms.v20180408.models.CreateCosSecKeyInstanceRequest;
import com.tencentcloudapi.ms.v20180408.models.CreateCosSecKeyInstanceResponse;

public class CreateCosSecKeyInstance
{
    public static void main(String [] args) {
        try{

            Credential cred = new Credential("", "");

            HttpProfile httpProfile = new HttpProfile();
            httpProfile.setEndpoint("ms.tencentcloudapi.com");

            ClientProfile clientProfile = new ClientProfile();
            clientProfile.setHttpProfile(httpProfile);            

            MsClient client = new MsClient(cred, "", clientProfile);

            String params = "{}";
            CreateCosSecKeyInstanceRequest req = CreateCosSecKeyInstanceRequest.fromJsonString(params, CreateCosSecKeyInstanceRequest.class);

            CreateCosSecKeyInstanceResponse resp = client.CreateCosSecKeyInstance(req);

            System.out.println(CreateCosSecKeyInstanceRequest.toJsonString(resp));
        } catch (TencentCloudSDKException e) {
                System.out.println(e.toString());
        }

    }

}

想问一下,两种生成 COS 临时密钥的方式都是正确的吗?

我们服务器端当前代码使用的是上面示例代码的这种,然后前端计算 Authorization 上传文件总是返回 AccessDenied

carsonxu commented 5 years ago

以上代码只是 云安全组体验相关接口,不能用作一般用户的临时密钥接口。

wanghengheng commented 5 years ago

「云安全组体验相关接口」这个,具体该怎么理解?

我直接在这个网址填入对应参数,生成的临时秘钥,也是 AccessDenied

carsonxu commented 5 years ago

是他们给他用户体验用的,实际上是绑定了一个体验账号的 COS 权限。

wanghengheng commented 5 years ago

使用这个 sdk 也依然会有 AccessDenied 的问题。

具体代码,麻烦你看下这里 https://github.com/tencentyun/cos-js-sdk-v5/issues/47#issuecomment-467718521 ,帮忙看下有没有问题?

wanghengheng commented 5 years ago

使用这个 sdk 也依然会有 AccessDenied 的问题。

具体代码,麻烦你看下这里 tencentyun/cos-js-sdk-v5#47 (comment) ,帮忙看下有没有问题?

我的问题,是因为前后端的 bucket 没有对上。