amazon-web-services - 无需登录即可访问api-gateway,然后创建帐户并进行授权
问题描述
我想在我的网络和移动应用程序中制作以下场景:
- 用户在没有 Cognito 登录的情况下打开应用程序(现在是 Web,后来是移动设备),创建几个实体,查看服务提供的分析(主要是通过 Appsync 加载的数据)。
- 然后用户在我们的服务中通过 Cognito 用户注册流程 -> 他在第一步创建的所有实体都保存在他的帐户下。
- 如果用户已登录,请向他显示附加到他的帐户的信息。
我目前有一个 API 网关,其下的资源重定向到 Appsync。
Cognito 授权方当前附加到 API 网关。
似乎要允许上述 #1 操作,我需要在 Api-gateway 级别删除/禁用 Cognito 授权方。
但是我应该如何将 Cognito 集成到应用程序中呢?
解决方案
使用AWS Cognito 身份池,您可以拥有未经身份验证的用户。您无需注册即可在用户池中创建未经身份验证的用户。
当他们提交并想要注册时,您只需将 Unauthenticated User 转换为 Authenticated User。
Amazon Cognito 身份池支持经过身份验证和未经身份验证的用户。未经身份验证的用户即使没有使用您的任何身份提供商 (IdP) 登录,也可以访问您的 AWS 资源。这种访问级别对于在用户登录之前向用户显示内容很有用。每个未经身份验证的用户在身份池中都有一个唯一身份,即使他们没有单独登录和身份验证。
推荐阅读
- python - 首次运行 TorchScript 模型及其在 Flask 中的实现太慢
- sql - 显示当前日期和两个特定日期之间天数的 SQL 查询
- oracle - Apex 静态文件放在哪里?
- prolog - Make swi prolog to return the predicate name
- c# - 如何创建基于 Youtube API 上传视频代码的 Azure Function?
- c++ - 使用 VID、PID、+SN 查找 USB 端口号
- reactjs - 如何使用 React 组件覆盖 Chrome 新标签页内容
- google-app-engine - google appengine 搜索存储桶以查找特定的“content_type”文本/csv
- c# - 如何从使用 MVVM 的代码中使用“text.changed”控件(在 Xamarin.Forms 中)
- node.js - 类型错误:tf.broadcastTo 不是函数