Cognito auth流程失败,“已找到用户名Facebook_10155611263153532的条目”

问题描述 投票:6回答:1

目标是实现User Pools App Integration and Federation中描述的社交提供者身份验证流程。

我想要满足的一个重要事项是合并具有相同电子邮件地址的用户池帐户。

我通过在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
1个回答
0
投票

是的,这是目前的设置方式。如果您尝试使用PreSignUp触发器链接用户,则第一次将无效。处理此问题的更好方法(我认为)是在您的UI中提供一个选项,以便在登录时链接外部帐户。在预注册触发器中,搜索具有相同唯一属性(例如电子邮件)的用户,并查看注册是否来自外部提供商。然后显示已存在的电子邮件等消息。登录并使用此菜单/选项进行链接。虽然没有测试过这个。

© www.soinside.com 2019 - 2024. All rights reserved.