Проблема входа в AWS cognito для форм Xamarin, NotAuthorizedException: неверное имя пользователя или пароль - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь настроить аутентификацию пользователя cognito с помощью пользовательских пулов и xamarin для моего мобильного приложения (кроссплатформенное)

У меня настроен пользовательский пул с политикой по умолчанию (проход с 8 символами, специальный символ и т. Д.)и создал клиент приложения без секрета клиента.

Итак, когда я запускаю приложение, я могу подписать нового пользователя, затем я получаю код подтверждения по электронной почте, а также я могуподтвердите пользователя, отправив полученный код.

Кажется, все работает нормально, проблема в том, что когда я пытаюсь войти в приложение, я всегда получаю сообщение об ошибке «NotAuthorizedException: Неверное имя пользователя или пароль».и я все перепробовал, жестко запрограммировал пользователя / пароль, пересоздал пул пользователей, изменил политику, и я не могу понять, почему он не работает.

Вот мой код для части аутентификации:

Кнопка входа в систему:

private async void Login(object sender, EventArgs e)
        {
            try
            {
                CognitoHelper cognitoHelper = new CognitoHelper();
                cognitoUser = await cognitoHelper.ValidateUser(UsuarioEntry.Text, PasswordEntry.Text);
                Console.WriteLine(cognitoUser.Username);

            }
            catch (Exception exp)
            {
                Console.WriteLine(exp);
                await DisplayAlert("Error","Unable to validate the username and password","Ok");
            }
        }

Класс CognitoHelper (проверка метода пользователя)

public async Task<CognitoUser> ValidateUser(string username, string password)
    {
        AmazonCognitoIdentityProviderClient provider =
                new AmazonCognitoIdentityProviderClient(new AnonymousAWSCredentials(), REGION);

        CognitoUserPool userPool = new CognitoUserPool(this.POOL_ID, this.CLIENTAPP_ID, provider);

        CognitoUser cognitoUSer = new CognitoUser(username, this.CLIENTAPP_ID, userPool, provider);
        AuthFlowResponse context = await cognitoUSer.StartWithSrpAuthAsync(new InitiateSrpAuthRequest()
        {
            Password = password
        }).ConfigureAwait(false);

        return cognitoUSer;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...