首页 文章

使用Amazon Cognito进行简单的用户注册

提问于
浏览
12

在构建Android应用程序的过程中,我遇到了用户管理的重大问题 .

我看到所有的地方服务,允许用户使用谷歌,脸书,亚马逊,推特等在我的应用程序注册(亚马逊Cognito,Janrain,谷歌身份工具包) .

理想情况下,我希望在整个应用程序中使用Amazon Web Services,因此需要使用Amazon Cognito . 但是,据我所知,Cognito仅提供通过Facebook,亚马逊和谷歌进行的简单用户注册,并具有与开发人员身份验证身份合并的附加功能 .

经过几个小时的研究开发我自己的身份提供者结构,实施身份验证协议和所有爵士乐,我得出结论我不知道我在那个领域做了什么,我会最好的服务,让它独自一人目前 .

我想要的只是允许用户通过电子邮件,用户名和密码注册使用我的应用程序,并可以选择稍后通过Amazon Cognito与他们的社交帐户合并 . 我似乎无法在任何地方找到任何直截了当的答案 .

那么,我如何创建一个简单的用户注册流程来创建用户,以后可以通过Amazon Cognito链接到其他社交帐户?

3 回答

  • 2

    亚马逊最近宣布user pools作为完全托管的身份验证提供商 .

    他们负责所有基本逻辑,如用户注册,电子邮件验证,密码重置等 . 并提供一些更高级的功能,如多因素身份验证或电话号码验证 .

    很酷的是这些用户池可以扩展到数亿用户,您只需使用它们就像使用其他身份验证提供程序一样(或者您当然可以将它们组合在一起) . 查看this以了解如何设置它们 .

  • 5

    Amazon Cognito不是身份验证提供程序,因此如果您要使用电子邮件,用户名和密码注册用户,则必须实现自己的后端,并使用数据库存储所有这些用户信息 . 由于您说要在应用程序中使用AWS,因此将后端与Amazon Cognito集成将允许您定义策略,以便您的用户可以访问AWS中的其他资源 . 例如,使用允许用户执行此操作的策略,直接从您的应用程序将文件上传到S3 . 您还可以使用Amazon Cognito将您的用户帐户与其他身份提供商用户(例如:Facebook用户)相关联 .

    如果您想更好地了解Cognito如何与开发人员认证的用户合作,请查看此博客帖子:http://mobile.awsblog.com/post/Tx2FL1QAPDE0UAH/Understanding-Amazon-Cognito-Authentication-Part-2-Developer-Authenticated-Ident

  • 3

    我也很好奇我们如何将身份验证集成到Amazon Cognito中,并得出结论,最好的方法是使用身份验证服务 .

    我们是一家拥有非常小团队的小公司,因此实施速度和干净的API都是重要因素 . 还要花钱 . 前两个选项是DailyCred和LoginRadius .

    DailyCred (我们最喜欢这个)

    • 肯定 - 清洁简易API,每50k用户25美元(100万用户=〜$ 500)

    • 否定 - 如果他们仍在营业,可疑,但在他们的常见问题解答中,他们表示,如果他们破产,他们会交出开源代码 .

    LoginRadius

    • 肯定 - 有些可用的API,合理的价格(1m用户=〜$ 1000)

    • 否定 - API不像DailyCred那样干净

    以下是一些其他可用的服务:

    • Parse - 模糊的定价模型以及传闻超时问题

    • StormPath - 不确定他们的API . 也有点贵 .

    • Gigya - 企业,对我来说太大了

    • JanRain - 企业,对我来说太大了

    • AuthRocket - 真的很贵

    • UserApp.io - 不再可用

    Amazon Cognito可与您自己经过身份验证的用户ID一起使用 . 在DailyCred中注册/登录/验证用户后 .

    希望有所帮助 .

相关问题