目标是实现社交提供程序身份验证流程,如用户池应用程序集成和联合中所述.
我想要满足的一个重要事项是合并具有相同电子邮件地址的用户池帐户.
我通过在PreSignUp_ExternalProvider cognito lambda触发器中调用adminLinkProviderForUser来实现这一点.
因此,一切正常.新社交提供的用户正在注册并与现有的Cognito(用户+密码)用户链接.
但是,从用户的角度来看,身份验证流程尚未完成.它在调用回调uri(在cognito用户池中定义)的最后一步失败:
错误:invalid_request
error_description:已找到用户名Facebook_10155611263152353的条目
但是,如果用户重试社交身份验证流程,则一切正常,并且会获得代表原始Cognito用户池用户(已经拥有该电子邮件的用户)的会话令牌.
请注意,我正在测试空用户池上的auth流,零用户帐户.
amazon-web-services oauth-2.0 amazon-cognito amazon-cognito-facebook
我们有一个 Cognito 用户池,我们希望将其迁移到新的用户池以利用一些不同的配置。但是,我们的池包含通过电子邮件、Google 和 Facebook 注册的用户。
我了解如何迁移电子邮件/密码帐户,但我不了解应如何迁移社交帐户。
从这个问题中,我可以看到没有办法使用不同的身份验证流程,所以我猜社交帐户也存在一些限制?
我们想到的一种方法是实际手动导入社交帐户。这是将社交帐户迁移到新池的正确方法吗?是否有不同的“AWS 赞助”方法?任何帮助,将不胜感激!
谢谢!
我有 Cognito 设置,支持多个身份提供商(Cognito 用户池、Facebook 和 Google)登录。在我的用户池配置中,我将电子邮件用作用户名。所需的功能是让用户名在所有身份提供者中都是唯一的。即如果用户使用 Facebook 登录并且他们的 facebook 电子邮件是“user@test.com”,然后他们使用 Google 登录并且他们的谷歌电子邮件是“user@test.com”,那么他们应该无法登录或他们的联合身份应该合并。
这是连接设备的用户管理。我不希望用户在登录 Facebook 时设置一些设备,然后使用 Google 登录并且无法从他们的 Facebook 帐户看到他们的设备。
我知道这会变得很复杂,因为您只需一个电话号码就可以创建一个 Facebook 帐户。
我知道 Cognito 用户池中有一个预身份验证触发器,但是当我使用联合身份登录时它似乎没有触发。无论我使用哪个身份提供者(用户池、Facebook、谷歌),是否有我可以使用的触发器?
谢谢,
目前,Cognito 允许将联合用户(从外部身份提供商登录的用户,如Google)合并到本机用户(通过用户名和密码组合注册的用户)。
有没有办法将现有的联合用户与新的本机用户合并?