sen
1 天以前 5abcde36961125cbf436f91b8c17610a6b5f8308
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package com.ruoyi.common.utils;
 
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.auth.sts.AssumeRoleRequest;
import com.aliyuncs.auth.sts.AssumeRoleResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.ruoyi.common.config.OssConfig;
import com.ruoyi.common.core.domain.OssToken;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
 
@Component
public class OssUtils {
    @Autowired
    private OssConfig aliOssconfig;
    public OssToken getToken(){
        DefaultProfile profile = DefaultProfile.getProfile(aliOssconfig.getRegion(), aliOssconfig.getAccessKeyId(),aliOssconfig.getAccessKeySecret());
        DefaultAcsClient client = new DefaultAcsClient(profile);
        AssumeRoleRequest request = new AssumeRoleRequest();
        request.setRoleSessionName("tms-oss");
        request.setRoleArn(aliOssconfig.getRoleArn());
        request.setDurationSeconds (1080L);
        try {
            AssumeRoleResponse acsResponse = client.getAcsResponse(request);
            //拿到前端需要的数据了
            AssumeRoleResponse.Credentials credentials = acsResponse.getCredentials();
            String accessKeyId = credentials.getAccessKeyId();
            String accessReySecret = credentials.getAccessKeySecret();
            String securityToken = credentials.getSecurityToken();
            //构建前端需要的vo
            return OssToken.builder()
                    .accesskeyId(accessKeyId)
                    .accesskeySecret(accessReySecret).stsToken(securityToken)
                    .region(aliOssconfig.getRegion())
                    .bucket(aliOssconfig.getBucket())
                    .key(aliOssconfig.getKey())
                    .build();
        }catch (ClientException exception){
            exception.printStackTrace();
            System.out.println(exception);
        }
        return null;
    }
 
}