From 5b29289dbbbcc2f4ebcca229ba3f6cba56edb0ec Mon Sep 17 00:00:00 2001 From: Jiaxi_Wu Date: Fri, 12 Jan 2024 19:23:09 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E5=A4=B1=E6=95=88=E6=97=B6,=E5=8F=AF=E8=83=BD=E4=BC=9A?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E8=8E=B7=E5=8F=96accessToken=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20(#762)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: 修复缓存失效时,可能会重复获取accessToken的问题 * feat: 添加获取AK失败时的错误信息返回 --------- Co-authored-by: wujiaxi --- credential/default_access_token.go | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/credential/default_access_token.go b/credential/default_access_token.go index b4d9d4c..00ad481 100644 --- a/credential/default_access_token.go +++ b/credential/default_access_token.go @@ -90,9 +90,9 @@ func (ak *DefaultAccessToken) GetAccessTokenContext(ctx context.Context) (access return } - if err = ak.cache.Set(accessTokenCacheKey, resAccessToken.AccessToken, time.Duration(resAccessToken.ExpiresIn-1500)*time.Second); err != nil { - return - } + expires := resAccessToken.ExpiresIn - 1500 + err = ak.cache.Set(accessTokenCacheKey, resAccessToken.AccessToken, time.Duration(expires)*time.Second) + accessToken = resAccessToken.AccessToken return } @@ -141,7 +141,7 @@ func (ak *StableAccessToken) GetAccessTokenContext(ctx context.Context) (accessT } expires := resAccessToken.ExpiresIn - 300 - _ = ak.cache.Set(accessTokenCacheKey, resAccessToken.AccessToken, time.Duration(expires)*time.Second) + err = ak.cache.Set(accessTokenCacheKey, resAccessToken.AccessToken, time.Duration(expires)*time.Second) accessToken = resAccessToken.AccessToken return @@ -219,9 +219,7 @@ func (ak *WorkAccessToken) GetAccessTokenContext(ctx context.Context) (accessTok expires := resAccessToken.ExpiresIn - 1500 err = ak.cache.Set(accessTokenCacheKey, resAccessToken.AccessToken, time.Duration(expires)*time.Second) - if err != nil { - return - } + accessToken = resAccessToken.AccessToken return }