fix(cnb): skip local email cache and add safe email/state cache clearing

(cherry picked from commit 0e7f589df58240badc1d2340e9856882aa075b63)
This commit is contained in:
dab246
2025-12-02 11:52:48 +07:00
committed by Dat H. Pham
parent 9d4f6e73d2
commit b3e5ab0df4
21 changed files with 141 additions and 294 deletions
@@ -131,7 +131,7 @@ class AuthenticationOIDCDataSourceImpl extends AuthenticationOIDCDataSource {
@override
Future<void> deleteOidcConfiguration() {
return Future.sync(() async {
return await _oidcConfigurationCacheManager.deleteOidcConfiguration();
return await _oidcConfigurationCacheManager.clear();
}).catchError(_cacheExceptionThrower.throwException);
}
@@ -163,7 +163,7 @@ class AuthenticationOIDCDataSourceImpl extends AuthenticationOIDCDataSource {
@override
Future<void> deleteTokenOIDC() {
return Future.sync(() async {
return await _tokenOidcCacheManager.deleteTokenOidc();
return await _tokenOidcCacheManager.clear();
}).catchError(_cacheExceptionThrower.throwException);
}
@@ -24,8 +24,8 @@ class AuthenticationInfoCacheManager extends CacheManagerInteraction {
}
}
Future<void> removeAuthenticationInfo() {
return _authenticationInfoCacheClient.deleteItem(AuthenticationInfoCache.keyCacheValue);
Future<void> clear() {
return _authenticationInfoCacheClient.clearAllData();
}
@override
@@ -43,12 +43,9 @@ class OidcConfigurationCacheManager extends CacheManagerInteraction {
);
}
Future<void> deleteOidcConfiguration() async {
log('OidcConfigurationCacheManager::deleteOidcConfiguration()');
Future<void> clear() async {
await Future.wait([
_oidcConfigurationCacheClient.deleteItem(
CachingConstants.oidcConfigurationCacheKeyName,
),
_oidcConfigurationCacheClient.clearAllData(),
_sharedPreferences.remove(OIDCConstant.keyAuthorityOidc),
]);
}
@@ -24,7 +24,7 @@ class TokenOidcCacheManager extends CacheManagerInteraction {
Future<void> persistOneTokenOidc(TokenOIDC tokenOIDC) async {
log('TokenOidcCacheManager::persistOneTokenOidc(): $tokenOIDC');
await _tokenOidcCacheClient.clearAllData();
await clear();
log('TokenOidcCacheManager::persistOneTokenOidc(): key: ${tokenOIDC.tokenId.uuid}');
log('TokenOidcCacheManager::persistOneTokenOidc(): key\'s hash: ${tokenOIDC.tokenIdHash}');
log('TokenOidcCacheManager::persistOneTokenOidc(): token: ${tokenOIDC.token}');
@@ -32,7 +32,7 @@ class TokenOidcCacheManager extends CacheManagerInteraction {
log('TokenOidcCacheManager::persistOneTokenOidc(): done');
}
Future<void> deleteTokenOidc() async {
Future<void> clear() async {
await _tokenOidcCacheClient.clearAllData();
}
@@ -42,6 +42,6 @@ class CredentialRepositoryImpl extends CredentialRepository {
@override
Future<void> removeAuthenticationInfo() {
return _authenticationInfoCacheManager.removeAuthenticationInfo();
return _authenticationInfoCacheManager.clear();
}
}