91 lines
3.6 KiB
Markdown
91 lines
3.6 KiB
Markdown
---
|
|
title: VoidAuth
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, authentication, sso, oidc, oauth2]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Authentication, https://github.com/voidauth/voidauth]
|
|
---
|
|
|
|
# 🔐 VoidAuth
|
|
|
|
> Serveur d'authentification OAuth 2.0/OIDC léger, conçu pour protéger les applications self-hostées simples sans la complexité d'un IdM complet.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Attribut | Valeur |
|
|
|----------|--------|
|
|
| **Nom** | VoidAuth |
|
|
| **Slug** | app-voidauth |
|
|
| **Description** | Serveur OAuth 2.0/OIDC léger pour applications self-hosted |
|
|
| **Site officiel** | https://voidauth.io |
|
|
| **Repository** | https://github.com/voidauth/voidauth |
|
|
| **Stars** | 2 150 ⭐ |
|
|
| **Licence** | MIT |
|
|
| **Langage principal** | TypeScript (Node.js) |
|
|
| **Catégorie** | Authentication |
|
|
| **Tags** | [catalogue, authentication, sso, oidc, oauth2] |
|
|
|
|
## 📝 Description
|
|
VoidAuth est un serveur d'authentification OAuth 2.0 / OpenID Connect minimaliste, pensé pour les utilisateurs qui veulent ajouter une couche SSO à quelques applications self-hostées sans déployer un Keycloak ou un Authentik complet. Le nom « Void » reflète l'approche : pas de fonctionnalités superflues, juste l'essentiel pour signer des tokens.
|
|
|
|
L'application supporte les flux standards OIDC (Authorization Code, Client Credentials, Refresh Token), permet la gestion d'utilisateurs avec mots de passe hachés (bcrypt/argon2) et offre une interface d'administration simple pour enregistrer les clients OAuth. Elle s'intègre nativement avec les applications qui consomment du standard OIDC (Grafana, Nextcloud, Portainer, Wekan, etc.).
|
|
|
|
Idéal pour les **petits homelabs** ou les **déploiements mono-utilisateur/multi-services** où un IdM complet serait disproportionné. Léger, rapide à installer, configuration en fichier plat.
|
|
|
|
## 🚀 Installation
|
|
### Via Docker (recommandé)
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
voidauth:
|
|
image: ghcr.io/voidauth/voidauth:latest
|
|
ports:
|
|
- "3000:3000"
|
|
volumes:
|
|
- voidauth-data:/app/data
|
|
environment:
|
|
VOIDAUTH_SECRET: changez-moi-en-production
|
|
VOIDAUTH_URL: https://auth.example.com
|
|
restart: unless-stopped
|
|
volumes:
|
|
voidauth-data:
|
|
```
|
|
|
|
### Installation manuelle
|
|
Cloner le repo, installer Node.js 20+, lancer `npm ci && npm run build && npm start`. Prévoir un reverse proxy (Traefik, Caddy) pour HTTPS en production.
|
|
|
|
## ⚙️ Configuration
|
|
- **Clients OAuth** : enregistrement via l'admin UI ou fichier YAML
|
|
- **Utilisateurs** : stockés en SQLite par défaut, exportable
|
|
- **Scopes** : configuration fine des permissions par client
|
|
- **Sessions** : cookies signés, durée configurable
|
|
- **Reverse proxy** : intégration X-Forwarded-For pour IP réelle
|
|
|
|
## 🔗 Alternatives
|
|
- **oauth2-proxy** — reverse proxy OIDC, encore plus minimal
|
|
- **Authelia** — ajoute 2FA et ACL, plus complet
|
|
- **authentik** — IdM complet avec UI moderne
|
|
|
|
## 🔒 Sécurité
|
|
- Toujours servir via **HTTPS** avec un reverse proxy
|
|
- Régénérer `VOIDAUTH_SECRET` à l'installation (32+ caractères)
|
|
- Activer le **rate limiting** sur l'endpoint token
|
|
- Sauvegarder régulièrement le volume `voidauth-data`
|
|
|
|
## 📚 Ressources
|
|
- Site officiel : https://voidauth.io
|
|
- Repository GitHub : https://github.com/voidauth/voidauth
|
|
- Documentation : https://voidauth.io/docs
|
|
|
|
## 🔗 Pages Liées
|
|
- [[cat-authentication]]
|
|
- [[app-oauth2-proxy]] — Alternative reverse proxy pure
|
|
- [[app-authelia]] — SSO avec 2FA
|
|
- [[app-keycloak]] — IdM enterprise
|
|
- [[app-traefik]]
|
|
- [[recettes-docker-compose]]
|
|
- [[securisation-home-lab]]
|