Я выполнил следующие шаги, чтобы заставить вход в систему Amplify Auth работать на React Native:
- созданный проект с Экспо, изгнанный в ЭкспоКит
- пряжа с добавлением AWS-усиление, пряжа с добавлением AWS-усиление-реагирование-нативный
- Реактивная ссылка
- усиление инициализации
- усилить, настроить
- усилить добавить аутентификацию
- усилить толчок
Запущенное приложение React Native состоит из основного компонента App.js со следующим импортом:
import React, { Component } from "react";
import { StyleSheet, View, Text } from "react-native";
import Amplify, { Auth } from "aws-amplify";
import AWSConfig from "./aws-exports";
Amplify.configure(AWSConfig);
import Tabs from "./Tabs";
Мой основной файл App.js также имеет две вкладки (одна для компонента SignIn, а другая для компонента SignUp).
Мой компонент SignUp выглядит следующим образом:
...
signUp = () => {
Auth.signUp({
username: this.state.username,
password: this.state.password,
attributes: {
email: this.state.email
}
})
.then(() => console.warn("successful sign up!"))
.catch(err => console.warn("error signing up!: ", err));
};
confirmSignUp = () => {
Auth.confirmSignUp(this.state.username, this.state.confirmationCode)
.then(() => console.warn("successful confirm sign up!"))
.catch(err => console.warn("error confirming signing up!: ", err));
};
render() {
return (
<View style={styles.container}>
...
<Button title="Confirm Sign Up" onPress={this.confirmSignUp} />
</View>
);
}
...
Моя проблема в том, что когда я пытаюсь зарегистрировать пользователя, я получаю:
Значение атрибута для номера телефона не должно быть нулевым
Когда я проверяю атрибуты пула пользователей, который был автоматически создан в: Консоль AWS cognito затем
электронная почта
является единственным «обязательным стандартным атрибутом».
Пожалуйста, сообщите.