使用AWS Cognito实现“私人聚会”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用AWS Cognito实现“私人聚会”相关的知识,希望对你有一定的参考价值。

我正在开发一个使用AWS'Lambda和API Gateway实现其Web服务的项目。现在,为了控制对这些服务的访问,我需要对用户进行身份验证。似乎这样做的方法是使用Amazon Cognito用户池。

问题是,这个项目是一个私人聚会,不只是任何人都可以注册。为了让某人注册,他们需要一个我想说的代码,它会通过电子邮件发送给他们;例如在一个链接。一旦他们点击该链接,他们就会被带到一个页面,要求他们使用一些公共/外部身份提供商(即Google +,Facebook等等)对自己进行身份验证。一旦对它们进行了身份验证,就会验证该代码,并且只有当它是有效代码时,才应将用户添加到用户池中,因此从那时起,用户可以使用他们的电子邮件登录系统而无需任何代码。

有人可以告诉我,亚马逊的Cognito是否支持这种情况?

答案

您可以遵循多种方法。

仅限公共身份提供商和外部提供商

您可以使用公共和外部提供程序登录时自定义身份验证质询以请求代码。有关更多详细信息,请查看Customizing Amazon Cognito User Pool Authentication Flow中的RespondToAuthChallenge部分。

除公共和外部提供商外,还支持内部注册。

使用Cognito Hosted UI进行注册,允许任何人注册但不会在应用程序内激活他们的帐户,如果他们不提供代码(需要编写您的帐户激活器)。此外,如果用户在一段时间内处于非活动状态,您还可以配置从Cognito Userpools中删除用户帐户。

您还可以编写自定义注册页面并实现“代码”输入,并使用Cognito Userpools Admin SDK从后端进行注册。然而,这可能具有挑战性,因为您需要做更多的实现。

以上是关于使用AWS Cognito实现“私人聚会”的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 AWS Cognito 联合身份进行 Instagram 登录

使用 AWS Cognito 进行多租户身份验证

AWS Cognito:生成令牌并在使用 amazon-cognito-identity-js SDK 刷新后

AWS Cognito forgotPassword 返回请求中止

AWS Cognito 基于 JWT 属性的路由

AWS Cognito 错误:“identityPoolId”未能满足约束