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

我试图弄清楚这是否是使用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. 现在用户已通过身份validation,可以访问S3,SNS和其他服务。

有一个更好的方法吗? 这样安全吗? 步骤3到5有点麻烦。

由于您从应用程序调用Lambda函数,因此需要在IAM中为其添加权限。 您的流程看起来不错,只需确保从Lambda函数调用GetOpenIdTokenForDeveloperIdentity 。 您可能希望查看此项目以获取参考。