【问题标题】:Disabled users in AWS Amplify Cognito still can access to data in the APIAWS Amplify Cognito 中的禁用用户仍然可以访问 API 中的数据
【发布时间】:2020-09-24 12:25:56
【问题描述】:

Graphql Api 和 Auth 添加到一个全新的项目中。

我转到 Amplify 控制台 -> myapp -> api -> GraphQL API 并单击在 AppSync 中查看。在运行查询部分,我运行如下示例查询:

{
  listTodos {
    items {
        name
    }
  }
}

响应是 UnauthorizedException。这是意料之中的,而且工作正常。

然后,如果我使用 cognito 用户登录,则响应是一些示例 TODOS。这也不错。

如果我转到 Cognito 并禁用用户,我仍然可以运行查询。我期待未经授权或其他事情,而不是实际能够查询我的数据(因为用户被禁用)。

【问题讨论】:

    标签: amazon-web-services graphql amazon-cognito aws-appsync


    【解决方案1】:

    Cognito 访问和 ID 令牌对 one hour from the time they are issued 有效。只要用户的令牌仍然有效且未过期,他们将被授权访问 GraphQL API regardless of the user's existence

    Cognito does not offer the ability to revoke access/ID tokens,尽管可以使用 GlobalSignOut API 调用立即撤销刷新令牌。

    此限制的一种解决方法是custom logic,它可以在您的应用程序中实现,以在使用 GraphQL API 发起请求之前验证用户是否存在于用户池中/是否处于有效状态。

    【讨论】:

      猜你喜欢
      • 2020-08-31
      • 2020-07-29
      • 2021-06-08
      • 1970-01-01
      • 2020-12-22
      • 1970-01-01
      • 2019-04-28
      • 2021-12-09
      • 2014-07-01
      相关资源
      最近更新 更多