AWS Ошибка несоответствия сигнатуры Cognito после обновления aspnetcore с 1.0 до 2.1 - PullRequest
1 голос
/ 29 января 2020

После обновления Do tnet core framework с 1.0 до 2.1 вызовы AWS Cognito не могут выдать ошибку несоответствия подписи. Те же самые вызовы, если они связаны со старым кодом framework (1.0), все еще работают.

Как и следующий вызов:

var request = new ListUsersInGroupRequest();
request.GroupName = groupName;
request.Limit = 60;
request.UserPoolId = _configuration.GetSection(Utility.AWS).GetSection(Utility.AWSUserPoolId).Value;

var output = _cognitoIdentityClient.ListUsersInGroupAsync(request).Result;

выдает следующую ошибку:

System.AggregateException HResult = 0x80131500 Сообщение = Произошла одна или несколько ошибок. (Рассчитанная нами подпись запроса не соответствует предоставленной вами подписи. Проверьте AWS Секретный ключ доступа и метод подписи. Подробности см. В документации по обслуживанию.) Source = System.Private.CoreLib StackTrace: at System.Threading.Tasks. Task`1.GetResultCore (Boolean waitCompletionNotification) в WDP.Services.UserService.ListUsersInGroupAsyn c (String groupName) в C: \ Users \ arupc \ source \ WDP \ Projects \ WDP \ WDP.Services \ UserService.cs: строка 631 в WDP.Services.UserService.GetUsers (User loggedUser) в C: \ Users \ arupc \ source \ WDP \ Projects \ WDP \ WDP.Services \ UserService.cs: строка 194 в WDP.Lambda.Controllers.UserController .GetAllUsers () в C: \ Users \ arupc \ source \ WDP \ Projects \ WDP \ WDP.AWSServerless \ Controllers \ UserController.cs: строка 58 в Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute (цель объекта, объект [ ]) в Microsoft.AspNetCore. Mvc .Internal.ActionMethodExecutor.SyncObjectResultExecutor.Execute (преобразователь IActionResultTypeMapper, ObjectMethodEx ecutor executor, Object controller, Object [] arguments) в Microsoft.AspNetCore. Mvc .Internal.ControllerActionInvoker.d__12.MoveNext ()

Это исключение было изначально сгенерировано в этом стеке вызовов: Amazon.Runtime.HttpWebRequestMessage .GetResponseAsyn c (System.Threading.CancellationToken) System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Exception. () System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task) System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () System.Runtime. 1011 *

Внутреннее исключение 1: AmazonCognitoIdentityProviderException: рассчитанная нами подпись запроса не соответствует предоставленной вами подписи. Проверьте свой AWS секретный ключ доступа и метод подписи. За подробностями обратитесь к документации по сервису.

Внутреннее исключение 2: HttpErrorResponseException: исключение типа 'Amazon.Runtime.Internal.HttpErrorResponseException' было сгенерировано.

1 Ответ

0 голосов
/ 30 января 2020

Проблема несоответствия подписи, которую я получал, была вызвана следующей проблемой:

dll "Amazon.Lambda.DynamoDBEvents" Version = "1.1.0" не был совместим с "AWSSDK.CognitoIdentityProvider" Version = «3.3.4» dll или выше.

И решение состоит в том, чтобы понизить версию Amazon.Lambda.DynamoDBEvents с 1.1.0 до 1.0.0.

...