Auth-Provider
Setzkasten unterstützt GitHub OAuth und Google OAuth als Login-Methoden. Du kannst einen oder beide Provider gleichzeitig aktivieren.
GitHub OAuth (Empfohlen)
Bei GitHub OAuth wird automatisch geprüft, ob der eingeloggte User Schreibrechte auf das konfigurierte Repository hat. Kein allowedEmails nötig — GitHub-Berechtigungen sind die Zugangskontrolle.
OAuth App anlegen
GitHub → Settings → Developer settings → OAuth Apps → New OAuth App
Callback-URL setzen
https://deine-seite.de/api/setzkasten/auth/callback
Credentials in Config
GITHUB_CLIENT_ID + GITHUB_CLIENT_SECRET
Application name: Setzkasten CMS
Homepage URL: https://deine-seite.de
Authorization callback URL: https://deine-seite.de/api/setzkasten/auth/callback github: {
clientId: process.env.GITHUB_CLIENT_ID,
clientSecret: process.env.GITHUB_CLIENT_SECRET,
} http://localhost:4321 als Callback-URL anlegen.Google OAuth
Google OAuth eignet sich wenn der Admin-Zugang nicht an einen GitHub-Account gebunden sein soll. Pflicht: allowedEmails — sonst kann sich jeder mit Google-Account einloggen.
google: {
clientId: process.env.GOOGLE_CLIENT_ID,
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
},
allowedEmails: ['du@example.com', 'team@example.com'], Beide Provider kombinieren
GitHub und Google können gleichzeitig aktiv sein. Der Login-Screen zeigt beide Optionen. Jeder Provider hat seine eigene Zugangskontrolle (GitHub: Repo-Rechte, Google: allowedEmails).
Session
Sessions werden in-memory gespeichert und laufen bis zum Server-Neustart. Für persistente Sessions in Produktionsumgebungen mit mehreren Instanzen wird zukünftig ein Redis-Adapter geplant.