使用Github OAuth在S3上的静态站点?

nee*_*zer 5 oauth github amazon-s3 amazon-web-services

标题说明了一切:是否可以在S3上托管静态生成的网站并基于Github OAuth限制对它的访问?

场景:您生成了一个静态站点(使用Hugo或其他工具),并将其作为静态站点上传到S3。是否可以组合使用某些AWS服务(API网关,Lambda等),以便只有我的Github组织成员才能访问此网站?使用Github的OAuth进行身份验证?未经身份验证的任何人都应使用404处理。

有没有人做过或知道如何做?如果不运行某种类型的后备服务器(EC2,Heroku,DigitalOcean Droplet等),是否有可能做到这一点?

寻找一个完整的答案,概述有关如何以最低的成本/复杂度进行设置的步骤(如果可能)。

Mar*_*k B 4

是的,这是可能的。我过去曾按照本教程在 Auth0 身份验证后保护 S3 上的静态站点,使用 DynamoDB 作为用户帐户存储,并使用 API Gateway + AWS Lambda 作为身份验证服务。那是一个 AngularJS SPA,但总体概念应该是相同的。

Github 被列为Auth0 身份提供商。我建议您查看此文档以在您的网站上使用 Auth0。一旦你让它工作,你就必须配置你的静态站点生成器,以在它生成的每个页面上包含身份验证 JavaScript 代码。