password

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUsernameTooShort      = errors.New("username: too short")
	ErrUsernameTooLong       = errors.New("username: too long")
	ErrUsernameInvalidFormat = errors.New("username: invalid format")
	ErrUsernameTaken         = errors.New("username: already taken")
	ErrPasswordTooShort      = errors.New("password: too short")
	ErrPasswordTooLong       = errors.New("password: too long")
	ErrPassNoMatch           = errors.New("password: does not match")
	ErrBadLogin              = errors.New("generic: bad login")
	ErrTOTPMismatch          = errors.New("TOTP: code mismatch")
	ErrInternalServer        = errors.New("generic: internal server error")
)

User-facing errors

Functions

func HasPasswordError

func HasPasswordError(errs []error) bool

func HasRepeatedError

func HasRepeatedError(errs []error) bool

func HasSystemError

func HasSystemError(errs []error) bool

func HasUserError

func HasUserError(errs []error) bool

func HasUsernameError

func HasUsernameError(errs []error) bool

func IsPasswordError

func IsPasswordError(err error) bool

func IsRepeatedError

func IsRepeatedError(err error) bool

func IsUserError

func IsUserError(err error) bool

func IsUsernameError

func IsUsernameError(err error) bool

Types

type FormState

type FormState struct {
	Username string
	Errors   []error
}

type PasswordHandler

type PasswordHandler struct {
	UsernameValidate func(s string) []error
	Database         storage.DbPassword
	Ui               PasswordUi
	Redirects        PasswordRedirects
}

func (PasswordHandler) ChangePass_GET

func (p PasswordHandler) ChangePass_GET(w http.ResponseWriter, r *http.Request)

func (PasswordHandler) ChangePass_POST

func (p PasswordHandler) ChangePass_POST(w http.ResponseWriter, r *http.Request)

func (PasswordHandler) ChangePass_Work

func (p PasswordHandler) ChangePass_Work(username, password, repeated string) error

func (PasswordHandler) Forgot_GET

func (p PasswordHandler) Forgot_GET(w http.ResponseWriter, r *http.Request)

func (PasswordHandler) Forgot_POST

func (p PasswordHandler) Forgot_POST(w http.ResponseWriter, r *http.Request)

func (PasswordHandler) HandlerChange

func (p PasswordHandler) HandlerChange(w http.ResponseWriter, r *http.Request)

func (PasswordHandler) HandlerForgot

func (p PasswordHandler) HandlerForgot(w http.ResponseWriter, r *http.Request)

func (PasswordHandler) HandlerSignIn

func (p PasswordHandler) HandlerSignIn(w http.ResponseWriter, r *http.Request)

func (PasswordHandler) HandlerSignOut

func (p PasswordHandler) HandlerSignOut(w http.ResponseWriter, r *http.Request)

func (PasswordHandler) HandlerSignOutEverywhere

func (p PasswordHandler) HandlerSignOutEverywhere(w http.ResponseWriter, r *http.Request)

func (PasswordHandler) HandlerSignUp

func (p PasswordHandler) HandlerSignUp(w http.ResponseWriter, r *http.Request)

func (PasswordHandler) HandlerTotp

func (p PasswordHandler) HandlerTotp(w http.ResponseWriter, r *http.Request)

func (PasswordHandler) SignIn_GET

func (p PasswordHandler) SignIn_GET(w http.ResponseWriter, r *http.Request)

func (PasswordHandler) SignIn_POST

func (p PasswordHandler) SignIn_POST(w http.ResponseWriter, r *http.Request)

func (PasswordHandler) SignIn_Work

func (p PasswordHandler) SignIn_Work(username, password string) (string, string, error)

func (PasswordHandler) SignUp_GET

func (p PasswordHandler) SignUp_GET(w http.ResponseWriter, r *http.Request)

func (PasswordHandler) SignUp_POST

func (p PasswordHandler) SignUp_POST(w http.ResponseWriter, r *http.Request)

func (PasswordHandler) SignUp_Work

func (p PasswordHandler) SignUp_Work(username, password, repeated string) (string, string, []error)

func (PasswordHandler) Totp_GET

func (p PasswordHandler) Totp_GET(w http.ResponseWriter, r *http.Request)

func (PasswordHandler) Totp_PATCH

func (p PasswordHandler) Totp_PATCH(w http.ResponseWriter, r *http.Request)

TODO: on patch, update secret in db

func (PasswordHandler) Totp_POST

func (p PasswordHandler) Totp_POST(w http.ResponseWriter, r *http.Request)

type PasswordRedirects

type PasswordRedirects struct {
	BeforeSignUp  RedirectFunc
	BeforeSignIn  RedirectFunc
	BeforeSignOut RedirectFunc
	AfterSignUp   RedirectFunc
	AfterSignIn   RedirectFunc
	AfterSignOut  RedirectFunc
}

type PasswordUi

type PasswordUi struct {
	HtmlPageSignUp func(*http.Request, FormState) []byte
	HtmlPageSignIn func(*http.Request, FormState) []byte
	HtmlPageChange func(*http.Request, FormState) []byte
	HtmlPageForgot func(*http.Request, FormState) []byte
	HtmlPageTotp   func(r *http.Request, state FormState, qr []byte, skipRedirectUrl string, totpSecret string) []byte
}

type RedirectFunc

type RedirectFunc func(*http.Request) string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL