AWS Cognito - 用户丢失“不可变”属性“email_verified”

2023-12-03

使用 Cognito 几个月后,用户池中的一些用户现在丢失了“email_verified”属性。我不明白它是如何丢失或如何恢复的。

症状是:

  • 用户仍然可以登录
  • 用户密码无法更改(例如通过JS SDK-更改密码),产生错误:“x-amzn-errormessage:无法重置用户密码,因为没有注册/验证的电子邮件或电话号码”
  • 获取用户的用户属性列表用户 CLI显示该属性缺失

    aws cognito-idp list-users --user-pool-id MYID-123 --query 'Users[?Username==`[email protected]`].[*]'
    [
      [
        [
            "[email protected]", 
            true, 
            "CONFIRMED", 
            1522127817.526, 
            1522127819.369, 
            [
                {
                    "Name": "sub", 
                    "Value": "123123123341241238"
                }, 
                {
                    "Name": "email", 
                    "Value": "[email protected]"
                }
            ]
         ]
      ]
    ]
    

    与具有该属性的人相比

    aws cognito-idp list-users --user-pool-id MYID-123 --query 'Users[?Username==`[email protected]`].[*]'
    [
      [
        [
            "[email protected]", 
            true, 
            "CONFIRMED", 
            1524048734.588, 
            1524048737.777, 
            [
                {
                    "Name": "sub", 
                    "Value": "1231231231231235"
                }, 
                {
                    "Name": "email_verified", 
                    "Value": "true"
                }, 
                {
                    "Name": "email", 
                    "Value": "[email protected]"
                }
            ]
          ]
       ]
     ]
    

如果我尝试删除该属性(具有足够的权限),它会失败 - 正如人们所期望的 - 解释它是不可变的。

aws cognito-idp admin-delete-user-attributes --user-pool-id MYID-123 --username [email protected] --user-attribute-names email_verified

An error occurred (InvalidParameterException) when calling the AdminDeleteUserAttributes operation: Cannot modify the non-mutable attribute email_verified

除了归咎于 AWS Cognito 之外,我找不到此问题的原因。

解决方法/黑客/补丁是将属性添加回来,这一次,非可变检查不是问题

aws cognito-idp admin-update-user-attributes --user-pool-id MYID-123 --username [email protected] --user-attributes Name=email_verified,Value=true

现在用户再次拥有该属性,我可以重置密码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AWS Cognito - 用户丢失“不可变”属性“email_verified” 的相关文章

  • Athena 只能看到 Kinesis Analytics 写入 Firehose 的第一条 JSON 记录

    我正在使用 Kinesis Analytics 从 Kinesis Firehose 读取 JSON 我成功过滤掉一些记录并将 JSON 属性的子集写入另一个 Firehose 我想对通过目标 Firehose 写入 S3 的数据执行 At
  • AWS Application Load Balancer 将所有标头转换为小写

    我有一个 REST API 应用程序在两个 EC2 实例中运行 并且长期使用 AWS Classic Load Balancer REST API 的客户端依赖于响应标头 例如Location 我知道 HTTP 标头根据定义是不区分大小写的
  • 如何使用 C# 在 Amazon Dynamo DB 中为 Json 属性(列值)创建全局二级索引?

    我有一个包含 Id 列和 JSON 列的表 Id JSON 101 person id 456 f name t l name Jack 102 person id 123 f name M l name Ron 103 person id
  • ELB 是否用于出站流量?

    ELB 弹性负载均衡器 可用于通过向 ELB 分配公共 IP 来使一些计算实例 EC2 位于公共子网中 面向公众 面向互联网 客户端可以在其中与 ELB 通信 Case 1 公有子网中的 EC2 实例 只有私有 IP 通过 ELB 接收 h
  • Cloudfront 异常“If-Match 版本缺失或对资源无效。”更新分布时

    使用 AWS Node SDK 更新 Cloudfront 发行版时出现以下异常 message The If Match version is missing or not valid for the resource code Inva
  • 如何使提供程序假设_角色块有条件

    我有一个provider我想给的块assume role属性 但前提是它没有在我的本地计算机上运行 我定义了一个变量islocal在所有环境中 tfvars文件 只有本地文件具有该值true 这是provider block provide
  • Django 尝试使用错误的数据库用户

    已解决 我使用的是 USERNAME 而不是之前尝试使用 Postgres 驱动程序时使用的 USER 我正在尝试将我的 django 项目连接到 RDS MySQL 数据库 我可以在 MySQL Workbench 和 mysql 命令行
  • aws eb deploy 不加载环境变量

    我正在通过 eb deploy 将 symfony 项目部署到 ec2 实例 aws linux 2 部署后迁移脚本运行良好 但当我尝试使用 ec2 user 运行 symfony 命令时 出现有关数据库凭据错误的错误 这是因为我推送了带有
  • 自动提取S3中的.gz文件

    我正在尝试找到一种解决方案 以便在 ALB 日志文件自动从 ALB 上传到 S3 时提取 gz 格式的 ALB 日志文件 我的桶结构是这样的 log bucket alb 1 AWSLogs account number elasticlo
  • 使用 Terraform 创建/销毁 AWS 帐户?

    我正在尝试创建一个工具来轻松创建和销毁我的 AWS 组织中的 AWS 账户 或者至少将其从组织中删除 如果无法删除 这些帐户将成为沙盒 预算很少 并在几周后被销毁 我发现 Terraform 有一个特定的资源 称为aws 组织 帐户 htt
  • 自动缩放时如何更改新实例标签名称

    我在我的设备上创建了一个新闹钟AWS基于我也创建的指标的帐户 我用这个警报来自动缩放 当启动我正在使用的新实例时User Data字段来设置这个新实例 我面临的唯一问题是我无法修改标签 特别是标签Name 这个新实例 如果我不更改它 所有新
  • 使用 Ruby 获取 AWS 区域名称

    我正在为 AWS 开发 Rails 应用程序 并希望为区域名称创建下拉菜单 例如 us east 1 等 如果有人已经创建了 gem 来获取它们 我想使用它 有人知道这样的 gem 或有用的 API 吗 适用于 Ruby 的 AWS 开发工
  • Redis 客户端忽略其上设置的配置选项并尝试连接到默认 IP 127.0.01

    在AWS中 我使用ElastiCache Redis服务器并使用节点作为后端和 promise redis 包 这就是我尝试连接到我的 redis 服务器端点的方法 client redis createClient host my red
  • 您可以克隆 AWS lambda 吗?

    针对不同环境的克隆 分期 QA PROD DEV 等 有没有一种快速简单的方法来克隆我的 lambda 给出不同的名称并从那里调整配置 您需要在新帐户中重新创建 Lambda 函数 转到 lambda 函数 单击 操作 并导出您的函数 下载
  • 从 Power BI Web 刷新 AWS RDS 数据库

    我在 Power BI Desktop 中创建了一个报表 连接到 AWS RDS 数据库 并将其发布到 Power BI Web 应用程序 目的是从 Web 应用程序刷新数据集 我尝试使用 MySQL 和 SQL Server 在 RDS
  • AWS EMR 引导操作为 sudo

    我需要更新 etc hosts适用于我的 EMR 集群 EMR AMI 4 3 中的所有实例 整个脚本无非就是 bin bash echo e ip1 uri1 gt gt etc hosts echo e ip2 uri2 gt gt e
  • 如何将 AWS Kinesis Video Stream GetMedia API 输出解码为 mp3/wav?

    我现在使用 GetMedia API 通过 AWS Connect 服务将数据提取到 Kinesis Video Stream KVS 我能够提取Payload但如何将此输出转换为 mp3 wav 我想将此输出提取到 AWS Transcr
  • Laravel 作业推送至 Amazon SQS 但未处理

    我正在运行 Laravel 5 3 我正在尝试测试队列作业 并且我已将队列配置为使用 Amazon SQS 我的应用程序能够将作业推送到队列中 并且我可以在 SQS 中看到该作业 但它留在那里 从未被处理 我尝试过跑步php artisan
  • 使用 python 写入 aws lambda 中的 /tmp 目录

    Goal 我正在尝试将 zip 文件写入 python aws lambda 中的 tmp 文件夹 因此我可以在压缩之前提取操作 并将其放入 s3 存储桶中 Problem 操作系统 Errno30 只读文件系统 这段代码在我的计算机上进行
  • 为什么从浏览器上传到 S3 时出现 403 错误?

    因此 我尝试查看此处之前的答案 但似乎没有任何效果 我正在使用 Dropzone 它似乎发出 OPTIONS 请求来获取所有允许的 CORS 相关信息 但它似乎没有正确返回 因此 通过查看 Chrome 开发工具 我有以下请求标头 Host

随机推荐