Versions in this module Expand all Collapse all v2 v2.0.0 Nov 21, 2023 Changes in this version + const RoleAdmin + const RoleUser + func CheckPasswordHash(hash, password []byte) error + func HashPassword(password []byte) ([]byte, error) + func Redirect(state *State, w http.ResponseWriter, r *http.Request) + type Config struct + CookieSecure bool + DbPath string + LoginPath string + SessionLifetimeHours int + SignupPath string + type DB struct + func (db *DB) Auth(username, password string) bool + func (db *DB) DeleteUser(username string) error + func (db *DB) DoesUserExist(username string) bool + func (db *DB) NewAdmin(username, password string) error + func (db *DB) NewUser(username, password string) error + func (db *DB) UpdatePass(username string, hash []byte) error + func (db *DB) Userlist() ([]string, error) + type State struct + Cfg Config + func NewAuthState(cfg Config) *State + func NewAuthStateWithDB(db *DB, cfg Config) *State + func (s *State) LoadAndSave(next http.Handler) http.Handler + func (state *State) AdminsOnly(next http.HandlerFunc) http.HandlerFunc + func (state *State) AdminsOnlyH(next http.Handler) http.Handler + func (state *State) AnyUsers() bool + func (state *State) CloseDB() + func (state *State) GetFlash(r *http.Request) string + func (state *State) GetRedirect(r *http.Request) string + func (state *State) GetUser(r *http.Request) *User + func (state *State) IsLoggedIn(r *http.Request) bool + func (state *State) Login(username string, r *http.Request) + func (state *State) LogoutHandler(w http.ResponseWriter, r *http.Request) + func (state *State) SetFlash(msg string, r *http.Request) + func (state *State) UsersOnly(next http.HandlerFunc) http.HandlerFunc + func (state *State) UsersOnlyH(next http.Handler) http.Handler + type User struct + Name string + Role string + func (u *User) GetName() string + func (u *User) IsAdmin() bool + func (u *User) IsValid() bool