refreshAndGetAwsCredentials function
Future<({String accessKeyId, String secretAccessKey, String sessionToken})?>
refreshAndGetAwsCredentials()
Refresh and get AWS credentials with caching.
Implementation
Future<({String accessKeyId, String secretAccessKey, String sessionToken})?>
refreshAndGetAwsCredentials() async {
if (_awsCredentialsCache != null && _awsCredentialsCacheTime != null) {
final elapsed = DateTime.now().difference(_awsCredentialsCacheTime!);
if (elapsed.inMilliseconds < defaultAwsStsTtl) {
return _awsCredentialsCache;
}
}
final refreshed = await _runAwsAuthRefresh();
final credentials = await _getAwsCredsFromCredentialExport();
if (credentials != null) {
_awsCredentialsCache = credentials;
_awsCredentialsCacheTime = DateTime.now();
}
return credentials;
}