Аутентификация пользователя с помощью AWS Cognito из веб-браузера - PullRequest
0 голосов
/ 08 мая 2020

Я хочу аутентифицировать пользователя и получить токен идентификатора (jwt), используя JavaScript в веб-браузере. Для этого я создал простую страницу входа (в моем пуле пользователей Cognito есть несколько подтвержденных пользователей) в файле html:

<!DOCTYPE html>
<html lang="en">
<head> </head>
<body>
<form
  name="authenticate"
  onsubmit="return testAuthenticateUser(email.value, password.value);"
>
  <div>
    <input type="text" placeholder="Enter Email" name="email" id="email" />
  </div>
  <div>
    <input type="text" placeholder="Enter Password" name="password" id="password" />
  </div>
  <button type="submit"> login </button>
</form>
<script src="amazon-cognito-identity.min.js"></script>
<script>
  const poolData = {
      UserPoolId: "",
      ClientId: "",
    },
    poolRegion = "",

  var loginKey =
    "cognito-idp." + poolRegion + ".amazonaws.com/" + poolData.UserPoolId;

  async function testAuthenticateUser(email, password) {
    var authenticationData = {
      Username: email,
      Password: password,
    };
    var authenticationDetails = new AmazonCognitoIdentity.AuthenticationDetails(
      authenticationData
    );
    var userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
    var userData = {
      Username: email,
      Pool: userPool,
    };
    var cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData);
    cognitoUser.authenticateUser(authenticationDetails, {
      onSuccess: function (result) {
        console.log(result);
      },
      onFailure: function (err) {
        console.log(err);
      },
    });
  }
</script>

Отправив адрес электронной почты и пароль, он должен вернуться. токен сеанса и информация о пользователе, но он выдает следующую ошибку на консоли отладки браузера всякий раз, когда я отправляю:

Object { code: "NetworkError", name: "Error", message: "Network error" } 

Ошибка не имеет для меня никакого смысла, и я не знаю, какой шаг неправильно. Как я могу аутентифицировать пользователя из веб-браузера? Тот же код будет работать с использованием Node-js на сервере.

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