public void TestECSCredentials_LocalFullUri() { string uri = "/ECS/Test/Endpoint/"; string accessKey = "SomeKey"; string secretKey = "SomeSecretKey"; string token = "Token"; string expiration = DateTime.UtcNow.AddHours(1).ToString("s") + "Z"; using (ResponseTestServlet servlet = new ResponseTestServlet(uri)) { string server = "http://*****:*****@"{{ ""AccessKeyId"" : ""{accessKey}"", ""SecretAccessKey"" : ""{secretKey}"", ""Token"" : ""{token}"", ""Expiration"" : ""{expiration}"" }}"; ECSTaskCredentials generator = new ECSTaskCredentials(); ImmutableCredentials credentials = generator.GetCredentials(); Assert.AreEqual(accessKey, credentials.AccessKey); Assert.AreEqual(secretKey, credentials.SecretKey); Assert.AreEqual(token, credentials.Token); } System.Environment.SetEnvironmentVariable(ECSTaskCredentials.ContainerCredentialsFullURIEnvVariable, ""); }
private AmazonWebServicesSecurityCredentials GetECSCredentials() { try { string uri = System.Environment.GetEnvironmentVariable(ECSTaskCredentials.ContainerCredentialsURIEnvVariable); if (!string.IsNullOrEmpty(uri)) { IWebProxy webProxy = System.Net.WebRequest.GetSystemWebProxy(); var ecsTaskCredentials = new ECSTaskCredentials(webProxy); var credentials = ecsTaskCredentials.GetCredentials(); return(new AmazonWebServicesSecurityCredentials() { AccessKeyId = credentials.AccessKey, SecretAccessKey = credentials.SecretKey, Token = credentials.Token }); } } catch (SecurityException e) { Logger.GetLogger(typeof(ECSTaskCredentials)).Error(e, "Failed to access environment variable {0}", ECSTaskCredentials.ContainerCredentialsURIEnvVariable); } return(new AmazonWebServicesSecurityCredentials { Expiration = DateTime.Now.AddMonths(36).ToString(), AccessKeyId = _awsConfig.AccessKeyId, SecretAccessKey = _awsConfig.SecretAccessKey }); }
public void TestECSCredentialsLocal() { string uri = "/ECS/Test/Endpoint/"; string accessKey = "SomeKey"; string secretKey = "SomeSecretKey"; string token = "Token"; string expiration = DateTime.UtcNow.AddHours(1).ToString("s") + "Z"; System.Environment.SetEnvironmentVariable(ECSTaskCredentials.ContainerCredentialsURIEnvVariable, uri); using (ResponseTestServlet servlet = new ResponseTestServlet(uri)) { string server = "http://*****:*****@"{{ ""AccessKeyId"" : ""{0}"", ""SecretAccessKey"" : ""{1}"", ""Token"" : ""{2}"", ""Expiration"" : ""{3}"" }}", accessKey, secretKey, token, expiration); ECSTaskCredentials generator = new ECSTaskCredentials(); FieldInfo serverField = generator.GetType().GetField("Server", BindingFlags.Instance | BindingFlags.NonPublic); Assert.IsNotNull(serverField); serverField.SetValue(generator, server); ImmutableCredentials credentials = generator.GetCredentials(); Assert.AreEqual(accessKey, credentials.AccessKey); Assert.AreEqual(secretKey, credentials.SecretKey); Assert.AreEqual(token, credentials.Token); } System.Environment.SetEnvironmentVariable(ECSTaskCredentials.ContainerCredentialsURIEnvVariable, ""); }
public void TestECSCredentialsLocal() { string uri = "/ECS/Test/Endpoint/"; string accessKey = "SomeKey"; string secretKey = "SomeSecretKey"; string token = "Token"; string expiration = DateTime.UtcNow.AddHours(1).ToString("s") + "Z"; System.Environment.SetEnvironmentVariable(ECSTaskCredentials.ContainerCredentialsURIEnvVariable, uri); using (ResponseTestServlet servlet = new ResponseTestServlet(uri)) { string server = "http://*****:*****@"{{ ""AccessKeyId"" : ""{0}"", ""SecretAccessKey"" : ""{1}"", ""Token"" : ""{2}"", ""Expiration"" : ""{3}"" }}", accessKey, secretKey, token, expiration); ECSTaskCredentials generator = new ECSTaskCredentials(); FieldInfo serverField = generator.GetType().GetField("Server", BindingFlags.Instance | BindingFlags.NonPublic ); Assert.IsNotNull(serverField); serverField.SetValue(generator, server); ImmutableCredentials credentials = generator.GetCredentials(); Assert.AreEqual(accessKey, credentials.AccessKey); Assert.AreEqual(secretKey, credentials.SecretKey); Assert.AreEqual(token, credentials.Token); } System.Environment.SetEnvironmentVariable(ECSTaskCredentials.ContainerCredentialsURIEnvVariable, ""); }