Files
2026-06-09 18:40:21 +02:00

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/auth sur 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=Strict sur les cookies de session
  • Surveiller les logs pour détecter les tentatives d'intrusion

📚 Ressources

🔗 Pages Liées