Cognito - 注册请求不使用给定的用户名,而是使用UUID

时间:2017-07-23 14:01:48

标签: amazon-web-services amazon-cognito aws-cognito

不确定缺少什么,但是当我使用注册请求时,会在我的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))

查看documentation当电子邮件的值无效时,将使用UUID。

我使用的电子邮件类似于:roc.roc+test@foo.com(这是一封有效的电子邮件)

顺便说一句,当我使用AdminCreateUserRequest api时,会使用电子邮件将其创建为预期的用户名。

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

client.adminCreateUser(createUser)

修改: 现在有了快照:

这是使用注册api - image

这是使用create user api:

image

只有注册不起作用,我错过了什么?

1 个答案:

答案 0 :(得分:2)

你应该看看这个:http://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases-settings-option-2

如果您使用选项2,使用SignUp调用,用户名将替换为子。