public CognitoContext( ICredentialsProvider credentialsProvider, ICognitoOptions<T> options ) { if( credentialsProvider is null ) { throw new ArgumentException( $"{nameof( credentialsProvider )} must not be null.", nameof( credentialsProvider ) ); } if( options is null ) { throw new ArgumentException( $"{nameof( options )} must not be null.", nameof( options ) ); } Provider = CreateCognitoProvider( credentialsProvider, options ); }
private static IAmazonCognitoIdentityProvider CreateCognitoProvider( ICredentialsProvider credentialsProvider, ICognitoOptions<T> options ) { AWSCredentials credentials = credentialsProvider.GetCredentials( options.CredentialsProfile ); if( !string.IsNullOrWhiteSpace( options.Role ) ) { credentials = credentialsProvider.AssumeRole( credentials, options.Role ); } if( !string.IsNullOrWhiteSpace( options.RegionEndpoint ) ) { AmazonCognitoIdentityProviderConfig config = new AmazonCognitoIdentityProviderConfig { RegionEndpoint = RegionEndpoint.GetBySystemName( options.RegionEndpoint ) }; return new AmazonCognitoIdentityProviderClient( credentials, config ); } return new AmazonCognitoIdentityProviderClient( credentials ); }