我正在制作一个android应用程序,让用户注册,登录和上传各种类型的文件到数据库。我已经在这个应用程序上工作了大约一个月,有一个非常简单的应用程序,用户可以在其中注册、登录和上传照片。到目前为止,我一直在我的raspberry pi上托管一个postgres数据库,只是为了测试目的。
现在我想把这个转移到亚马逊的aws系统上。因为这是一个移动应用,我知道我会用到很多他们的认知服务。我想使用他们的新用户池功能,让亚马逊为我处理用户注册、登录和身份验证,因为它肯定比我能想到的任何东西都更安全。
我有点理解用户池是如何工作的,并且已经通过了他们的教程,但我有点困惑,因为我不知道如何将它与我的应用程序结构的其余部分集成在一起。在学习认知服务之前,我的应用程序将有一个使用亚马逊RDS的postgres DB设置,一个保存我大部分服务器端脚本的EC2服务器(例如,当用户需要注册并调用register.php时,将从客户端的安卓应用程序调用)和一个用于存储图像的S3实例。
有了cognito,我知道有些事情可能会改变。我的问题是:什么会改变?我是否应该在amazon的RDS上包含一个包含所有用户信息的数据库?在这种情况下,最好的做法是什么?
谢谢你的帮忙!
发布于 2016-06-08 06:13:50
为了在用户注册并登录后访问各种AWS服务,您需要将Cognito用户池集成到Cognito联合身份中。
在Cognito联合身份中,您的用户根据您定义的角色获取凭据。您选择在何处存储用户的数据完全取决于应用程序的逻辑。
以下是关于IAM在Cognito中角色的文档,可能对您有所帮助:http://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html
以下是有关如何为您的用户获取亚马逊网络服务凭证的文档:http://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-integrating-user-pools-with-identity-pools.html
https://stackoverflow.com/questions/37646261
复制相似问题