Documentation
¶
Index ¶
- Variables
- func HasPasswordError(errs []error) bool
- func HasRepeatedError(errs []error) bool
- func HasSystemError(errs []error) bool
- func HasUserError(errs []error) bool
- func HasUsernameError(errs []error) bool
- func IsPasswordError(err error) bool
- func IsRepeatedError(err error) bool
- func IsUserError(err error) bool
- func IsUsernameError(err error) bool
- type FormState
- type PasswordHandler
- func (p PasswordHandler) ChangePass_GET(w http.ResponseWriter, r *http.Request)
- func (p PasswordHandler) ChangePass_POST(w http.ResponseWriter, r *http.Request)
- func (p PasswordHandler) ChangePass_Work(username, password, repeated string) error
- func (p PasswordHandler) Forgot_GET(w http.ResponseWriter, r *http.Request)
- func (p PasswordHandler) Forgot_POST(w http.ResponseWriter, r *http.Request)
- func (p PasswordHandler) HandlerChange(w http.ResponseWriter, r *http.Request)
- func (p PasswordHandler) HandlerForgot(w http.ResponseWriter, r *http.Request)
- func (p PasswordHandler) HandlerSignIn(w http.ResponseWriter, r *http.Request)
- func (p PasswordHandler) HandlerSignOut(w http.ResponseWriter, r *http.Request)
- func (p PasswordHandler) HandlerSignOutEverywhere(w http.ResponseWriter, r *http.Request)
- func (p PasswordHandler) HandlerSignUp(w http.ResponseWriter, r *http.Request)
- func (p PasswordHandler) HandlerTotp(w http.ResponseWriter, r *http.Request)
- func (p PasswordHandler) SignIn_GET(w http.ResponseWriter, r *http.Request)
- func (p PasswordHandler) SignIn_POST(w http.ResponseWriter, r *http.Request)
- func (p PasswordHandler) SignIn_Work(username, password string) (string, string, error)
- func (p PasswordHandler) SignUp_GET(w http.ResponseWriter, r *http.Request)
- func (p PasswordHandler) SignUp_POST(w http.ResponseWriter, r *http.Request)
- func (p PasswordHandler) SignUp_Work(username, password, repeated string) (string, string, []error)
- func (p PasswordHandler) Totp_GET(w http.ResponseWriter, r *http.Request)
- func (p PasswordHandler) Totp_PATCH(w http.ResponseWriter, r *http.Request)
- func (p PasswordHandler) Totp_POST(w http.ResponseWriter, r *http.Request)
- type PasswordRedirects
- type PasswordUi
- type RedirectFunc
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 HasRepeatedError ¶
func HasSystemError ¶
func HasUserError ¶
func HasUsernameError ¶
func IsPasswordError ¶
func IsRepeatedError ¶
func IsUserError ¶
func IsUsernameError ¶
Types ¶
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 ¶
Click to show internal directories.
Click to hide internal directories.