是否可以将开发者身份与来自外部提供者的身份合并?

时间:2016-04-28 08:48:58

标签: amazon-cognito

在我们的应用程序中使用Facebook和我们自己的开发人员身份验证提供程序。乍一看,链接和合并概念看起来非常简单,但找出问题的答案却是非常棘手的。文档明确表示可以合并两个开发者身份,但这不是我想要的。

什么应该是一系列调用以及我应该通过哪些参数来获取FB和开发者身份的身份合并?在这种情况下,我甚至不确定这是合并还是链接。

1 个答案:

答案 0 :(得分:4)

可以将开发人员身份验证的身份与Facebook相关联。高级步骤可能看起来像这些

  1. 用户针对您的后端进行身份验证
  2. 成功进行身份验证后,您将使用开发人员提供商名称和用户标识符(用户名)更新应用程序中的登录映射,并在凭据提供程序上调用刷新。
  3. 这应该从您的应用程序调用您的后端,传递当前的identityId和登录映射。然后使用后端http://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetOpenIdTokenForDeveloperIdentity.htmls
  4. 中的数据调用GetOpenIdTokenForDeveloperIdenity
  5. 当用户使用Facebook登录时,您可以在现有登录地图中添加Facebook令牌,并在凭证提供程序上调用刷新。现在应该调用步骤3,但是你的后端将收到带有两个键的登录映射1.开发者提供者名称:用户标识符和2.' graph.facebook.com' :facebook令牌。现在,当您调用GetOpenIdTokenForDeveloperIdenity时,您应该使用这两个键设置登录映射,它将链接该标识。
  6. 有关实施的详细信息,请参阅此文档和http://docs.aws.amazon.com/cognito/latest/developerguide/developer-authenticated-identities.html,并参阅“支持提供商之间的转换”