首页 文章

使用AWS构建简单的联合登录和用户配置文件

提问于
浏览
0

我编写了一个单页Web应用程序,访问者创建表示为JSON文档的内容并存储在localStorage中 . 我现在想让这些访问者能够使用外部身份提供商(Google,Twitter,Facebook等)登录,以便他们可以在我的应用程序中上传和共享他们的内容 .

什么's the best way to architect this project on AWS? I'米全新的 Cloud 服务 .

我收集我想要一个S3存储桶来存储JSON文档,也可能是一个DynamoDB存储其他用户配置文件信息(如昵称或电子邮件地址),但身份验证/授权/配置文件方面(Cognito,IAM,OpenID,OAuth) ,也许将所有东西捆绑在一起的Lambda脚本完全逃脱了我 . (坦率地说,尽管阅读了三天,我甚至不确定我是否理解每个人的差异/目的 . )

任何指向我正确方向的建议都将是一个很大的帮助 .

1 回答

  • 1

    Cognito Identity为您的用户提供AWS凭据,其中包含您为AWS资源定义的权限 . 在您的应用程序中,您的用户可以使用Facebook,Google,Twitter,任何OIDC提供商或您自己的开发人员身份验证登录并获取AWS凭证 .

    看起来您想要使用自己的开发人员提供商 . 您的实现取决于您的用例 . 但是,您可以使用Developer Authenticated Identities功能将开发人员提供程序与Cognito一起使用:http://docs.aws.amazon.com/cognito/latest/developerguide/developer-authenticated-identities.html

    每个用户都将获得Cognito身份证 .

    如果您的JSON对象仅供其所有者使用,则可以使用Cognito Sync,以便您的用户可以检索这些对象,无论他在登录应用程序时使用的是什么设备 .

    如果您的JSON对象需要在用户之间共享,则需要开发另一种解决方案,可能使用S3,如您所述 .

    有关创建权限的帮助,请参阅此处:http://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html

相关问题