Cognito 用户池:admin-update-user-attributes:尝试更新默认属性时出错:“email”

Posted

技术标签:

【中文标题】Cognito 用户池:admin-update-user-attributes:尝试更新默认属性时出错:“email”【英文标题】:Cognito user pool: admin-update-user-attributes: errors on trying to update default attribute: "email" 【发布时间】:2021-07-25 18:25:56 【问题描述】:
AdminUpdateUserAttributesRequest request = new AdminUpdateUserAttributesRequest();
        AttributeType data = new AttributeType();
        data.setName("email");
        data.setValue(email);
        request.withUserAttributes(data);
        request.withUserAttributes(
                new AttributeType().withName("email").withValue(email),
                new AttributeType().withName("email_verified").withValue("true")
        );
        request.withUsername(userName);
        request.withUserPoolId(userPoolID);
        cognitoClient.adminUpdateUserAttributes(request);

我正在使用上面的代码来更新现有认知池用户的电子邮件。代码适用于“eu-west-2”区域中创建的用户池,但我在“eu-north-1”中创建了一个新池。

对于新创建的用户池,我收到错误消息“无效的用户属性:电子邮件:无法更新属性 - AWSCognitoIdentityProvider”。我已经交叉检查了两个用户池属性,但在创建此用户池时找不到我错过的内容。

任何想法,为什么 Cognito 不允许我更新现有用户的默认“电子邮件”属性值

【问题讨论】:

【参考方案1】:

未完全确定问题,发现 Cognito 在“eu-north-1”区域发布了用户池的 beta 版本。所以我再次将用户池位置更改为“eu-west-2”,没有其他任何更改。在这个地区工作得很好

【讨论】:

以上是关于Cognito 用户池:admin-update-user-attributes:尝试更新默认属性时出错:“email”的主要内容,如果未能解决你的问题,请参考以下文章

AWS Cognito:Cognito 用户池的元数据 URL 在哪里?

具有多个应用程序的 Cognito 一个用户池

Cognito 用户池域的动态域名前缀

使用 amazon cognito 域 UI(从用户池生成)登录后未获得 cognito 访问令牌?

Cognito 用户池未调用 lambda 函数

使用 Amplify 的 federatedSignIn 使用 Cognito 用户池登录 Facebook