From f12abffde2f97b448d5c960bb2c99596d1db418f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A2=8E=E7=A2=8E=E9=85=B1?= Date: Wed, 11 Aug 2021 22:53:07 +0800 Subject: [PATCH] Manual refresh Aliyun Oss token --- packages/web/src/utils/uploadFile.ts | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/packages/web/src/utils/uploadFile.ts b/packages/web/src/utils/uploadFile.ts index 8a4bb39..d6c4d25 100644 --- a/packages/web/src/utils/uploadFile.ts +++ b/packages/web/src/utils/uploadFile.ts @@ -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); } }