Здравствуйте. Я пытаюсь использовать встроенные компоненты Angular для аутентификации.
Я создал Cognito и API с помощью Amplify.
Пул пользователей Cognito не может быть изменен.
Вот скриншот, где вы также можете увидеть настройки:
Я инициализировал компонент следующим образом:
<ion-content padding>
<amplify-authenticator [signUpConfig]="signUpConfig" framework="ionic"></amplify-authenticator>
</ion-content>
Мой класс содержит это для signUpConfig:
constructor(
public events: Events,
public amplifyService: AmplifyService,
public router: Router
) {
this.authState = { signedIn: false };
this.signUpConfig = {
header: "SignUp",
defaultCountryCode: '30',
hideAllDefaults: true,
signUpFields: [
{
label: 'Mobile-Username',
key: 'username',
required: true,
displayOrder: 1,
type: 'string'
},
{
label: 'Mobile',
key: 'phone_number',
required: true,
displayOrder: 2,
type: 'string'
},
{
label: 'Password',
key: 'password',
required: true,
displayOrder: 3,
type: 'password'
},
{
label: 'Email',
key: 'email',
required: true,
displayOrder: 4,
type: 'email'
},
{
label: 'Name',
key: 'name',
required: true,
displayOrder: 5,
type: 'string'
},
{
label: 'Surname',
key: 'family_name',
required: true,
displayOrder: 6,
type: 'string'
},
{
label: 'Address',
key: 'address',
required: true,
displayOrder: 7
},
{
label: 'Gender',
key: 'gender',
required: true,
displayOrder: 8
}
]
};
}
К сожалению, я должен включить
{
label: 'Mobile-Username',
key: 'username',
required: true,
displayOrder: 1,
type: 'string'
},
для заполнения имени пользователя номером мобильного телефона, поскольку Cognito UserPool ожидает username
и mobile number
, хотя из настроек ясно, что мне нужно только мобильное имя пользователя.
Если я оставляю первую запись из моего signUpFields
, я всегда получаю сообщение об ошибке от сервера, что username cannot be empty
.
Что я должен делать, особенно сейчас, когда я не могу вносить изменения в свой пул пользователей. Я полагаю, что это связано с тем, что я использовал Amplify CLI для его настройки.