在 Android 上使用 Google 身份提供程序进行 Cognito 用户池身份验证

Bon*_*255 5 android amazon-web-services amazon-cognito google-signin aws-userpools

概括:

我找不到使用我的 Cognito 用户池对 Google 用户进行身份验证的 Android 代码。

细节:

这是我到目前为止所做的:

  1. 在该用户池中创建了 Cognito 用户池和用户客户端
  2. 在 Google Console 中创建了一个 Google Web App
  3. 在我的 Cognito 用户池中将 Google 配置为联合身份提供商(提供 Google 客户端 ID 和机密)
  4. 从 AWS 控制台尝试托管 UI 并验证我能够使用我的 Google 凭证登录,用户将在用户池中创建。

好的,下一步:在 Android 中实现登录流程。我想在我的 Android 应用程序中实现 Google 登录和用户名密码注册/登录。我能够在我的应用程序中成功实现用户名/密码注册和登录流程,方法如下:

  1. CognitoUserPool使用我的用户池 ID 和用户客户端 ID创建一个实例
  2. 我使用的方法signUpInBackgroundgetSessionInBackgroundCognitoUserPoolCognitoUser分别。

现在,我想启用 Google 登录。我找不到有关如何使用 CognitoUserPool 执行此操作的任何代码。我找到了使用 Cognito Identity Pool 执行此操作的代码示例。但是我还没有创建身份池,因为我可以在托管 UI 示例上使用 Google 登录,所以我很确定我不需要它。

问题:

  1. 我真的需要身份池才能在我的 Android 应用程序上启用 Google 登录吗?为什么?
  2. 如果没有,是否有任何代码示例显示如何使用 CognitoUserPools 启用 Google 登录?

任何指针表示赞赏。