Проблема регистрации с AWS -Укрепление - PullRequest
0 голосов
/ 18 января 2020

Я выполнил настройку для aws -усиления в моем приложении для реакции на следующие обязательные свойства.

обязательныйSignIn, region, uerPoolId, userPoolWebClientId

import Amplify from "aws-amplify";
import config from "./config";

Amplify.configure({
  Auth: {
    mandatorySignIn: true,
    region: config.cognito.REGION,
    uerPoolId: config.cognito.USER_POOL_ID,
    userPoolWebClientId: config.cognito.APP_CLIENT_ID
  }
});

Регистрация была сделано с использованием функции asyn c, как в следующем компоненте реакции.

import React, { useState } from "react";
import { Auth } from "aws-amplify";

function Registration() {
  const [firstName, setFirstName] = useState("");
  const [lastName, setLasttName] = useState("");
  const [email, setEmail] = useState("");
  const [username, setusername] = useState("");
  const [password, setPassword] = useState("");
  const currentConfig = Auth.configure();
  console.log("current", currentConfig);
  const handleRegister = async event => {
    event.preventDefault();
    console.log(firstName, lastName, username, password);
    try {
      const signUpResponse = await Auth.signUp({
        username,
        password,
        attributes: {
          email
        }
      });
      console.log(signUpResponse);
    } catch (err) {
      console.log("ERROR", err);
    }
  };
  return (
    <React.Fragment>
      <form onSubmit={handleRegister}>
        <label>
          First Name
          <input
            type="text"
            id="firstname"
            onChange={({ target: { value } }) => setFirstName(value)}
          />
        </label>
        <br />
        <label>
          Last Name
          <input
            type="text"
            id="lastname"
            onChange={({ target: { value } }) => setLasttName(value)}
          />
        </label>
        <br />
        <label>
          Email
          <input
            type="email"
            id="email"
            onChange={({ target: { value } }) => setEmail(value)}
          />
        </label>
        <br />
        <label>
          User Name
          <input
            type="text"
            id="username"
            onChange={({ target: { value } }) => setusername(value)}
          />
        </label>
        <br />
        <label>
          Password
          <input
            type="password"
            id="password"
            onChange={({ target: { value } }) => setPassword(value)}
          />
        </label>
        <br />
        <input type="submit" value="Submit" />
      </form>
    </React.Fragment>
  );
}

export default Registration;

Но когда я попытался зарегистрироваться, я получаю следующую ошибку в консоли. enter image description here Но когда я проверяю конфигурацию Auth с помощью Auth.configure(), я вижу объект конфигурации с заданными мною свойствами.

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

Ответы [ 2 ]

2 голосов
/ 18 января 2020

Вам необходимо от import awsconfig from '../aws-exports' до Amplify.configure:

Amplify.configure({
    ...awsconfig,
    Auth: {
        mandatorySignIn: true,
        region: config.cognito.REGION,
        uerPoolId: config.cognito.USER_POOL_ID,
        userPoolWebClientId: config.cognito.APP_CLIENT_ID
    }
})

Этот файл появится после запуска amplify init в каталоге root. Дополнительная информация: Усиление Начало работы

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

Как ответил @Alexander, вы должны передать awsconfig в Amplify.configure. В результате вы можете удалить ненужные назначенные параметры.

import awsconfig from './aws-exports';

Amplify.configure({
    ...awsconfig,
    Auth: {
        mandatorySignIn: true,
    }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...