Manual refresh Aliyun Oss token

This commit is contained in:
碎碎酱 2021-08-11 22:53:07 +08:00 committed by 碎碎酱
parent 815384da89
commit f12abffde2

View File

@ -13,21 +13,25 @@ export async function initOSS() {
accessKeySecret: token.AccessKeySecret,
stsToken: token.SecurityToken,
bucket: token.bucket,
refreshSTSToken: async () => {
const [, refreshToken] = await fetch('getSTS');
if (refreshToken) {
return {
accessKeyId: refreshToken.AccessKeyId,
accessKeySecret: refreshToken.AccessKeySecret,
stsToken: refreshToken.SecurityToken,
};
}
return null;
},
});
if (token.endpoint) {
endpoint = `//${token.endpoint}/`;
}
const OneHour = 1000 * 60 * 60;
setInterval(async () => {
const [, refreshToken] = await fetch('getSTS');
if (refreshToken?.enable) {
// @ts-ignore
ossClient = new OSS({
region: refreshToken.region,
accessKeyId: refreshToken.AccessKeyId,
accessKeySecret: refreshToken.AccessKeySecret,
stsToken: refreshToken.SecurityToken,
bucket: refreshToken.bucket,
});
}
}, OneHour);
}
}