我需要确保我的应用程序了解我的用户,即使他使用各种受支持的方法(OTP、电子邮件/密码、Google 等)登录。
我该如何做到这一点?
我需要确保我的应用程序了解我的用户,即使他使用各种受支持的方法(OTP、电子邮件/密码、Google 等)登录。
确定登录的是否是同一个“他”是最困难的部分。这是一项产品安全决策,而不是技术决策。
以下是一些常见模式:
等等。
这些选项中的每一个都有相关的威胁模型,由决定如何处理它们。
我该如何做到这一点?
如果您的工作流程很简单(只需检查电子邮件或电话号码等现有属性,无需用户交互),您可以设置一个 预注册 lambda,一旦 Cognito 它将创建一个新用户或链接到现有用户看到来自联合提供商的新身份。
如果您的逻辑更复杂,那么,一旦您确定出于您的目的,Google ID 和 Facebook ID 属于同一个人,您可以通过调用
AdminLinkProviderForUser
将它们链接到 Cognito 中的同一用户个人资料.