【问题标题】:AWS Cognito UserPool vs IdentityPool: Is IdentityPool mandatory?AWS Cognito 用户池与身份池:身份池是强制性的吗?
【发布时间】:2021-06-08 01:21:22
【问题描述】:

AWS Cognito 是否强制使用 IdentityPool?

我的用例:

我的网络应用有可以自行注册的用户,这些用户将被添加到我设置的 Cognito 用户池中。我只想向经过身份验证的用户(即,属于 authenticatedRole IAM 角色的用户)提供对我的后端资源的访问权限。我的要求很简单,一个经过身份验证的角色就足以处理我的应用程序的资源授权要求,我只想拒绝未经身份验证的用户访问所有后端资源。

仅使用 UserPool 是否可行,如果可以,我该如何实现?

注意:我使用 CDK 将我的基础架构定义为代码。

【问题讨论】:

    标签: amazon-web-services amazon-cognito


    【解决方案1】:

    对于 Cognito,使用身份池绝不是强制性的。它完全基于用例。这里有几点需要澄清。

    用户池 - 用于身份验证 身份池 - 用于授权。

    基本上,如果您希望最终用户注册、登录,然后访问 AWS 资源或进行 AWS API 调用,那么您必须使用身份池。因此,假设您有一个游戏应用程序,最终用户可以通过 FB、Google 或本机(用户名和密码)登录。这是身份验证,在这里我们将使用 Cognito 用户池。现在用户已登录并正在玩游戏。他们得分很高。可能需要将此高分添加到 S3 或用户的 DynamoDB 表记录中。为此,使用了身份池。身份池将帮助您出售最终用户可以使用的临时 AWS 凭证。

    我相信在您的用例中,用户池应该足够了。您可以通过 verifying Cognito 为最终用户返回的访问令牌授予对资源的访问权限。

    【讨论】:

      猜你喜欢
      • 2018-11-07
      • 2018-02-11
      • 1970-01-01
      • 2016-10-14
      • 2017-02-10
      • 2021-05-08
      • 2016-08-27
      • 2018-08-31
      • 2017-02-28
      相关资源
      最近更新 更多