3.9 KiB
title: nforwardauth created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, authentication, forwardauth, nginx, sso, lightweight] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Authentication, https://github.com/nicholasgasior/nforwardauth]
🔐 nforwardauth
ForwardAuth minimaliste pour Nginx : un serveur léger qui ajoute une couche d'authentification devant vos apps, alternative simplifiée à oauth2-proxy.
📋 Informations Générales
| Attribut | Valeur |
|---|---|
| Nom | nforwardauth |
| Slug | app-nforwardauth |
| Description | ForwardAuth léger pour Nginx (alternative oauth2-proxy) |
| Site officiel | https://github.com/nicholasgasior/nforwardauth |
| Repository | https://github.com/nicholasgasior/nforwardauth |
| Stars | 157 ⭐ |
| Licence | MIT |
| Langage principal | Go |
| Catégorie | Authentication |
| Tags | [catalogue, authentication, forwardauth, nginx, sso, lightweight] |
📝 Description
nforwardauth est un serveur ForwardAuth minimaliste écrit en Go, conçu spécifiquement pour s'interfacer avec Nginx via le module auth_request. Il agit comme un point de contrôle d'authentification centralisé : Nginx interroge nforwardauth avant de laisser passer une requête vers une app upstream, et nforwardauth vérifie la session/cookie de l'utilisateur.
L'idée est de proposer une alternative plus simple et plus rapide à configurer que oauth2-proxy pour les utilisateurs de Nginx (par opposition à Traefik, qui a forwardauth natif). Le projet supporte plusieurs providers OIDC (Google, GitHub, Authentik, Keycloak...), gère la session via cookies signés, et fournit une page de login personnalisable.
Idéal pour les homelabs qui utilisent Nginx comme reverse proxy et qui veulent ajouter une auth devant quelques services sans déployer un IdM complet. Très léger, configuration simple, parfait pour les petits déploiements.
🚀 Installation
Via Docker (recommandé)
# docker-compose.yml
services:
nforwardauth:
image: ghcr.io/nicholasgasior/nforwardauth:latest
ports:
- "4180:4180"
environment:
NFA_PROVIDER: oidc
NFA_OIDC_ISSUER: https://authentik.example.com/application/o/myapp
NFA_OIDC_CLIENT_ID: nforwardauth
NFA_OIDC_CLIENT_SECRET: secret-ici
NFA_COOKIE_SECRET: changez-moi-32-caracteres-min
NFA_REDIRECT_URL: https://auth.example.com/oauth2/callback
restart: unless-stopped
Installation manuelle
Télécharger le binaire Go depuis GitHub Releases, créer un fichier de configuration YAML ou variables d'environnement, lancer ./nforwardauth. Prévoir Nginx avec auth_request configuré.
⚙️ Configuration
- Provider OIDC : n'importe quel IdM compatible (Authentik, Keycloak, Auth0, Google)
- Cookies : secrets signés HMAC, durée configurable
- Nginx : directive
auth_request /oauth2/authsur les locations - Whitelist : bypass d'auth pour certains chemins (/health, /static)
- Headers : transmission email, username, groups vers l'upstream
🔗 Alternatives
- oauth2-proxy — référence, plus complet et mature
- Authelia — SSO avec 2FA intégré, multi-proxy
- Traefik ForwardAuth — middleware natif Traefik
🔒 Sécurité
- Toujours servir via HTTPS (Nginx + Let's Encrypt)
- Utiliser un cookie secret robuste (32+ caractères)
- Configurer
SameSite=Strictsur les cookies de session - Surveiller les logs pour détecter les tentatives d'intrusion
📚 Ressources
- Repository GitHub : https://github.com/nicholasgasior/nforwardauth
- Documentation : README du dépôt
🔗 Pages Liées
- cat-authentication
- app-oauth2-proxy — Référence forward auth
- app-authelia — SSO avec 2FA
- app-nginx-proxy-manager ou app-traefik
- app-keycloak — IdM provider OIDC
- recettes-docker-compose
- securisation-home-lab