Когда я запускаю свое приложение в док-контейнере в Elastic beanstalk, я замечаю эту ошибку. Извлечение пользователей и операции входа в систему работают нормально, но попытка создать нового пользователя выдает эту ошибку.
При локальном разработке с использованием того же экземпляра Cognito проблема не возникает. Я предполагаю, что это как-то связано с получением разрешений из роли IAM, прикрепленной к экземпляру эластичного бобового стебля.
К профилю экземпляра IAM для экземпляра эластичного beanstalk прикреплена политика AmazonCognitoPowerUser. Это та же политика, что и для пользователя, которого я использую для локальной разработки
Трассировка стека:
System.IO.InvalidDataException: Cannot determine protocol
at Amazon.Runtime.Internal.Signer.SignRequest(IRequestContext requestContext)
at Amazon.Runtime.Internal.Signer.PreInvoke(IExecutionContext executionContext)
at Amazon.Runtime.Internal.Signer.InvokeAsync[T](IExecutionContext executionContext)
at Amazon.Runtime.Internal.CredentialsRetriever.<InvokeAsync>d__7`1.MoveNext()
Соответствующий код, где появляется ошибка:
private static AmazonCognitoIdentityProviderClient Client => new AmazonCognitoIdentityProviderClient(Amazon.RegionEndpoint.APSoutheast2);
var signUpRequest = new SignUpRequest
{
ClientId = AWSCognitoClientId,
Username = email,
Password = password
};
await Client.SignUpAsync(signUpRequest);
Я не уверен, что это ошибка в sdk или неправильная конфигурация экземпляра эластичного бобового стебля