标题说明了一切:是否可以在S3上托管静态生成的网站并根据Github OAuth限制对它的访问?
场景:您生成一个静态网站(使用Hugo或其他)和upload it to S3 as a static site。是否有一些AWS服务(API Gateway,Lambda等)的组合可以使我只有Github组织的成员可以访问此站点?使用Github's OAuth进行身份验证?任何未经过身份验证的人都应该接受404治疗。
有没有人这样做或知道怎么做?这样的事情是否可能without running a backing server (EC2, Heroku, DigitalOcean Droplet, etc.) of some kind?
寻找一个完整的答案,概述了如何以最低的成本/复杂性进行设置(如果可能)的步骤。
答案 0 :(得分:4)
是的,这是可能的。我过去遵循this tutorial来确保在Auth0身份验证后的S3上使用静态站点,使用DynamoDB作为用户帐户存储,并使用API Gateway + AWS Lambda作为身份验证服务。这是一个AngularJS SPA,但一般概念应该是相同的。
Github被列为Auth0 identity provider。我建议您查看this documentation在您的网站上使用Auth0。一旦你使它工作,你将不得不配置你的静态站点生成器,以在它生成的每个页面上包含身份验证JavaScript代码。