Cognito - запрос на регистрацию использует не данное имя пользователя, а UUID

Не уверен, чего не хватает, но когда я использую запрос на регистрацию, в моем пуле пользователей cognito создается пользователь с именем пользователя UUID (на самом деле значением дополнительного атрибута), а не с адресом электронной почты.

val signup = new SignUpRequest()
  .withUsername(user.email)  // <- cognito ignore this, and use a UUID for username
  .withClientId(clientId)
  .withSecretHash(secret)
  .withPassword(user.password)
  .withUserAttributes(List(email, givenName, familyName))

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

Электронная почта, которую я использую, выглядит примерно так: [email protected] (действительная электронная почта)

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

val createUser =
  new AdminCreateUserRequest()
    .withUsername(user.email)
    .withUserPoolId(cognitoUserPoolId)
    .withUserAttributes(attributes)

client.adminCreateUser(createUser)

Изменить: теперь со снимками:

Для этого используется API регистрации — image

И это с использованием API создания пользователя:

image

Только регистрация не работает, что я пропустил?


person Tomer    schedule 23.07.2017    source источник


Ответы (1)


Вы должны посмотреть на это: http://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases-settings-option-2

Если вы используете вариант 2, при вызове SignUp имя пользователя заменяется суб.

person Ionut Trestian    schedule 27.07.2017