Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web 如何使用cloudfront托管一个使用cognito内置登录页面的静态s3网站_Web_Amazon S3_Static_Amazon Cognito_Amazon Cloudfront - Fatal编程技术网

Web 如何使用cloudfront托管一个使用cognito内置登录页面的静态s3网站

Web 如何使用cloudfront托管一个使用cognito内置登录页面的静态s3网站,web,amazon-s3,static,amazon-cognito,amazon-cloudfront,Web,Amazon S3,Static,Amazon Cognito,Amazon Cloudfront,我是aws的初学者。我想用cloudfront发行版托管一个静态S3网站,但我想在用户点击网站url时首先添加cognito内置的登录页面。我不知道怎么做。我看到了S3+cloudfront或cognito的多种解决方案,但对于如何在页面中集成S3网站+cloudfront+cognito bult,我没有得到任何解决方案。 有人能建议怎么做吗? 提前谢谢 CloudFront没有本地Cognito集成,至少在撰写本文时是这样 然而,CloudFront确实有一个名为的功能,允许您提供服务器端J

我是aws的初学者。我想用cloudfront发行版托管一个静态S3网站,但我想在用户点击网站url时首先添加cognito内置的登录页面。我不知道怎么做。我看到了S3+cloudfront或cognito的多种解决方案,但对于如何在页面中集成S3网站+cloudfront+cognito bult,我没有得到任何解决方案。 有人能建议怎么做吗?
提前谢谢

CloudFront没有本地Cognito集成,至少在撰写本文时是这样

然而,CloudFront确实有一个名为的功能,允许您提供服务器端JavaScript,CloudFront可以在HTTP请求(和响应)处理期间在特定触发点执行,允许代码检查请求(和响应)的各个方面,然后告诉CloudFront修改处理方式,例如允许或拒绝基于特定标准的请求(例如出于身份验证目的)

AWS博客文章似乎详细描述了如何使用Lambda@Edge推出您自己的基于Cognito的解决方案,并包括一个CloudFormation堆栈模板,该模板将在您自己的AWS帐户中实际启动此解决方案,然后您可以在其中检查代码和配置,以了解其工作原理


通过这种设置,CloudFront可以在向S3存储桶发出请求时使用标准对自己进行身份验证,因此S3不需要任何特殊配置——S3将不知道在前端发生的Cognito身份验证。

我建议查看AWS Amplify(),它非常类似于AWS对Firebase的回答。它允许您使用S3、API、数据库等快速启动AWS资源,如Cognito、存储(包括网站存储)

AWS Amplify为React和Angular项目提供了现成的可配置验证器组件,该组件与Cognito集成,将立即处理注册、登录、密码重置等

  • 有关Angular()的信息,请参见Authenticator组件
  • 有关React()的信息,请参见添加身份验证

我希望这会有所帮助。

如果您需要在线教程的指针或向静态站点添加身份验证的示例,您可能会得到更好的帮助。如果你真的希望有人帮助你展示如何在你的网站上做这件事,请发布该网站的当前页面(一段)。有关AWS更新(但基本相同)的方法,请参阅