mirror of https://gitee.com/stylefeng/roses
【file】更新文件获取authUrl的实现
parent
1fe531d773
commit
1505ab56b9
|
@ -181,7 +181,7 @@ public class AliyunFileOperator implements FileOperatorApi {
|
|||
@Override
|
||||
public String getFileAuthUrl(String bucketName, String key, Long timeoutMillis) {
|
||||
try {
|
||||
Date expiration = new Date(new Date().getTime() + timeoutMillis);
|
||||
Date expiration = new Date(System.currentTimeMillis() + timeoutMillis);
|
||||
URL url = ossClient.generatePresignedUrl(bucketName, key, expiration);
|
||||
return url.toString();
|
||||
} catch (OSSException | ClientException e) {
|
||||
|
|
|
@ -24,11 +24,11 @@
|
|||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
|
||||
<!--jwt模块-->
|
||||
<!--用来给生成带鉴权的url用-->
|
||||
<!--auth模块的api-->
|
||||
<!--用来获取当前登录用户的token,生成file的url-->
|
||||
<dependency>
|
||||
<groupId>cn.stylefeng.roses</groupId>
|
||||
<artifactId>jwt-sdk</artifactId>
|
||||
<artifactId>auth-api</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
|
||||
|
|
|
@ -4,15 +4,14 @@ import cn.hutool.core.io.FileTypeUtil;
|
|||
import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.stylefeng.roses.kernel.auth.api.context.LoginContext;
|
||||
import cn.stylefeng.roses.kernel.file.FileOperatorApi;
|
||||
import cn.stylefeng.roses.kernel.file.constants.FileConstants;
|
||||
import cn.stylefeng.roses.kernel.file.enums.BucketAuthEnum;
|
||||
import cn.stylefeng.roses.kernel.file.exception.FileException;
|
||||
import cn.stylefeng.roses.kernel.file.exception.enums.FileExceptionEnum;
|
||||
import cn.stylefeng.roses.kernel.file.expander.FileConfigExpander;
|
||||
import cn.stylefeng.roses.kernel.file.pojo.props.MinIoProperties;
|
||||
import cn.stylefeng.roses.kernel.file.enums.BucketAuthEnum;
|
||||
import cn.stylefeng.roses.kernel.jwt.JwtTokenOperator;
|
||||
import cn.stylefeng.roses.kernel.jwt.api.pojo.config.JwtConfig;
|
||||
import io.minio.MinioClient;
|
||||
import io.minio.errors.InvalidEndpointException;
|
||||
import io.minio.errors.InvalidPortException;
|
||||
|
@ -193,17 +192,11 @@ public class MinIoFileOperator implements FileOperatorApi {
|
|||
@Override
|
||||
public String getFileAuthUrl(String bucketName, String key, Long timeoutMillis) {
|
||||
|
||||
// 初始化jwt token的生成工具
|
||||
JwtConfig jwtConfig = new JwtConfig();
|
||||
jwtConfig.setJwtSecret(FileConfigExpander.getFileAuthJwtSecret());
|
||||
jwtConfig.setExpiredSeconds(timeoutMillis / 1000);
|
||||
JwtTokenOperator jwtTokenOperator = new JwtTokenOperator(jwtConfig);
|
||||
|
||||
// 生成token
|
||||
String token = jwtTokenOperator.generateToken(new HashMap<>());
|
||||
// 获取登录用户的token
|
||||
String token = LoginContext.me().getToken();
|
||||
|
||||
// 拼接url = “host” + “预览图片的url” + “?token=xxx”
|
||||
return FileConfigExpander.getServerDeployHost() + FileConstants.FILE_PREVIEW_URL + "?token=" + token;
|
||||
return FileConfigExpander.getServerDeployHost() + FileConstants.FILE_PREVIEW_URL + "?fileBucket=" + bucketName + "&fileObjectName=" + key + "&token=" + token;
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue