首页 > 解决方案 > 无需登录即可访问api-gateway,然后创建帐户并进行授权

问题描述

我想在我的网络和移动应用程序中制作以下场景:

  1. 用户在没有 Cognito 登录的情况下打开应用程序(现在是 Web,后来是移动设备),创建几个实体,查看服务提供的分析(主要是通过 Appsync 加载的数据)。
  2. 然后用户在我们的服务中通过 Cognito 用户注册流程 -> 他在第一步创建的所有实体都保存在他的帐户下。
  3. 如果用户已登录,请向他显示附加到他的帐户的信息。

我目前有一个 API 网关,其下的资源重定向到 Appsync。

Cognito 授权方当前附加到 API 网关。

似乎要允许上述 #1 操作,我需要在 Api-gateway 级别删除/禁用 Cognito 授权方。

但是我应该如何将 Cognito 集成到应用程序中呢?

标签: amazon-web-servicesaws-api-gatewayamazon-cognitoaws-appsync

解决方案


使用AWS Cognito 身份池,您可以拥有未经身份验证的用户。您无需注册即可在用户池中创建未经身份验证的用户。

当他们提交并想要注册时,您只需将 Unauthenticated User 转换为 Authenticated User

Amazon Cognito 身份池支持经过身份验证和未经身份验证的用户。未经身份验证的用户即使没有使用您的任何身份提供商 (IdP) 登录,也可以访问您的 AWS 资源。这种访问级别对于在用户登录之前向用户显示内容很有用。每个未经身份验证的用户在身份池中都有一个唯一身份,即使他们没有单独登录和身份验证。


推荐阅读