将用户从一个 AWS Cognito 池迁移到另一个并保持 CognitoId/Sub 值

Chr*_*low 7 amazon-web-services amazon-cognito

最近发布的 AWS Cognito 现在允许用户名输入不区分大小写,但是您无法在当前用户池上启用它,并且需要创建一个新的用户池,然后将用户迁移到其中...

因此,我创建了一个新的用户池,并且迁移 lambda 成功运行,但我遇到了最后一个问题。我们在其他系统中使用 CognitoId 作为主键,现在当我从 UserPool A 迁移到 UserPool B 时,它会创建一个新的 CognitoId,并且似乎不可能(从我所看到的)手动设置 CognitoId / Sub 作为新池中前一个池的值。

有没有人以前遇到过这个问题并解决过这个问题,因为更新对新密钥的所有引用并不容易。(新的 CognitoId 也不会返回到进程中的任何函数)

sta*_*kOp 0

Cognito Sub 是在创建用户时由服务在内部生成的。它是不可变的,不能被分配新值。 从旧用户池存储“sub”的一种方法是将其存储在新用户池的自定义属性中。您可以检查 ID 令牌中的自定义属性声明,以从现有系统访问用户数据。

自定义属性仅在Cognito ID 令牌中可用。如果您当前在其他系统中使用 Cognito 访问令牌,则此方法不适合您。