Exemple #1
0
 private void AssertFederatedCredentialsAreEqual(FederatedAWSCredentials expected, AWSCredentials actualAWSCredentials)
 {
     var actual = actualAWSCredentials as FederatedAWSCredentials;
     Assert.IsNotNull(actual);
     Assert.AreEqual(expected.SAMLEndpoint.Name, actual.SAMLEndpoint.Name);
     Assert.AreEqual(expected.RoleArn, actual.RoleArn);
     Assert.AreEqual(expected.Options.UserIdentity, actual.Options.UserIdentity);
 }
Exemple #2
0
        public void GetCredentialsUserIdentityNoCallback()
        {
            var awsCredentials = new FederatedAWSCredentials(SomeSAMLEndpoint, RoleArn, new FederatedAWSCredentialsOptions()
            {
                UserIdentity = UserIdentity
            });

            AssertCallSTSFails(awsCredentials);
        }
Exemple #3
0
        public void GetCredentialsSessionCached()
        {
            var sessionName = SomeSAMLEndpoint.Name + "," + RoleArn + ",";
            var samlImmutableCredentials = new SAMLImmutableCredentials(AccessKeyID, SecretAccessKey, Token, DateTime.UtcNow.AddDays(1), Subject);

            sessionManager.RegisterRoleSession(sessionName, samlImmutableCredentials);
            var awsCredentials = new FederatedAWSCredentials(SomeSAMLEndpoint, RoleArn);

            AssertSAMLImmutableCredentials(samlImmutableCredentials, awsCredentials.GetCredentials());
        }
Exemple #4
0
 /// <summary>
 /// Asserts that the call to GetCredentials() on the FederatedAWSCredentials is
 /// actually attempting to call STS and failing.
 /// </summary>
 /// <param name="credentials"></param>
 private void AssertCallSTSFails(FederatedAWSCredentials credentials)
 {
     AssertExtensions.ExpectException(() =>
     {
         throw AssertExtensions.ExpectException(() =>
         {
             throw AssertExtensions.ExpectException(() =>
             {
                 credentials.GetCredentials();
             }, typeof(AmazonClientException)).InnerException;
         }, typeof(FederatedAuthenticationFailureException)).InnerException;
     }, typeof(AdfsAuthenticationControllerException), new Regex("(The remote name could not be resolved: \'somesamlendpoint.com\')|(The remote server returned an error: \\(502\\) Bad Gateway.)"));
 }
Exemple #5
0
        public void GetCredentialsUserCancels()
        {
            var awsCredentials = new FederatedAWSCredentials(SomeSAMLEndpoint, RoleArn, new FederatedAWSCredentialsOptions()
            {
                UserIdentity = UserIdentity,
                CredentialRequestCallback = (e) => { return(null); }
            });

            AssertExtensions.ExpectException(() =>
            {
                awsCredentials.GetCredentials();
            }, typeof(FederatedAuthenticationCancelledException), "User cancelled credential request.");
        }
Exemple #6
0
        public void GetCredentialsUserIdentityAndCallback()
        {
            var awsCredentials = new FederatedAWSCredentials(SomeSAMLEndpoint, RoleArn, new FederatedAWSCredentialsOptions()
            {
                UserIdentity = UserIdentity,
                CredentialRequestCallback = (e) => { throw new Exception("BLAH"); }
            });

            AssertExtensions.ExpectException(() =>
            {
                awsCredentials.GetCredentials();
            }, typeof(Exception), "BLAH");
        }