public void SignRequest_should_apply_signature_to_request() { var creds = new AwsCredentials { AccessKey = "ExampleKey", SecretKey = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY", Token = "token1", }; SignV4Util.SignRequest(_sampleRequest, _sampleBody, creds, "us-east-1", "iam"); var amzDate = _sampleRequest.Headers.XAmzDate; Assert.False(String.IsNullOrEmpty(amzDate)); Trace.WriteLine("X-Amz-Date: " + amzDate); var auth = _sampleRequest.Headers.Authorization; Assert.False(String.IsNullOrEmpty(auth)); Trace.WriteLine("Authorize: " + auth); var token = _sampleRequest.Headers.XAmzSecurityToken; Assert.False(String.IsNullOrEmpty(token)); Trace.WriteLine("Token: " + token); }
public static void SignRequest(HttpRequestMessage request, byte[] body, AwsCredentials credentials, string region, string service) { var date = DateTime.UtcNow; var dateStamp = date.ToString("yyyyMMdd"); var amzDate = date.ToString("yyyyMMddTHHmmssZ"); request.Headers.Add("X-Amz-Date", amzDate); var signingKey = GetSigningKey(credentials.SecretKey, dateStamp, region, service); var stringToSign = GetStringToSign(request, body, region, service); Debug.Write("========== String to Sign ==========\r\n{0}\r\n========== String to Sign ==========\r\n", stringToSign); var signature = signingKey.GetHmacSha256Hash(stringToSign).ToLowercaseHex(); var auth = string.Format( "AWS4-HMAC-SHA256 Credential={0}/{1}, SignedHeaders={2}, Signature={3}", credentials.AccessKey, GetCredentialScope(dateStamp, region, service), GetSignedHeaders(request), signature); Console.WriteLine(auth); request.Headers.TryAddWithoutValidation("Authorization", auth); if (!string.IsNullOrWhiteSpace(credentials.Token)) { request.Headers.Add("X-Amz-Security-Token", credentials.Token); } }
public MongoAWSMechanism( AwsCredentials awsCredentials, IRandomByteGenerator randomByteGenerator, IClock clock) { _awsCredentials = Ensure.IsNotNull(awsCredentials, nameof(awsCredentials)); _randomByteGenerator = Ensure.IsNotNull(randomByteGenerator, nameof(randomByteGenerator)); _clock = Ensure.IsNotNull(clock, nameof(clock)); }
public static AmazonDynamoDBClient CreateClient(AppConfig appConfig) { var dynamoDbConfig = new AmazonDynamoDBConfig { RegionEndpoint = RegionEndpoint.GetBySystemName(appConfig.AwsRegion) }; var awsCredentials = new AwsCredentials(appConfig); return(new AmazonDynamoDBClient(awsCredentials, dynamoDbConfig)); }
public ClientFirst( byte[] bytesToSendToServer, byte[] nonce, AwsCredentials awsCredentials, IClock clock) { _bytesToSendToServer = bytesToSendToServer; _nonce = nonce; _awsCredentials = awsCredentials; _clock = clock; }
public void CanCastToAWSCredentials() { //Arrange var sut = new AwsCredentials("access", "secret", "token"); //Act var convertedCreds = ((AWSCredentials)sut).GetCredentials(); //Assert Assert.NotNull(convertedCreds); Assert.Equal("access", convertedCreds.AccessKey); Assert.Equal("secret", convertedCreds.SecretKey); Assert.Equal("token", convertedCreds.Token); }
public TransactionsRecord(AwsCredentials awsCredentials) { try { var dynamoDbConfig = new AmazonDynamoDBConfig { RegionEndpoint = RegionEndpoint.USEast1 }; client = new AmazonDynamoDBClient(awsCredentials, dynamoDbConfig); dbContext = new DynamoDBContext(client); } catch (AmazonServiceException e) { Console.WriteLine(e.Message); } catch (Exception e) { Console.WriteLine(e.Message); } }
public void CanBeConstructed() { //Arrange var sut = new AwsCredentials("access", "secret", "token"); //Act var hash = sut.GetHashCode(); //Assert Assert.NotNull(sut); Assert.Equal(hash, sut.GetHashCode()); Assert.Equal("access", sut.AccessKey); Assert.Equal("secret", sut.SecretKey); Assert.Equal("token", sut.Token); }
public SigningMetadata(RegionEndpoint regionEndpoint, AwsCredentials credentials, in DateTime timestamp,
public KinesisClient(AwsCredentials credentials) : base(AwsService.Kinesis, AwsRegion.USEast1, credentials) { }
protected override async Task <TResponse> InvokeClientRequest <TRequest, TResponse>(string actionName, TRequest request, CancellationToken cancelToken = default) { var lambdaRequest = new InvokeRequest(); var micRequest = new MicLambdaRequest <TRequest> { Attributes = request }; switch (actionName) { #region Auth API case nameof(AuthConfirmSignup): micRequest.Action = "CONFIRM_SIGN_UP"; goto case nameof(Manifest.AuthLambda); case nameof(AuthForgotPassword): micRequest.Action = "FORGOT_PASSWORD"; goto case nameof(Manifest.AuthLambda); case nameof(AuthLogin): micRequest.Action = "LOGIN"; AwsCredentials.RemoveLogin(Manifest.GetCognitoProviderName()); goto case nameof(Manifest.AuthLambda); case nameof(AuthGiveConsent): micRequest.Action = "GIVE_CONSENT"; goto case nameof(Manifest.AuthLambda); case nameof(AuthRefresh): micRequest.Action = "REFRESH"; AwsCredentials.RemoveLogin(Manifest.GetCognitoProviderName()); goto case nameof(Manifest.AuthLambda); case nameof(AuthResendConfirmationCode): micRequest.Action = "RESEND_CONFIRMATION_CODE"; goto case nameof(Manifest.AuthLambda); case nameof(AuthSetPassword): micRequest.Action = "SET_PASSWORD"; goto case nameof(Manifest.AuthLambda); case nameof(AuthSignup): micRequest.Action = "SIGN_UP"; goto case nameof(Manifest.AuthLambda); case nameof(Manifest.AuthLambda): lambdaRequest.FunctionName = Manifest.AuthLambda; break; #endregion // Auth API #region User API case nameof(UserCreate): micRequest.Action = "CREATE"; goto case nameof(Manifest.UserLambda); case nameof(UserResetPassword): micRequest.Action = "RESET_PASSWORD"; goto case nameof(Manifest.UserLambda); case nameof(UserGet): micRequest.Action = "GET"; goto case nameof(Manifest.UserLambda); case nameof(Manifest.UserLambda): lambdaRequest.FunctionName = Manifest.UserLambda; break; #endregion // User API default: throw new InvalidOperationException("Unknown action name: " + actionName); } lambdaRequest.Payload = JsonConvert.SerializeObject(micRequest); var lambdaResponse = await lambdaClient.InvokeAsync(lambdaRequest, cancelToken) .ConfigureAwait(continueOnCapturedContext: false); return(await DeserializeOrThrow <TResponse>(lambdaResponse, cancelToken).ConfigureAwait(continueOnCapturedContext: false)); }