retrieve method
Retrieves AWS credentials.
Implementation
@override
AWSCredentials retrieve() {
// On Android, iOS and Web, use the Dart VM's environment instead of
// the OS's since platform environment variables are not as useful or
// entirely unavailable.
if (os.isAndroid || os.isIOS || os.isBrowser) {
return const DartEnvironmentCredentialsProvider().retrieve();
}
final accessKeyId = lookupPlatformEnv(zAccessKeyId) ?? '';
final secretAccessKey = lookupPlatformEnv(zSecretAccessKey) ?? '';
final sessionToken = lookupPlatformEnv(zSessionToken);
if (accessKeyId.isEmpty || secretAccessKey.isEmpty) {
throw const InvalidCredentialsException.couldNotLoad();
}
return AWSCredentials(
accessKeyId,
secretAccessKey,
sessionToken == null || sessionToken.isEmpty ? null : sessionToken,
);
}