refreshGcpCredentialsIfNeeded function
Refresh GCP credentials if needed.
Implementation
Future<bool> refreshGcpCredentialsIfNeeded() async {
if (_gcpCredentialsRefreshed != null && _gcpCredentialsCacheTime != null) {
final elapsed = DateTime.now().difference(_gcpCredentialsCacheTime!);
if (elapsed.inMilliseconds < defaultGcpCredentialTtl) {
return _gcpCredentialsRefreshed!;
}
}
final refreshed = await _runGcpAuthRefresh();
_gcpCredentialsRefreshed = refreshed;
_gcpCredentialsCacheTime = DateTime.now();
return refreshed;
}