1

我将使用 Eclipse + ADK + AWS libs V2.9 为 Amazon Cognito Sync 演示设置此示例。

  1. 我在 Cognito 控制台中创建了一个身份池,因此我获得了在 CognitoSyncClientManager.java 中使用的身份池 ID:

    private static final String IDENTITY_POOL_ID = "us-east-1:1a23b013-1abc-123-b123-123abc1fe5";
    private static final Regions REGION = Regions.US_EAST_1;**
    

(也许并非所有地区似乎都在测试模式下运行)

  1. 我使用 Eclipse Help>Android>Bild>MD5 指纹和 AndroidManifest.xml 中的包名称在卖家中心注册了我的(开发中)应用程序,因此得到了我的 api_key.txt 值。

  2. AWS doku我得到了我的 Provider URL(作为示例的代码),它在 DeveloperAuthenticationProvider.java 中使用:

    private static final String developerProvider = "cognito-sync.us-east-1.amazonaws.com";
    private static final String cognitoSampleDeveloperAuthenticationAppEndpoint = "arn:aws:iam::123456789123:role/Cognito_TestMyAppAuth_DefaultRole"
    private static final String cognitoSampleDeveloperAuthenticationAppName = "Cognito sync demo";
    

在创建了一些附加到具有 IAM 完全访问权限和(自动)生成的未授权和授权角色角色的组的用户之后,我的应用程序以这种方式运行:

  • Login with Amazon - 正在运行,但他们的数据集将在哪里创建,我是否可以在 AWS 控制台中看到它们?

  • 简单浏览您的数据(无需登录) - 正在运行,未经身份验证的用户及其数据集出现/计入身份控制台

  • 开发人员身份验证失败,用户名或密码不匹配 - 结合 LogCat 中的“无法访问资源...”。

现在我想,这个游戏中最后缺少的东西是参数 cognitoSampleDeveloperAuthenticationAppEndpoint=... 我在哪里可以找到它,我还错过了什么来设置完整运行的示例?

4

1 回答 1

1

感谢您使用 Cognito 演示。回答您的问题

  1. 是的,您可以在 AWS 控制台中查看数据集。导航到 AWS 控制台内的 Cognito 并转到您的身份池。在左侧菜单转到身份浏览器,您将看到身份列表,或者您可以搜索身份。单击身份,您可以看到该身份拥有的数据集。
  2. 开发人员身份验证是一项有助于将您的身份验证系统与 Cognito 集成的功能。为此,您应该有一个服务于用户身份验证请求的后端服务器,并且一旦您对用户进行身份验证,您就可以使用 GetOpenIdTokenForDeveloperIdentity API 调用从 Cognito 为他们请求 OpenId Connect 令牌。开发者提供商名称是您在 AWS Cognito 控制台中为您的身份池设置的名称。要使用示例,您可以按照此博客和服务器端应用程序的自述文件设置示例服务器应用程序。

PS:请避免共享您的身份池ID。

谢谢, 拉希特

于 2015-03-02T06:08:07.457 回答