阿里云临时token改为直接返回token和秘钥

Uat_Study
hang 2023-11-30 10:45:36 +08:00
parent 0582390b2c
commit 703ab03b7f
2 changed files with 35 additions and 29 deletions

View File

@ -143,44 +143,49 @@ namespace IRaCIS.Api.Controllers
if (Enum.TryParse<ObjectStoreUse>(serviceOption.ObjectStoreUse, out var parsedEnum) && parsedEnum == ObjectStoreUse.AliyunOSS) if (Enum.TryParse<ObjectStoreUse>(serviceOption.ObjectStoreUse, out var parsedEnum) && parsedEnum == ObjectStoreUse.AliyunOSS)
{ {
var ossOptions = serviceOption.AliyunOSS; var ossOptions = serviceOption.AliyunOSS;
IClientProfile profile = DefaultProfile.GetProfile(ossOptions.RegionId, ossOptions.AccessKeyId, ossOptions.AccessKeySecret); return ResponseOutput.Ok(new ObjectStoreDTO() { ObjectStoreUse = serviceOption.ObjectStoreUse, MinIO = serviceOption.MinIO ,AliyunOSS= serviceOption.AliyunOSS });
DefaultAcsClient client = new DefaultAcsClient(profile);
#region 临时token 屏蔽
//IClientProfile profile = DefaultProfile.GetProfile(ossOptions.RegionId, ossOptions.AccessKeyId, ossOptions.AccessKeySecret);
//DefaultAcsClient client = new DefaultAcsClient(profile);
// 创建一个STS请求 //// 创建一个STS请求
AssumeRoleRequest request = new AssumeRoleRequest //AssumeRoleRequest request = new AssumeRoleRequest
{ //{
RoleArn = ossOptions.RoleArn, // 角色ARN需要替换为你的角色ARN // RoleArn = ossOptions.RoleArn, // 角色ARN需要替换为你的角色ARN
RoleSessionName = $"session-name-{NewId.NextGuid()}", // 角色会话名称,可自定义 // RoleSessionName = $"session-name-{NewId.NextGuid()}", // 角色会话名称,可自定义
DurationSeconds = 900, // 令牌有效期单位这里设置为1小时 // DurationSeconds = 900, // 令牌有效期单位这里设置为1小时
}; //};
AssumeRoleResponse response = client.GetAcsResponse(request); //AssumeRoleResponse response = client.GetAcsResponse(request);
// 返回STS令牌信息给前端 //// 返回STS令牌信息给前端
var stsToken = new ObjectStoreDTO() //var stsToken = new ObjectStoreDTO()
{ //{
ObjectStoreUse = serviceOption.ObjectStoreUse, // ObjectStoreUse = serviceOption.ObjectStoreUse,
AliyunOSS = new AliyunOSSTempToken() // AliyunOSS = new AliyunOSSTempToken()
{ // {
AccessKeyId = response.Credentials.AccessKeyId, // AccessKeyId = response.Credentials.AccessKeyId,
AccessKeySecret = response.Credentials.AccessKeySecret, // AccessKeySecret = response.Credentials.AccessKeySecret,
SecurityToken = response.Credentials.SecurityToken, // SecurityToken = response.Credentials.SecurityToken,
Expiration = response.Credentials.Expiration, // Expiration = response.Credentials.Expiration,
Region = ossOptions.Region, // Region = ossOptions.Region,
BucketName = ossOptions.BucketName, // BucketName = ossOptions.BucketName,
ViewEndpoint = ossOptions.ViewEndpoint, // ViewEndpoint = ossOptions.ViewEndpoint,
}, // },
MinIO = serviceOption.MinIO // MinIO = serviceOption.MinIO
} //};
; //return ResponseOutput.Ok(stsToken);
#endregion
return ResponseOutput.Ok(stsToken);
} }
else if (Enum.TryParse<ObjectStoreUse>(serviceOption.ObjectStoreUse, out var parsedValue) && parsedValue == ObjectStoreUse.MinIO) else if (Enum.TryParse<ObjectStoreUse>(serviceOption.ObjectStoreUse, out var parsedValue) && parsedValue == ObjectStoreUse.MinIO)
{ {

View File

@ -53,7 +53,8 @@ namespace IRaCIS.Core.Application.Helper
public class ObjectStoreDTO public class ObjectStoreDTO
{ {
public string ObjectStoreUse { get; set; } public string ObjectStoreUse { get; set; }
public AliyunOSSTempToken AliyunOSS { get; set; }
public AliyunOSSOptions AliyunOSS { get; set; }
public MinIOOptions MinIO { get; set; } public MinIOOptions MinIO { get; set; }