Added basic login functionality to login form

This commit is contained in:
2025-02-08 15:29:17 +11:00
parent 5a93ef81dd
commit 1004dc9563
9 changed files with 138 additions and 7 deletions

36
cookies/pagefrom.go Normal file
View File

@@ -0,0 +1,36 @@
package cookies
import (
"net/http"
"net/url"
"os"
"time"
)
func CheckPageFrom(w http.ResponseWriter, r *http.Request) string {
pageFromCookie, err := r.Cookie("pagefrom")
if err != nil {
return "/"
}
pageFrom := pageFromCookie.Value
deleteCookie := &http.Cookie{Name: "pagefrom", Value: "", Expires: time.Unix(0, 0)}
http.SetCookie(w, deleteCookie)
return pageFrom
}
func SetPageFrom(w http.ResponseWriter, r *http.Request) {
referer := r.Referer()
parsedURL, err := url.Parse(referer)
if err != nil {
return
}
var pageFrom string
expectedHost := os.Getenv("TRUSTED_HOST")
if parsedURL.Path == "" || parsedURL.Host != expectedHost {
pageFrom = "/"
} else {
pageFrom = parsedURL.Path
}
pageFromCookie := &http.Cookie{Name: "pagefrom", Value: pageFrom}
http.SetCookie(w, pageFromCookie)
}