方便前端对接返回token
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
52ba183846
commit
cec6174bb6
|
@ -342,7 +342,9 @@ namespace IRaCIS.Api.Controllers
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return ResponseOutput.Ok(new ObjectStoreDTO() { ObjectStoreUse = serviceOption.ObjectStoreUse, AliyunOSS = tempToken });
|
var awstempToken = await GetAWSTemToken(serviceOption);
|
||||||
|
|
||||||
|
return ResponseOutput.Ok(new ObjectStoreDTO() { ObjectStoreUse = serviceOption.ObjectStoreUse, AliyunOSS = tempToken,AWS= awstempToken });
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -392,6 +394,43 @@ namespace IRaCIS.Api.Controllers
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private async Task<AWSTempToken> GetAWSTemToken(ObjectStoreServiceOptions serviceOption)
|
||||||
|
{
|
||||||
|
var awsOptions = serviceOption.AWS;
|
||||||
|
|
||||||
|
//aws 临时凭证
|
||||||
|
// 创建 STS 客户端
|
||||||
|
var stsClient = new AmazonSecurityTokenServiceClient(awsOptions.AccessKeyId, awsOptions.SecretAccessKey);
|
||||||
|
|
||||||
|
// 使用 AssumeRole 请求临时凭证
|
||||||
|
var assumeRoleRequest = new AssumeRoleRequest
|
||||||
|
{
|
||||||
|
|
||||||
|
RoleArn = awsOptions.RoleArn, // 角色 ARN
|
||||||
|
RoleSessionName = $"session-name-{NewId.NextGuid()}",
|
||||||
|
DurationSeconds = awsOptions.DurationSeconds // 临时凭证有效期
|
||||||
|
};
|
||||||
|
|
||||||
|
var assumeRoleResponse = await stsClient.AssumeRoleAsync(assumeRoleRequest);
|
||||||
|
|
||||||
|
var credentials = assumeRoleResponse.Credentials;
|
||||||
|
|
||||||
|
var tempToken = new AWSTempToken()
|
||||||
|
{
|
||||||
|
AccessKeyId = credentials.AccessKeyId,
|
||||||
|
SecretAccessKey = credentials.SecretAccessKey,
|
||||||
|
SessionToken = credentials.SessionToken,
|
||||||
|
Expiration = credentials.Expiration,
|
||||||
|
|
||||||
|
BucketName = awsOptions.BucketName,
|
||||||
|
EndPoint = awsOptions.EndPoint,
|
||||||
|
ViewEndpoint = awsOptions.ViewEndpoint,
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
return tempToken;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#region aliyun-net-sdk-sts 之前
|
#region aliyun-net-sdk-sts 之前
|
||||||
//[HttpGet("user/GenerateSTS")]
|
//[HttpGet("user/GenerateSTS")]
|
||||||
|
|
Loading…
Reference in New Issue