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) {
if s.options.Auth.Enabled {
auth := s.options.Auth.Get()
secret := r.PostFormValue("secret")
http.SetCookie(w, &http.Cookie{
Name: "auth",
Value: secret,
Path: "/",
MaxAge: 3600,
Secure: false,
MaxAge: auth.MaxAge,
Secure: auth.Secure,
HttpOnly: false,
SameSite: http.SameSiteLaxMode,
})
}
http.Redirect(w, r, "/", http.StatusFound)
}

View File

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

View File

@@ -32,6 +32,8 @@ var (
debugFlag = flag.Bool("debug", false, "Activate debug Logs")
prettyLogsFlag = flag.Bool("pretty", false, "Pretty pring Logs")
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() {
@@ -88,6 +90,8 @@ func setupAuth() server.AuthOptions {
authOptions.Secret = path
authOptions.LoadType = server.File
}
authOptions.MaxAge = *maxAgeFlag
authOptions.Secure = *secureFlag
return authOptions
}