AWS Cognito -> SSO 协调

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

我需要确保我的应用程序了解我的用户,即使他使用各种受支持的方法(OTP、电子邮件/密码、Google 等)登录。

我该如何做到这一点?

amazon-web-services amazon-cognito
1个回答
0
投票

我需要确保我的应用程序了解我的用户,即使他使用各种受支持的方法(OTP、电子邮件/密码、Google 等)登录。

确定登录的是否是同一个“他”是最困难的部分。这是一项产品安全决策,而不是技术决策。

以下是一些常见模式:

  • 信任 Google 和 Facebook 令牌中的电子邮件声明
  • 让用户通过额外的确认步骤明确链接他们的帐户(通过 Google 登录,通过 Facebook 登录;单击“合并帐户”)
  • 要求每个帐户提供电子邮件或电话号码确认,如果电子邮件或电话号码匹配则合并帐户

等等。

这些选项中的每一个都有相关的威胁模型,由决定如何处理它们。

我该如何做到这一点?

如果您的工作流程很简单(只需检查电子邮件或电话号码等现有属性,无需用户交互),您可以设置一个 预注册 lambda,一旦 Cognito 它将创建一个新用户或链接到现有用户看到来自联合提供商的新身份。

如果您的逻辑更复杂,那么,一旦您确定出于您的目的,Google ID 和 Facebook ID 属于同一个人,您可以通过调用

AdminLinkProviderForUser
将它们链接到 Cognito 中的同一用户个人资料.

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