ios - 使用 iOS SDK Cognito Lambda 和 DynamoDB 为 AWS iOS 创建用户/开发人员定义的登录

标签 ios objective-c amazon-web-services aws-lambda amazon-cognito

我想弄清楚这是否是使用 AWS 为 iOS 开发用户/开发人员定义的登录凭证的“正确”/当前/正确流程。

(我正在从 Parse 迁移到 AWS,所以只读了一周的 AWS)。

  1. 下载、安装和构建用于注册用户的 iOS 应用程序(例如电子邮件和密码(这已完成,应用程序显示用于电子邮件和密码的 UITextField 并可在 UIViewController 中访问))。通过 Cocoapods 的 iOS SDK 也已安装并可用。
  2. 创建一个身份池,其中包含访问不同服务的 unauth 和 auth 角色。所以 unauth 在技术上将访问他们需要的东西。 Unauth 访问 DynamoDB 完全访问权限和 Cognito。 Auth 添加了 s3 和 sns。这个做完了。是否需要添加 Lambda? (全部在 IAM 和 Cognito 中设置)。
  3. 使用 Lambda 创建要从 iOS 设备调用的函数,以查看用户是否在 DynamoDB 中注册。
  4. 如果用户已注册并与 Lambda 对 DynamoDB 的调用相匹配,请使用 Cognito 从 unauth 角色切换到 auth。
  5. 现在用户已通过身份验证,可以访问 S3、SNS 和其他服务。

有更好的方法吗?这安全吗?第 3 步到第 5 步有点麻烦。

最佳答案

由于您是从应用程序调用 Lambda 函数,因此您需要在 IAM 中为其添加权限。 您的流程看起来不错,只要确保您正在调用 GetOpenIdTokenForDeveloperIdentity从您的 Lambda 函数。你可能想看看这个 project供引用。

关于ios - 使用 iOS SDK Cognito Lambda 和 DynamoDB 为 AWS iOS 创建用户/开发人员定义的登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35356570/

相关文章:

iOS 地理定位,当初始化和声明一起发生时代码工作不同

ios - Objective C 中的 ASC-GZIP 解码

iOS URL Scheme - 在我的应用程序中加载自定义 UIView

amazon-web-services - 如何在 ECR 源管道中向 CodeDeploy 提供 AppSpec 和任务定义

Python AWS lambda 函数连接到 RDS mysql : Timeout error

ios - 如何在 Swift 中更新核心数据中的任何属性?

ios - 为什么会发生警告?

ios - 在 iOS 中使用循环动画​​背景

objective-c - 如何从 Apple Watch 启动 iOS 应用程序?

php - 亚马逊AWS S3目录结构效率