我一直在尝试将AWS Cognito集成到我的云基础架构中。 我需要它来允许用户访问特定的ALB路由和位于Cloudfront之后的s3存储桶中的某些对象。使用IAM规则,这部分似乎很容易。
主要困难是让用户登录和注册页面。我本以为AWS会在设置池时提供一个登录/注册页面,其中包含指定的必需信息,但我在任何地方都找不到教程。我想要这个,因为我不想自己创建一个自定义页面。
是否有教程设置SPA来挂接到AWS Cognito登录和注册页面?就像使用0Auth一样。
最后,从长远来看,我可能必须创建一个自定义登录/注册页面。但是,我每次登录所需的信息可能会有所不同。我可能需要一封电子邮件,但其他人需要电子邮件,姓名和电话号码。
通过自定义登录/注册页面进行设计以根据用户池动态访问此信息的最佳方法是什么
先谢谢了。这是为我提供有关SPA的自定义和非自定义注册/登录页面的正确文档的更多问题。
再次感谢。
答案 0 :(得分:1)
对于您的用例,您需要连接Cognito UserPools(用作身份验证提供程序)和Cognito联合身份(用于提供AWS资源访问权限以交换Cognito UserPool令牌)。
要简化SPA的身份验证,可以使用AWS AmplifyJS库来简化集成。
注意:如果您打算实施受控的SignUp过程,请考虑使用自定义UI实施该过程,并且对于SignIn,您仍然可以使用Hosted UI解决方案。
有关Cognito用户池与联合身份的更多详细信息,请参阅文章The Difference Between AWS Cognito UserPools and Federated Identities?。