0

我想将 Google 的社交身份验证用于应用程序和网站。

使用Google 控制台,我有三种帐户类型可供选择:

  • 服务
  • 网络
  • 已安装

Installed 为我提供了以下选项:

  • 安卓
  • 铬合金
  • iOS

鉴于我支持 iOS 和 Android,我应该为每个创建凭据吗?

也在 AWS Cognito 中。如果我使用这些选项中的每一个的凭据,如果用户在所有平台上进行身份验证,它们最终是否会解析为相同的 Cognito ID?

4

2 回答 2

3

是的,您需要为每个应用程序创建单独的“客户端 ID”。如果它们用于相同的整体应用程序,那么它们应该在同一个项目中。您需要创建单独的客户端 ID 的原因是每个平台都有不同的安全属性,我们需要更多特定于该用例的信息。例如,在 Web 上,我们依靠重定向 url 将令牌返回给您,但在 Android 上,您需要向我们提供证书的包名和哈希。

但是,如果用户在网络上批准您的应用程序一次,然后在 android 上针对相同的范围,您将获得自动批准。

不是 100% 确定 Amazon Cognito,但您应该为同一个用户获得相同的 ID(来自 Google),并且应该绑定到相同的 Cognito ID。顺便说一句,您还应该查看 Google Identity Toolkit。

于 2014-10-02T23:12:09.940 回答
1

Amazon Cognito 和 IAM 已推出通用 OpenID Connect 支持。通过此次发布,您现在可以在 IAM 中创建一个 OpenId Connect 提供程序,其中包含在 Google 控制台中创建的所有客户端 ID。

从那里,您可以在Cognito 控制台中使用该提供商配置您的身份池。之后,Cognito 将能够识别您的应用程序的用户,无论他们使用哪个平台(iOS/Android/Web)进行身份验证。

于 2014-10-23T20:24:46.850 回答