auth request handler

This commit is contained in:
2026-07-31 13:06:23 -07:00
parent f63259dcbc
commit ff2230e2f7
2 changed files with 15 additions and 8 deletions
+6 -6
View File
@@ -1,15 +1,14 @@
package main package main
import ( import (
"net/http" "fmt"
"astraltech.xyz/calendar/v2/webserver" "astraltech.xyz/calendar/v2/webserver"
) )
func LoginHandler(w http.ResponseWriter, r *http.Request) { func HandleAuthRequest(username string, password string) bool {
w.Header().Set("Content-Type", "text/html; charset=utf-8") fmt.Printf("Handling Auth request for %s", username)
var test_html string = "Hello, world" return false
w.Write([]byte(test_html))
} }
func main() { func main() {
@@ -17,7 +16,8 @@ func main() {
init_dav_client() init_dav_client()
webserver.ServeLoginPage("/login", webserver.CustomizableLoginData{ webserver.ServeLoginPage("/login", webserver.CustomizableLoginData{
ServiceName: "Astral Calendar", ServiceName: "Astral Calendar",
AuthRequestFunction: HandleAuthRequest,
}) })
webserver.EnableLogoRoute() webserver.EnableLogoRoute()
webserver.EnableStaticRoute() webserver.EnableStaticRoute()
+9 -2
View File
@@ -12,7 +12,8 @@ type LoginPageData struct {
} }
type CustomizableLoginData struct { type CustomizableLoginData struct {
ServiceName string ServiceName string
AuthRequestFunction func(string, string) bool
} }
var LoginPageDataCustomizations CustomizableLoginData var LoginPageDataCustomizations CustomizableLoginData
@@ -28,7 +29,13 @@ func loginHandler(w http.ResponseWriter, r *http.Request) {
if r.Method == http.MethodPost { if r.Method == http.MethodPost {
username := r.FormValue("username") username := r.FormValue("username")
if strings.Contains(username, "/") { if strings.Contains(username, "/") {
tmpl.Execute(w, LoginPageData{IsHiddenClassList: ""}) tmpl.Execute(w, LoginPageData{IsHiddenClassList: "", LoginData: LoginPageDataCustomizations})
}
password := r.FormValue("password")
auth_success := LoginPageDataCustomizations.AuthRequestFunction(username, password)
if auth_success == false {
tmpl.Execute(w, LoginPageData{IsHiddenClassList: "", LoginData: LoginPageDataCustomizations})
} }
} }
} }