Ce référentiel présente un site statique hébergé sur Cloudflare Pages et dont le contenu est « protégé » par un nom d'utilisateur/mot de passe partagé avec une authentification d'accès de base HTTP. La vraie magie réside dans functions/_middleware.ts
, qui est basé sur l'exemple Cloudflare Workers pour l'authentification de base HTTP, reconverti en middleware à utiliser avec la fonctionnalité Functions de Cloudflare Pages.
Ce site de démonstration est hébergé sur https://cloudflare-pages-shared-password.pages.dev/, avec admin
comme nom d'utilisateur et mot de passe.
Le site statique de ce référentiel est construit à l'aide de Hugo, mais le middleware peut être utilisé avec n'importe quel site statique hébergé sur Cloudflare Pages.
Je ne donne aucune garantie quant à la sécurité de ce code. En particulier, il ne faut pas s’attendre à ce qu’un mot de passe partagé, stocké dans un référentiel, fournisse un degré de sécurité significatif.
Un merci spécial à CherryJimbo et Isaac McFadyen pour avoir répondu à mes questions sur l'instance Cloudflare Discord. Leurs suggestions ont été essentielles au fonctionnement de la première version de ce code.