另一个AWS陷阱:Cognito自定义属性
您可以在用户池中为用户定义额外属性。也许您想存储标准属性未涵盖的信息,例如社交资料或首选货币。
但有一个陷阱:
将其添加到用户池后,您无法删除或更改它。
由于这个问题,我不得不删除所有用户并重新创建用户池(幸运的是这是个人开发环境)。
为什么这是个重大问题?
- 您最多只能添加50个自定义属性。这是有限资源
- 您使用代码部署基础设施?现在您无法回滚
- 或者您使用点击操作?请注意您的点击位置,因为这是一条单行道
更糟糕的是,实际上不可能替换用户池。您无法访问密码和MFA密钥(这是好事),这意味着如果您移动用户,所有内容都将为他们重置。包括他们的sub(主题ID),这可能会影响您的数据库。
我会远离使用自定义属性。
更好的解决方案是什么?您可能已经有一些带有数据库的后端:使用它来存储有关用户的任何额外信息。