【问题标题】:Android Amazon AWS Cognito Workflow confirmationAndroid Amazon AWS Cognito 工作流确认
【发布时间】:2015-05-25 17:20:58
【问题描述】:

我在理解用于添加多个登录提供商的 Amazon AWS Cognito 工作流程时遇到了一些问题,这里有一些 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 都绑定到特定的 Cognito ID。

三个例子:

1) 没有分配 Cognito ID - 分配 Google+ 和 Facebook 2)有一个谷歌分配的认知ID,没有Facebook - 获取 Google 登录不应影响 Cognito ID - 收购 Facebook 登录只是简单地添加为另一个提供商 3) 没有分配给 Google 的认知 ID,但分配给 facebook: - 获取 Google 登录会创建一个新的独立 cognito ID,该 ID 会立即被 Facebook 登录令牌的关联 Cognito ID 覆盖

对吗?

【问题讨论】:

    标签: android facebook amazon-web-services amazon-cognito


    【解决方案1】:

    是的,您对前两种情况的理解是正确的。为了更清楚地说明这一点,Amazon Cognito 在与多个提供商打交道时有两个概念:链接和合并。链接是当您在单个设备上使用提供商 A 登录并且已经有一个 identityId 并且您使用提供商 B 登录时。在这种情况下,identityId 将保持不变并且提供商 B 将被链接到现有的身份。现在让我们假设您在设备 X 上使用提供商 A 登录,在设备 Y 上使用提供商 B 登录。这两个最终用户(身份)都将拥有其唯一的身份 ID。现在,如果您在设备 Y 上使用提供商 A 登录,这将导致这两个身份的 merge 并返回给您一个 identityId,这两个提供商都与之关联。我希望这可以消除有关使用多个提供程序的任何困惑。

    谢谢,
    拉希特

    【讨论】:

      猜你喜欢
      • 2020-02-08
      • 1970-01-01
      • 2018-04-19
      • 2020-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-01
      • 2021-06-02
      相关资源
      最近更新 更多