using Aliyun.Acs.Core; using Aliyun.Acs.Core.Auth.Sts; using Aliyun.Acs.Core.Http; using Aliyun.Acs.Core.Profile; using Furion; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using static System.Runtime.InteropServices.JavaScript.JSType; namespace FlexJobApi.Core { /// /// 阿里云OSS工具 /// public static class AliyunOSSUtils { public static GetAliyunOSSAcsQueryResult GetOSSAcs() { var options = App.GetOptions().OSS; IClientProfile profile = DefaultProfile.GetProfile(options.RegionId, options.AccessKeyId, options.AccessSecret); DefaultAcsClient client = new DefaultAcsClient(profile); AssumeRoleRequest request = new AssumeRoleRequest(); request.Method = MethodType.POST; request.RoleArn = options.RoleArn; request.RoleSessionName = options.RoleSessionName; request.Policy = options.Policy; request.DurationSeconds = options.DurationSeconds; AssumeRoleResponse response = client.GetAcsResponse(request); var result = new GetAliyunOSSAcsQueryResult() { Expiration = response.Credentials.Expiration, OssAccessKeyId = response.Credentials.AccessKeyId, OssAccessSecret = response.Credentials.AccessKeySecret, SecurityToken = response.Credentials.SecurityToken, RequestId = response.RequestId }; return result; } } }