Просмотр исходного кода

fix: 修复缓存失效时,可能会重复获取accessToken的问题 (#762)

* fix: 修复缓存失效时,可能会重复获取accessToken的问题

* feat: 添加获取AK失败时的错误信息返回

---------

Co-authored-by: wujiaxi <wujiaxi@expandera.cn>
Jiaxi_Wu 2 лет назад
Родитель
Сommit
5b29289dbb
1 измененных файлов с 5 добавлено и 7 удалено
  1. 5 7
      credential/default_access_token.go

+ 5 - 7
credential/default_access_token.go

@@ -90,9 +90,9 @@ func (ak *DefaultAccessToken) GetAccessTokenContext(ctx context.Context) (access
 		return
 		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
 	accessToken = resAccessToken.AccessToken
 	return
 	return
 }
 }
@@ -141,7 +141,7 @@ func (ak *StableAccessToken) GetAccessTokenContext(ctx context.Context) (accessT
 	}
 	}
 
 
 	expires := resAccessToken.ExpiresIn - 300
 	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
 	accessToken = resAccessToken.AccessToken
 	return
 	return
@@ -219,9 +219,7 @@ func (ak *WorkAccessToken) GetAccessTokenContext(ctx context.Context) (accessTok
 
 
 	expires := resAccessToken.ExpiresIn - 1500
 	expires := resAccessToken.ExpiresIn - 1500
 	err = ak.cache.Set(accessTokenCacheKey, resAccessToken.AccessToken, time.Duration(expires)*time.Second)
 	err = ak.cache.Set(accessTokenCacheKey, resAccessToken.AccessToken, time.Duration(expires)*time.Second)
-	if err != nil {
-		return
-	}
+
 	accessToken = resAccessToken.AccessToken
 	accessToken = resAccessToken.AccessToken
 	return
 	return
 }
 }