pop-camarades/middlewares/authentication.go
2025-03-29 12:44:17 +01:00

34 lines
527 B
Go

package middlewares
import (
"git.readonly.ch/bouzoure/popvaud-people/helpers"
"github.com/gofiber/fiber/v2"
)
func AuthMiddleware(c *fiber.Ctx) error {
if c.Path() == "/login" {
return c.Next()
}
sess, err := helpers.GetSessionStore(c)
if err != nil {
return err
}
userid := sess.Get("userid")
if userid == nil {
return c.Redirect("/login")
}
active, err := helpers.UserExistsAndIsActive(userid.(int))
if err != nil {
return err
}
if !active {
return c.Redirect("/login")
}
return c.Next()
}