【问题标题】:AWS Cognito remove required attributeAWS Cognito 删除必需的属性
【发布时间】:2021-08-26 02:46:38
【问题描述】:

我创建了一个 Cognito 用户池并使用联合登录(到 Facebook)

然而,当应用程序进入测试时,我发现很多 Facebook 用户没有“电子邮件”,这导致整个登录过程失败!

更糟糕的是,我发现创建用户池后无法删除“必需属性”

也没有办法轻松地将用户从一个池迁移到另一个池(我只使用联合登录,因此不需要密码)

有没有人遇到过同样的问题并提出了解决方案?

【问题讨论】:

    标签: amazon-web-services amazon-cognito


    【解决方案1】:

    据我所知An attribute cannot be switched between required and not required after a user pool has been created。

    我建议你:

    • 想要保留当前的Userpool -> 创建一个lambda函数,然后你可以在预注册步骤添加所需的属性。

    • 如果所有用户都来自 Facebook -> 创建一个新的用户池,然后导出,然后再次导入用户。我认为在这种情况下没有问题,因为 Facebook AppID 相同

    【讨论】:

    • 你能推荐一种简单的方法来导出用户吗?
    • 谢谢。 lambda hook 解决方案是我一开始想到的。但似乎没有为联合身份触发 stackoverflow.com/questions/46923482/… 我将查看导入/导出解决方案。
    • 用户能否对 AWS 资源(IoT、S3)做出反应?还是仅用于应用程序身份验证?
    • 仅适用于应用验证
    • 在这种情况下Identity pool 是不必要的。请尝试 Cognito 用户池触发器。身份池仅在返回 AWS 凭证以响应 AWS 资源的情况下。
    【解决方案2】:

    如果您的属性是必需的,则 cognito 注册调用将由于必需的属性而失败。我很确定它甚至不会触发您的预注册触发器。至少这是我的经验。

    【讨论】:

      猜你喜欢
      • 2017-11-19
      • 1970-01-01
      • 2016-06-25
      • 2020-12-15
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多