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

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

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

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

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

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

#1楼 票数:5

亚马逊最近宣布了用作完全托管身份验证提供程序的用户池

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

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

#2楼 票数:3

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楼 票数:2

我也很好奇我们如何将身份验证集成到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中注册/登录/验证用户后。

希望有所帮助。

  ask by Gaege translate from so

未解决问题?本站智能推荐:

1回复

如何使用Cognito Identity对我的身份/用户池进行身份验证?

我一直试图解决这个问题几天,但我无法弄清问题是什么。 我在AWS Cognito上有一个用户池和一个标识池。 我已经运行了示例代码并使用它来成功登录并注册用户和Facebook和Google+。 登录后,我可以使用令牌进行身份验证以使用SNS或同步服务。 我已经注册了一个用户,并
1回复

AWS Cognito AdminLinkProviderForUser - 用户池账户和 Facebook

我们的设置是: 电子邮件/密码帐户创建或 Facebook 登录 我能够使用 AWS Cognito 成功地创建彼此独立的两者。 我要解决的问题是,如果用户首先拥有电子邮件/密码帐户,然后单击 Facebook 登录,我希望他们链接并提示用户确认他们可以访问电子邮件/密码帐户。 一旦用户
1回复

如何在 Android 中将 TransferUtility 与 Cognito 用户/身份池一起使用

我需要将 Android 中的一个文件上传到 s3 存储桶。 我们希望使用 Cognito 用户池对上传进行身份验证。 执行此操作的标准方法是使用 Amazon Amplify SDK 中的 Storage API。 问题是我需要为上传报告上传进度,而 Amplify Storage 不允许您设
1回复

如果未确认用户,如何使用Cognito更新属性?

如果用户未使用AuthenticationHandler登录,也未确认该用户,是否可以更新用户属性? 想法是,当用户注册其帐户时,以及在“确认”其帐户之前,该用户将其电子邮件更改为其他电子邮件地址。 我尝试使用UpdateAttributesHandler,但收到异常。 (1)如果对于
2回复

如何在 Amplify for Android 中将 Cognito 身份池与 UnAuthenticatd 用户一起使用

我一直在浏览 AWS Amplify 文档和教程,了解如何与未经身份验证的用户一起使用 Amplify 和 Cognito 身份池。 Amplify 文档给出的示例是: 但实际上,当我使用此代码时 - 我在 LogCat 中打印出一个错误: 注意:我确实配置了 AWS Cognito 以支
1回复

Cognito用户池:如何刷新Access Token Android

如何使用Cognito for Android刷新访问令牌? 文档建议如下( https://docs.aws.amazon.com/cognito/latest/developerguide/using-amazon-cognito-user-identity-pools-android-s
1回复

从Cognito用户池获取用户属性

我尝试使用以下代码从AWS的Cognito用户池中获取用户的属性(email-id),但似乎不起作用。 该怎么办?我的代码有什么问题?
1回复

来自Android的AWS Identity TVM注册

在Identity TVM注册中,可以直接通过我的应用程序获取用户的用户名和密码(因为用户必须注册才能使用我的应用程序),而不是将用户重定向到Identity TVM register.jsp进行注册,而是发送给Identity TVM注册以获取注册。 如果是,该怎么办?