【问题标题】:AWS Mobile Hub Custom authentication in androidandroid 中的 AWS Mobile Hub 自定义身份验证
【发布时间】:2015-12-12 15:12:47
【问题描述】:

我们正在将 AWS Mobile Hub SDK 用于 android 应用程序。我们有两个选项可以使用 Facebook 和自定义电子邮件登录来登录应用程序。为此,在构建选项下的 AWS Mobile Hub 控制台中,我们为 android 平台启用了这两个选项。

  1. 脸书
  2. 自定义

然后构建将生成示例源包的包。我们将示例源码包集成到应用程序中,以便使用移动 HUB 登录到应用程序中。

现在我想知道自定义登录。为此,我看到在 AWS 中它被称为开发人员身份验证身份。我研究了 AWS Cognito 开发者身份验证developer-authenticated-identities

我可以运行 AWS Cognito 开发人员身份验证的示例应用程序here

我看到,对于开发人员而言,经过身份验证的身份涉及最终用户设备、第三方身份验证后端之间的交互。我们为创建新用户帐户创建 RESET API,并通过使用我们的 android 应用程序登录来验证用户。

我们的后端注册 API 可以将新用户创建到系统中并在身份池下生成新的身份 id 并从 AWS 获取令牌。它存储在后端数据库中。

在 android 应用程序中,当用户尝试登录时,我们进行登录调用,它将返回 令牌 ID 和身份 ID 在这里我无法理解我们必须在哪里传递这个令牌 ID 和身份ID。因为我们已经实现了 Facebook 登录。它工作正常。我可以看到 facebook 登录的构建包。我们有 Identity Manager 类具有提供 AWSCredentialProvider 的方法。我们使用两个主要的类/接口 Identity ProviderIdentity Manage 来访问 Dynamodb。

如何使用令牌和身份 ID 访问 AWS 资源?。

如果有人知道如何在 android 应用程序中实现,请帮助我完成它?

谢谢

【问题讨论】:

    标签: android authentication amazon-web-services amazon amazon-dynamodb


    【解决方案1】:

    您需要在CognitoCachingCredentialsProvider 内的登录映射中设置此令牌。步骤应该是

    1. 获取当前登录信息
    2. 在登录映射中添加密钥 cognito-identity.amazonaws.com 和令牌作为值
    3. 在凭据提供程序中设置登录名

    下次刷新时,您将获得与后端生成的身份相关联的凭据。您甚至可以通过在凭据提供程序上调用 refresh 方法自行强制刷新。

    您链接的文档和this post 中对此过程进行了很好的解释。我们的Android sample application 还演示了使用开发人员身份验证的身份,您可以以此作为入门指南。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-28
      • 2018-12-21
      • 1970-01-01
      • 2020-04-01
      • 2022-12-10
      • 2023-01-26
      • 1970-01-01
      • 2019-02-15
      相关资源
      最近更新 更多