package backend import "net/http" // InitAuth bereitet die Session-/Login-Verwaltung vor. // // Sicherheitslage: Dieses Tool haelt IMAP-Zugangsdaten fremder Postfaecher und // kann per SMTP Mails verschicken. Es darf NIE offen im Netz stehen. // - Default: bind 127.0.0.1 (nur lokal), Login mit admin_user/admin_pass. // - Wenn spaeter remote erreichbar (hinter Caddy): /vadmin-Mail-2FA-Muster // aus dem Web-Deploy-Kit vorschalten. func InitAuth() error { // TODO Codex: Session-Cookie-Store initialisieren. return nil } // AuthMiddleware schuetzt alle Routen ausser /login und /static. func AuthMiddleware(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { // TODO Codex: /login + /static durchlassen, sonst Session pruefen, // sonst Redirect /login. next.ServeHTTP(w, r) }) } func loginHandler(w http.ResponseWriter, r *http.Request) { // TODO Codex: Formular, Abgleich mit Cfg.AdminUser/AdminPass, Cookie setzen. }