获取经过身份验证的用户的凭据提供程序

时间:2015-02-10 21:43:38

标签: android amazon-web-services google-plus amazon-cognito credential-providers

我的Android应用程序使用Google Plus登录,我正在尝试将其与Cognito集成。当我运行应用程序时,它会为我提供Cognito Credential Provider ID,当我使用Google Plus登录时,它会为我提供Google令牌。我查看了我的AWS Cognito,它向我展示了这一点。

Unauthenticated connections 3
Google Sign-in 0.

但是当它与谷歌正确签约,并且还提供Google Google令牌时,那么我在哪里做错了?

编辑1:这是我的代码:

Login with Google Plus

Cognito Sync Client Manager

1 个答案:

答案 0 :(得分:1)

将来,您可能希望在应用程序中包含相关代码,以便更好地帮助其他人为您提供帮助。

您是否遵循了integrating identity providers的指南?

同样重要的是要注意CredentialsProvider进行延迟加载,这意味着简单地将令牌添加到提供程序不会关联身份。要确保令牌实际链接到身份,您可以:

  • 拨打使用此提供商的其他服务(例如SyncManager)(推荐
  • 在您的CredentialsProvider上显式调用refresh。 (仅建议用于测试目的

修改1

您是否添加了我在原始答案中建议的测试?如果是这样,如果您收到任何错误怎么办?

您可能需要尝试以下某些步骤来验证配置:

  • 通过jwt.io检查令牌。验证令牌的azp字段是否与输入Cognito控制台的值匹配。
  • 通过IAM console创建一个OpenId Connect提供程序,从Google控制台添加所有客户端ID。使用此提供商代替Amazon Cognito标识池中的基本Google+集成。