Este repositório demonstra um site estático hospedado em Cloudflare Pages e cujo conteúdo é "protegido" por um nome de usuário/senha compartilhado com autenticação de acesso básico HTTP. A verdadeira mágica está em functions/_middleware.ts
, que é baseado no exemplo Cloudflare Workers para autenticação básica HTTP, reaproveitado como um middleware para ser usado com o recurso Functions do Cloudflare Pages.
Este site de demonstração está hospedado em https://cloudflare-pages-shared-password.pages.dev/, com admin
como nome de usuário e senha.
O site estático neste repositório é construído usando Hugo, mas o middleware pode ser usado com qualquer site estático hospedado em Cloudflare Pages.
Não dou garantias sobre a segurança deste código. Em particular, não se deve esperar que uma senha compartilhada, armazenada em um repositório, forneça um grau significativo de segurança.
Agradecimentos especiais a CherryJimbo e Isaac McFadyen por responderem às minhas perguntas na instância Cloudflare Discord. Suas sugestões foram essenciais para que a primeira versão deste código funcionasse.