gpt4 book ai didi

amazon-web-services - 对认知的使用/需要感到困惑

转载 作者:行者123 更新时间:2023-12-04 23:41:29 24 4
gpt4 key购买 nike

因此,由于 parse 关闭,我们正在将我们一直在开发的网站/移动应用程序迁移到 AWS。我们将主要使用以下服务:
SNS、SES、Dynamo、S3、Lambda。
现在我仍然有点困惑:

  • 认知是用来做什么的?我们真的需要 Cognito 来验证用户身份并使用 DynamoDB、S3、SNS 吗?或者我们可以为这些服务中的每一个使用特定的 API 并直接连接(使用 Js SDK)?
  • 如果我们必须使用 cognito,我们如何保存本地数据,即登录的用户/身份?这是认知同步的目的还是我们必须使用 cookie?

  • 总之,当我可以使用 JavaScript SDK 直接连接到 DynamoDB 时,为什么我需要 cognito?!
    先感谢您。

    最佳答案

    Amazon Cognito可以分解为两个子服务:Amazon Cognito IdentityAmazon Cognito Sync .

    将前者视为身份验证服务和凭据提供程序。后者只是一种存储用户数据并在多个设备之间保持同步的服务。

    Amazon Cognito Identity 的目的是什么?

    假设您在 DynamoDB 中有一个表。假设您有一个将在该表上存储项目的 Web 应用程序。

    您可以在 IAM 中创建一个用户,将凭证信息嵌入到 Web 应用程序中,然后使用 AWS 开发工具包将项目放在表中。

    这里发生了三件事:

  • 凭据嵌入在应用程序中
  • 凭据不会过期。
  • 您的应用程序中的每个用户都对您的表具有相同的访问权限

  • 这对于某些应用程序可能没问题,但是 Amazon Cognito Identity为这些常见问题提供了解决方案。

    让我解释一下 Cognito Identity 的工作流程:
  • 用户在您的应用程序上注册一个帐户,将所有信息(用户名、密码、其他数据...)发送到您的服务器。
  • 服务器将用户存储在某个后端数据库(可以是 DynamoDB 表)中,并在 Cognito 服务上创建新身份。然后将该身份映射到该用户。
  • 用户现在可以登录到您的应用程序。用户登录并将用户名和密码发送到您的服务器。 (此过程可在注册帐户后自动完成)
  • 服务器根据您的后端数据库检查用户名和密码。如果一切正常,服务器会向 Amazon Cognito 发出一个临时访问 token 的请求。
  • Web 应用程序接收 token 并向 Amazon Cognito(使用该访问 token )发出请求以获取用户凭证。这些凭证基本上是专门为此用户创建的临时 IAM 用户。它将有一个到期时间(通常是一个小时)。
  • Web 应用程序使用这些凭证在 AWS 上进行操作,例如将项目放在 DynamoDB 表上,或调用 Lambda。
  • 当凭据过期时,用户必须重新登录到应用程序。这可能会自动完成,也可能不会,这取决于您的应用程序的要求。

  • 在 Amazon Cognito 控制面板上,您可以为您的“身份”(Cognito 中的用户)配置角色和策略。这样您就可以指定它可以访问哪些服务。它甚至允许您为您的用户创建访问角色(管理员用户可能能够访问一些普通用户不应该访问的服务)。

    我还应该注意到,Amazon Cognito 可以很容易地适应支持 Facebook/Google+/Amazon 帐户,这些帐户将映射到相同的身份,因此用户可以通过多个来源登录。

    Amazon Cognito Sync 的目的是什么?

    将其视为 DynamoDB 表,您可以在其中存储特定用户的信息。这些信息在多个设备和 之间共享始终同步 .这意味着当 Web 应用程序更新用户值时,移动应用程序将自动反射(reflect)此更改。

    你可以存储多少用户数据是有限制的(我现在不记得了),所以你不会用它来 坚持 信息(例如用户密码),而是对 的一种意思分享 信息。

    关于amazon-web-services - 对认知的使用/需要感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36167486/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com