在我的网络应用程序中,我希望允许用户使用2个可能的提供商(Facebook,Google)登录并使用AWS Cognito检索凭据。
根据我的理解,如果用户(john@domain.com)使用他的Facebook帐户登录,Cognito IdentityId将与使用他的Google帐户登录时不同。
假设用户使用相同的电子邮件地址(john@domain.com)登录他的Facebook和Google帐户,如何确保该用户在Cognito中拥有一个唯一的IdentityId < / STRONG>?
我不希望用户拥有2个不同的IdentityId。如果我能将john@domain.com与单个IdentityId相关联,那就太好了。
答案 0 :(得分:1)
Cognito不知道帐户注册的电子邮件。如果同一个用户在两个不同的设备上使用facebook进行身份验证,而另一个使用google进行身份验证,则会提供两个不同的ID。
然而,可以告诉他们他们是联系在一起的。如果同一个用户在一台设备上登录Facebook,他们就会获得身份A.如果他们要通过在与Cognito通信时包含两者的登录令牌将身份A链接到他们的Google帐户,那么Cognito会知道他们与之关联,以及与两个提供商之一的任何未来身份验证都会给出相同的ID。
如果在Cognito被告知链接它们之前Facebook和谷歌已经链接到id,那会有所偏差 - 在这种情况下,使用的id可能是两者之一。