Add more flags to customize auth

This commit is contained in:
Pablu23
2024-06-04 20:51:06 +02:00
parent dbe349d0e6
commit 8f65d81015
3 changed files with 19 additions and 10 deletions

View File

@@ -26,16 +26,19 @@ func (s *Server) HandleUpdate(w http.ResponseWriter, r *http.Request) {
} }
func (s *Server) HandleLoginPost(w http.ResponseWriter, r *http.Request) { func (s *Server) HandleLoginPost(w http.ResponseWriter, r *http.Request) {
secret := r.PostFormValue("secret") if s.options.Auth.Enabled {
http.SetCookie(w, &http.Cookie{ auth := s.options.Auth.Get()
Name: "auth", secret := r.PostFormValue("secret")
Value: secret, http.SetCookie(w, &http.Cookie{
Path: "/", Name: "auth",
MaxAge: 3600, Value: secret,
Secure: false, Path: "/",
HttpOnly: false, MaxAge: auth.MaxAge,
SameSite: http.SameSiteLaxMode, Secure: auth.Secure,
}) HttpOnly: false,
SameSite: http.SameSiteLaxMode,
})
}
http.Redirect(w, r, "/", http.StatusFound) http.Redirect(w, r, "/", http.StatusFound)
} }

View File

@@ -39,6 +39,8 @@ type AuthOptions struct {
// Secret Direct or Path to secret File // Secret Direct or Path to secret File
Secret string Secret string
LoadType AuthType LoadType AuthType
Secure bool
MaxAge int
} }
type TlsOptions struct { type TlsOptions struct {

View File

@@ -32,6 +32,8 @@ var (
debugFlag = flag.Bool("debug", false, "Activate debug Logs") debugFlag = flag.Bool("debug", false, "Activate debug Logs")
prettyLogsFlag = flag.Bool("pretty", false, "Pretty pring Logs") prettyLogsFlag = flag.Bool("pretty", false, "Pretty pring Logs")
logPathFlag = flag.String("log", "", "Path to logfile, stderr if default") logPathFlag = flag.String("log", "", "Path to logfile, stderr if default")
maxAgeFlag = flag.Int("age", 3600, "Max age for login Session")
secureFlag = flag.Bool("secure", false, "Cookie secure?")
) )
func main() { func main() {
@@ -88,6 +90,8 @@ func setupAuth() server.AuthOptions {
authOptions.Secret = path authOptions.Secret = path
authOptions.LoadType = server.File authOptions.LoadType = server.File
} }
authOptions.MaxAge = *maxAgeFlag
authOptions.Secure = *secureFlag
return authOptions return authOptions
} }