Versions in this module Expand all Collapse all v1 v1.0.1 Aug 3, 2020 Changes in this version + type AuthDatabase interface + AddUser func(username, fullName, passwordHash, passwordSalt string, isDisabled bool) (userRow, error) + CreateUserSession func(token string, userID UserID, loginTime time.Time, lastSeenTime time.Time) error + GetUser func(username string) (userRow, error) + GetUserByID func(userID UserID) (userRow, error) + GetUserSession func(token string) (UserSession, error) + RemoveUserSession func(token string) error + UpdateUserSessionLastSeenTime func(token string, lastSeenTime time.Time) error + func NewInMemoryAuthDatabase() AuthDatabase + func NewPSQLAuthDatabase(db *sql.DB) (AuthDatabase, error) + type Authenticator interface + Authenticate func(token string) (User, error) + Signin func(username, password string) (string, error) + Signout func(token string) error + Signup func(fullname, username, password string) (string, error) + func NewInMemoryAuthenticator() (Authenticator, error) + func NewPSQLAuthenticator(sqldb *sql.DB) (Authenticator, error) + type User struct + FullName string + ID UserID + Username string + type UserID int + type UserSession struct + LastSeenTime time.Time + LoginTime time.Time + SessionKey string + UserID UserID