retrieve method

  1. @override
AWSCredentials retrieve()
override

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,
  );
}