tijl.dev-core/internal/handlers/auth.go

51 lines
1.1 KiB
Go
Raw Normal View History

2024-08-22 12:57:38 +02:00
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")
}
}
2024-08-22 13:47:16 +02:00
func loggedinHandler(c *fiber.Ctx) error {
_, err := user.GetSession(c)
if err != nil {
return c.Redirect("/login")
} else {
data := *web.Common(c)
data["Title"] = i18n.Translate(c, "account")
return c.Render("loggedin", data, "layouts/base")
}
}
2024-08-22 12:57:38 +02:00
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")
}
}