From f49cf7738d6368ebdde2472c9f554fd1a28c772d Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Thu, 22 Jan 2026 15:26:53 +0800
Subject: [PATCH] 2026-01-22 zwy minio临时凭证改为http申请

---
 ard-sample/src/main/java/com/ard/sample/storage/service/impl/StorageServiceImpl.java |   45 +++++++++++++++++++++++++++++++++++----------
 1 files changed, 35 insertions(+), 10 deletions(-)

diff --git a/ard-sample/src/main/java/com/ard/sample/storage/service/impl/StorageServiceImpl.java b/ard-sample/src/main/java/com/ard/sample/storage/service/impl/StorageServiceImpl.java
index 11c0933..56607d4 100644
--- a/ard-sample/src/main/java/com/ard/sample/storage/service/impl/StorageServiceImpl.java
+++ b/ard-sample/src/main/java/com/ard/sample/storage/service/impl/StorageServiceImpl.java
@@ -8,6 +8,7 @@
 import com.ard.sample.config.DockConfiguration;
 import com.ard.sample.storage.service.IStorageService;
 import com.ard.oss.service.impl.OssServiceContext;
+import com.ard.sample.utils.MinioStsUtils;
 import io.minio.MinioClient;
 import io.minio.PutObjectArgs;
 import io.minio.credentials.StaticProvider;
@@ -37,31 +38,53 @@
 
     @Autowired
     private OssServiceContext ossService;
+    @Autowired
+    private MinioStsUtils minioStsUtils;
 
     @Override
     public StsCredentialsDTO getSTSCredentials() {
-        CredentialsDTO credentials = ossService.getCredentials();
+//        CredentialsDTO credentials = ossService.getCredentials();
+        CredentialsDTO credentials = minioStsUtils.getCredentials();
+
         //验证一下minio的临时凭证是否可用
-        log.info("验证临时凭证是否有效:{}", credentials);
+        log.info("验证http临时凭证是否有效:{}", credentials);
         execMinio(DockConfiguration.endpoint,
                 credentials.getAccessKeyId(),
                 credentials.getAccessKeySecret(),
                 credentials.getSecurityToken(),
+                OssConfiguration.region,
                 DockConfiguration.bucket,
-                "test_object");
+                "test_object_http");
+
+//        log.info("验证https临时凭证是否有效:{}", credentials);
+//        execMinio(OssConfiguration.endpoint,
+//                credentials.getAccessKeyId(),
+//                credentials.getAccessKeySecret(),
+//                credentials.getSecurityToken(),
+//                OssConfiguration.region,
+//                DockConfiguration.bucket,
+//                "test_object_https");
 
         return StsCredentialsDTO.builder()
                 //机场媒体库minio配置信息用代理地址,桶用机场的桶。
-                //.endpoint(OssConfiguration.endpoint)
                 .endpoint(DockConfiguration.endpoint)
-//                .bucket(OssConfiguration.bucket)
                 .bucket(DockConfiguration.bucket)
-//                .credentials(ossService.getCredentials())
                 .credentials(credentials)
-                .provider(OssConfiguration.provider)
-                .objectKeyPrefix(OssConfiguration.objectDirPrefix)
-                .region(OssConfiguration.region)
+                .provider(DockConfiguration.provider)
+                .objectKeyPrefix(DockConfiguration.objectDirPrefix)
+                .region(DockConfiguration.region)
                 .build();
+
+//        return StsCredentialsDTO.builder()
+//                //机场媒体库minio配置信息用代理地址,桶用机场的桶。
+//                .endpoint(OssConfiguration.endpoint)
+//                .bucket(OssConfiguration.bucket)
+////                .credentials(ossService.getCredentials())
+//                .credentials(credentials)
+//                .provider(OssConfiguration.provider)
+//                .objectKeyPrefix(OssConfiguration.objectDirPrefix)
+//                .region(OssConfiguration.region)
+//                .build();
     }
 
     @Override
@@ -83,16 +106,18 @@
                           String accessKeyId,
                           String accessKeySecret,
                           String securityToken,
+                          String region,
                           String bucketName,
                           String testObjectName) {
         // 1. 替换为你要验证的临时凭证参数(从 getCredentials() 返回的结果中复制)
         try {
+            log.info("🔑 正在验证{}临时凭证有效性...", endpoint);
             // 2. 用临时凭证(含 securityToken)初始化 MinIO 客户端
             MinioClient minioClient = MinioClient.builder()
                     .endpoint(endpoint)
 //                    .credentials(accessKeyId, accessKeySecret) // 核心:传入 securityToken
                     .credentialsProvider(new StaticProvider(accessKeyId, accessKeySecret, securityToken))
-                    .region("us-east-1") // 和你配置的 region 一致
+                    .region(region) // 和你配置的 region 一致   us-east-1
                     .build();
 
             // 3. 执行验证操作:上传一个测试文件(模拟机场上传媒体文件)

--
Gitblit v1.9.3