遇到的问题之dotnet腾讯COS生成临时凭证

情况:腾讯COS上传文件,asp.net项目。开始是这样处理的:前端上传文件到后台,后台再上传到COS,一开始考虑的是统一管理,这时候用的也是永久的id和key。部署的时候因为服务器流量成本增加的原因,需要前端直接上传文件到COS,安全考虑,需要后台动态生成临时密钥。

官网文档中介绍了两种获取方式:

遇到的问题之dotnet腾讯COS生成临时凭证_第1张图片

方式2有点复杂就没继续看。

主要记录下方式1在使用中遇到的问题。

运行COS STS SDK的demo没问题,然后在asp.net项目中运行的时候,导致整个程序不响应了。

1.COS STS SDK依赖TecentCloudSDK和标准库

遇到的问题之dotnet腾讯COS生成临时凭证_第2张图片

2.在TecentCloudSDK的github首页有对这个问题描述:

遇到的问题之dotnet腾讯COS生成临时凭证_第3张图片

3.然后参考下里面的这篇文章,我们需要使用同步方法。

4.我们看到COS STS SDK的源码就只有一个STSClient.cs,把这个文件里异步方法修改一下:将genCredential()方法中的获取证书如下改成同步

        //GetFederationTokenResponse resp = client.GetFederationToken(req).
            //    ConfigureAwait(false).GetAwaiter().GetResult();

        GetFederationTokenResponse resp = client.GetFederationTokenSync(req);

这样,就可以起作用了。

遇到的问题之dotnet腾讯COS生成临时凭证_第4张图片

你可能感兴趣的:(前端问题记录,dotnet,腾讯cos,临时证书)