【发布时间】:2020-08-02 03:37:00
【问题描述】:
我正在使用 AWS cognito API 在池中创建用户。正在池中成功创建用户。 以下是该代码。但是这段代码创建了具有 FORCE_CHANGE_PASSWORD 状态的用户,但我想创建处于 UNCONFIRMED 状态的用户。有人可以帮我吗?
AdminCreateUserRequest cognitoRequest =
new AdminCreateUserRequest().withUserPoolId(id)
.withUsername(r.getEmail())
.withTemporaryPassword(r.getPassword().trim())
.withUserAttributes(new AttributeType().withName(Constants.EMAIL).withValue(r.getEmail().trim()))
.withUserAttributes(new AttributeType().withName(Constants.EMAI_VERIFIED).withValue("false"))
.withUserAttributes(new AttributeType().withName(Constants.GIVEN_NAME).withValue(r.getFirstName().trim()))
.withUserAttributes(new AttributeType().withName(Constants.FAMILY_NAME).withValue(r.getLastName().trim()));
【问题讨论】:
-
我认为您可能必须使用永久标志调用
adminSetUserPassword(如this answer,但在上面的链接问题中也有一些其他解决方案。adminCreateUserdocs 说“在任何一种情况下,用户都将处于 FORCE_CHANGE_PASSWORD 状态,直到他们登录并更改密码”,所以我认为仅通过一个 API 调用就不可能做到这一点。 -
是真的吗,boto3.client('cognito-idp') 的工作方式不同,因为当我使用这个 py 脚本时,它会在 UNCONFIRMED 中创建用户,我期待与 java api 有相同的行为。
-
听上去很像,不过你可以去源码看看。
-
我认为 AWS 在技术方面没有偏见,它的特点是 AWS 支持所有技术客户。
标签: amazon-cognito