modweb/auth.go

30 lines
626 B
Go

package modweb
import (
"github.com/gofiber/fiber/v2/middleware/session"
"html/template"
)
type AuthHandler interface {
Module
LoginURL() template.URL
RegisterURL() template.URL
}
type User struct {
ID string
DisplayName string
AccessLevel int64
}
func (u User) Save(sess *session.Session) {
sess.Set("user:id", u.ID)
sess.Set("user:displayName", u.DisplayName)
sess.Set("user:accessLevel", u.AccessLevel)
}
func (u *User) Load(sess *session.Session) {
u.ID = sess.Get("user:id").(string)
u.DisplayName = sess.Get("user:displayName").(string)
u.AccessLevel = sess.Get("user:accessLevel").(int64)
}