我在理解Amazon认知工作流以添加多个登录提供者时遇到了一些问题,下面是一些psedu代码来演示我的问题:
{Code to get CognitoCachingProvider}
Device Cognito ID = A
{Code to get Google Token}
withLogin(Google Token)
if(Identity is changed)
identityListener(
Device Cognito ID = ID in Cognito Pool)
else(
Device Cognito ID = a;
cognitoprovider.setLogin (Google Token);
)
withLogin(Facebook Token);
if(identity is changed)(
*****Device Cognito ID = ID in cognito Pool;*****
cognitoprovider.setLogin(Google TOken);
cognitoprovider.refresh();)
else
(Cognitoprovider.setLogin(Facebook Token);
cognitoprovider.refresh();)所以我真正的问题是在第二步。假设我想将Facebook和Google绑定到一个特定的认知ID。
三个例子:
1)没有分配任何认知标识--指定Google+和Facebook 2)有一个与Google和Facebook分配的认知ID --对Google登录的获取不应影响该认知ID --收购Facebook登录只是作为另一个提供者添加),没有与Google分配的认知ID,而是与Facebook分配的一个:--收购Google Login创建了一个新的、单独的认知ID,立即被Facebook Login的关联认知ID标记覆盖。
对吗?
发布于 2015-03-23 18:44:24
是的,你对前两种情况的理解是正确的。为了更好地说明这一点,在处理多个提供者时有两个概念:链接和合并。链接是指当您在单个设备上登录到提供程序A并已经拥有一个identityId并使用提供者B登录时。在此场景中,identityId将保持不变,提供者B将被链接到现有标识。现在,假设您在设备X上与提供者A登录,在设备Y上与提供者B登录。这两个终端用户(标识)都将拥有他们唯一的identityIds。现在,如果您在设备Y上使用提供者A登录,它将导致这两个标识的合并,并返回一个identityId,其中两个提供程序都将与其相关联。我希望这能消除关于使用多个提供者的任何混淆。
谢谢,
拉希特
https://stackoverflow.com/questions/29198049
复制相似问题