我们使用自定义用户身份验证服务实现了开发人员身份提供程序,并且我们已经连接了一个身份池,并保存了许多身份。现在,我们正在评估将用户表移动到连接到同一身份池的用户池并使用移动中心库。
问题是:导入后,Cognito是否可以检测到身份池中是否已存在具有特定用户名的用户并且不再创建(使用其他身份)?自我注册已激活。
更新澄清: 我们的身份池有近1000个现有身份。所有这些都是在用户池功能存在之前创建的。它们是使用" Developer Authenticated Identities Authflow" (check link),以及外部"开发者提供商"是一个简单的用户表。标识池中的每个identityId都与外部用户表中的现有标识(记录)相关联。
现在,我们希望在iOS应用程序中使用AWS Mobile-hub lib,并使用与现有标识池连接的用户池。我们希望开始向用户池添加新用户,但对于现有用户,他们已经在身份池中创建了身份。在那种情况下该怎么办?
似乎是,在首次登录时,Cognito没有一种机制来检测用户是否已经拥有由另一个身份验证流程(Facebook,开发者提供商)创建的IdentityId。
答案 0 :(得分:0)
你可以做一些事情,因为正如你所说,Cognito并没有完全为你处理这个问题。
如果您都在使用用户池,则可以使用导入用户功能来转移用户。
或者,在登录时,您可以检查用户表中是否存在用户名。如果是这样,您可以通过它进行签名,或者您可以将它们转移到用户池,然后使用延迟加载。