tijl.dev-core/internal/handlers/auth.go
tijl 5693a59784
All checks were successful
build / build (push) Successful in 33s
updates
2024-08-22 12:57:38 +02:00

40 lines
845 B
Go

package handlers
import (
"git.tijl.dev/tijl/tijl.dev/internal/i18n"
"git.tijl.dev/tijl/tijl.dev/internal/oidc"
"git.tijl.dev/tijl/tijl.dev/internal/user"
"git.tijl.dev/tijl/tijl.dev/modules/web"
"github.com/gofiber/fiber/v2"
)
func loginHandler(c *fiber.Ctx) error {
_, err := user.GetSession(c)
if err == nil {
return c.Redirect("/account")
} else {
data := *web.Common(c)
data["Title"] = i18n.Translate(c, "login")
return c.Render("login", data, "layouts/base")
}
}
func authHandler(c *fiber.Ctx) error {
_, err := user.GetSession(c)
if err == nil {
return c.Redirect("/account")
} else {
return oidc.HandleRedirect(c)
}
}
func logoutHandler(c *fiber.Ctx) error {
_, err := user.GetSession(c)
if err == nil {
c.ClearCookie("session")
return c.Redirect("/login")
} else {
return c.Redirect("/login")
}
}