Documentation ¶
Index ¶
- Constants
- Variables
- func GenerateRandomBytes(n int) ([]byte, error)
- func GenerateRandomURLSafeString(n int) (string, error)
- func SetToken(token string, r *http.Request)
- func SetUser(usr User, r *http.Request)
- func TokenFromContext(r *http.Request) (string, bool)
- type ApiUserToken
- type CreateUser
- type MagicToken
- type MagicTokenRepo
- type MagicTokenRepoGorm
- type Messenger
- type ParamExtractor
- type Renderer
- type User
- type UserHandler
- func (uh *UserHandler) DeleteUserToken(w http.ResponseWriter, r *http.Request)
- func (uh *UserHandler) DoLogin(w http.ResponseWriter, r *http.Request)
- func (uh *UserHandler) DoLogout(w http.ResponseWriter, r *http.Request)
- func (uh *UserHandler) DoRedeemLogin(w http.ResponseWriter, r *http.Request)
- func (uh *UserHandler) DoSetup(w http.ResponseWriter, r *http.Request)
- func (uh *UserHandler) DoUpdateUser(w http.ResponseWriter, r *http.Request)
- func (uh *UserHandler) GetUserTokens(w http.ResponseWriter, r *http.Request)
- func (uh *UserHandler) ShowLogin(w http.ResponseWriter, r *http.Request)
- func (uh *UserHandler) ShowSetup(w http.ResponseWriter, r *http.Request)
- type UserHandlerConfig
- func AuthSuccessRoute(authSuccessRoute string) UserHandlerConfig
- func LoginRoute(loginRoute string) UserHandlerConfig
- func LoginTplKey(loginTplKey string) UserHandlerConfig
- func RememberMeCookieKey(rememberMeCookieKey string) UserHandlerConfig
- func SessionKey(sessionKey string) UserHandlerConfig
- func SessionTokenKey(sessionTokenKey string) UserHandlerConfig
- func SetupRoute(setupRoute string) UserHandlerConfig
- func SetupTplKey(setupTplKey string) UserHandlerConfig
- type UserManager
- func (um *UserManager) CreateAdminUser(email, name, password string) (User, error)
- func (um *UserManager) DeleteToken(user User, token string) error
- func (um *UserManager) DeleteTokenById(user User, tokenID string) error
- func (um *UserManager) FindById(id string) (User, error)
- func (um *UserManager) InitiateLogin(email string) error
- func (um *UserManager) ListUserTokens(userID string) ([]ApiUserToken, error)
- func (um *UserManager) LoadUserByToken(token string) (User, error)
- func (um *UserManager) RedeemLogin(token, mtID, fingerprint string) (User, UserToken, error)
- func (um *UserManager) TryLogin(email, password, fingerprint string) (User, UserToken, error)
- func (um *UserManager) UpdateUser(currentUser User, r io.Reader) error
- func (um *UserManager) UsersCount() (int64, error)
- type UserRepo
- type UserRepoGorm
- func (u *UserRepoGorm) FindUser(id string) (User, error)
- func (u *UserRepoGorm) GetCount() (int64, error)
- func (u *UserRepoGorm) GetForLogin(email string) (CreateUser, error)
- func (u *UserRepoGorm) ListUsers() ([]User, error)
- func (u *UserRepoGorm) Store(createUser CreateUser) (User, error)
- func (u *UserRepoGorm) UpdateUser(user User) error
- type UserRole
- type UserToken
- type UserTokenRepo
- type UserTokenRepoGorm
- func (u *UserTokenRepoGorm) DeleteToken(token string) error
- func (u *UserTokenRepoGorm) DeleteTokenById(tokenID string) error
- func (u *UserTokenRepoGorm) FindById(tokenID string) (UserToken, error)
- func (u *UserTokenRepoGorm) FindUserToken(token string) (UserToken, error)
- func (u *UserTokenRepoGorm) ListUserTokens(userID string) ([]ApiUserToken, error)
- func (u *UserTokenRepoGorm) Store(userToken UserToken) (UserToken, error)
Constants ¶
View Source
const ( RoleAdmin UserRole = "Admin" RoleSupervisor = "Supervisor" RoleEditor = "Editor" )
Variables ¶
View Source
var ErrorAuthenticating = errors.New("error authenticating")
View Source
var ErrorUpdateNotAuthorized = errors.New("update not authorized")
View Source
var ErrorUserNotOwner = errors.New("user does not own token")
Functions ¶
func GenerateRandomBytes ¶
Types ¶
type ApiUserToken ¶
type CreateUser ¶
type MagicToken ¶
type MagicTokenRepo ¶
type MagicTokenRepo interface { Store(userID, token string) (string, error) Find(id string) (MagicToken, error) Delete(id string) error }
func NewMagicTokenRepoGorm ¶
func NewMagicTokenRepoGorm(db *gorm.DB) MagicTokenRepo
type MagicTokenRepoGorm ¶
type MagicTokenRepoGorm struct {
// contains filtered or unexported fields
}
func (MagicTokenRepoGorm) Delete ¶
func (m MagicTokenRepoGorm) Delete(id string) error
func (MagicTokenRepoGorm) Find ¶
func (m MagicTokenRepoGorm) Find(id string) (MagicToken, error)
type Renderer ¶ added in v0.2.0
type Renderer interface { SetErrorFlash(w http.ResponseWriter, r *http.Request, message string) SetSuccessFlash(w http.ResponseWriter, r *http.Request, message string) Redirect(w http.ResponseWriter, r *http.Request, url string) RenderPage(w http.ResponseWriter, r *http.Request, key string, data map[string]interface{}) RenderJson(w http.ResponseWriter, data interface{}) Get(r *http.Request, key string) (*sessions.Session, error) }
type User ¶
type UserHandler ¶
type UserHandler struct { Renderer // contains filtered or unexported fields }
func NewUserHandler ¶
func NewUserHandler(renderer Renderer, userManager *UserManager, paramExtractor ParamExtractor, opts ...UserHandlerConfig) *UserHandler
func (*UserHandler) DeleteUserToken ¶
func (uh *UserHandler) DeleteUserToken(w http.ResponseWriter, r *http.Request)
func (*UserHandler) DoLogin ¶
func (uh *UserHandler) DoLogin(w http.ResponseWriter, r *http.Request)
func (*UserHandler) DoLogout ¶
func (uh *UserHandler) DoLogout(w http.ResponseWriter, r *http.Request)
func (*UserHandler) DoRedeemLogin ¶
func (uh *UserHandler) DoRedeemLogin(w http.ResponseWriter, r *http.Request)
func (*UserHandler) DoSetup ¶
func (uh *UserHandler) DoSetup(w http.ResponseWriter, r *http.Request)
func (*UserHandler) DoUpdateUser ¶
func (uh *UserHandler) DoUpdateUser(w http.ResponseWriter, r *http.Request)
func (*UserHandler) GetUserTokens ¶
func (uh *UserHandler) GetUserTokens(w http.ResponseWriter, r *http.Request)
func (*UserHandler) ShowLogin ¶
func (uh *UserHandler) ShowLogin(w http.ResponseWriter, r *http.Request)
func (*UserHandler) ShowSetup ¶
func (uh *UserHandler) ShowSetup(w http.ResponseWriter, r *http.Request)
type UserHandlerConfig ¶
type UserHandlerConfig func(*UserHandler) error
func AuthSuccessRoute ¶
func AuthSuccessRoute(authSuccessRoute string) UserHandlerConfig
func LoginRoute ¶
func LoginRoute(loginRoute string) UserHandlerConfig
func LoginTplKey ¶
func LoginTplKey(loginTplKey string) UserHandlerConfig
func RememberMeCookieKey ¶
func RememberMeCookieKey(rememberMeCookieKey string) UserHandlerConfig
func SessionKey ¶
func SessionKey(sessionKey string) UserHandlerConfig
func SessionTokenKey ¶
func SessionTokenKey(sessionTokenKey string) UserHandlerConfig
func SetupRoute ¶
func SetupRoute(setupRoute string) UserHandlerConfig
func SetupTplKey ¶
func SetupTplKey(setupTplKey string) UserHandlerConfig
type UserManager ¶
type UserManager struct {
// contains filtered or unexported fields
}
func NewUserManager ¶
func NewUserManager(userRepo UserRepo, userTokenRepo UserTokenRepo, magicTokenRepo MagicTokenRepo, adminRole int, msg Messenger, sender messaging.Sender, fromAddress string) *UserManager
func (*UserManager) CreateAdminUser ¶
func (um *UserManager) CreateAdminUser(email, name, password string) (User, error)
func (*UserManager) DeleteToken ¶
func (um *UserManager) DeleteToken(user User, token string) error
func (*UserManager) DeleteTokenById ¶
func (um *UserManager) DeleteTokenById(user User, tokenID string) error
func (*UserManager) InitiateLogin ¶
func (um *UserManager) InitiateLogin(email string) error
func (*UserManager) ListUserTokens ¶
func (um *UserManager) ListUserTokens(userID string) ([]ApiUserToken, error)
func (*UserManager) LoadUserByToken ¶
func (um *UserManager) LoadUserByToken(token string) (User, error)
func (*UserManager) RedeemLogin ¶
func (um *UserManager) RedeemLogin(token, mtID, fingerprint string) (User, UserToken, error)
func (*UserManager) TryLogin ¶
func (um *UserManager) TryLogin(email, password, fingerprint string) (User, UserToken, error)
func (*UserManager) UpdateUser ¶
func (um *UserManager) UpdateUser(currentUser User, r io.Reader) error
func (*UserManager) UsersCount ¶
func (um *UserManager) UsersCount() (int64, error)
type UserRepo ¶
type UserRepo interface { Store(createUser CreateUser) (User, error) FindUser(id string) (User, error) GetForLogin(email string) (CreateUser, error) GetCount() (int64, error) ListUsers() ([]User, error) UpdateUser(user User) error }
func NewUserRepoGorm ¶
type UserRepoGorm ¶
type UserRepoGorm struct {
// contains filtered or unexported fields
}
func (*UserRepoGorm) GetCount ¶
func (u *UserRepoGorm) GetCount() (int64, error)
func (*UserRepoGorm) GetForLogin ¶
func (u *UserRepoGorm) GetForLogin(email string) (CreateUser, error)
func (*UserRepoGorm) ListUsers ¶
func (u *UserRepoGorm) ListUsers() ([]User, error)
func (*UserRepoGorm) Store ¶
func (u *UserRepoGorm) Store(createUser CreateUser) (User, error)
func (*UserRepoGorm) UpdateUser ¶
func (u *UserRepoGorm) UpdateUser(user User) error
type UserTokenRepo ¶
type UserTokenRepo interface { Store(userToken UserToken) (UserToken, error) FindUserToken(token string) (UserToken, error) FindById(tokenID string) (UserToken, error) ListUserTokens(userID string) ([]ApiUserToken, error) DeleteToken(token string) error DeleteTokenById(tokenID string) error }
func NewUserTokenRepoGorm ¶
func NewUserTokenRepoGorm(db *gorm.DB) UserTokenRepo
type UserTokenRepoGorm ¶
type UserTokenRepoGorm struct {
// contains filtered or unexported fields
}
func (*UserTokenRepoGorm) DeleteToken ¶
func (u *UserTokenRepoGorm) DeleteToken(token string) error
func (*UserTokenRepoGorm) DeleteTokenById ¶
func (u *UserTokenRepoGorm) DeleteTokenById(tokenID string) error
func (*UserTokenRepoGorm) FindById ¶
func (u *UserTokenRepoGorm) FindById(tokenID string) (UserToken, error)
func (*UserTokenRepoGorm) FindUserToken ¶
func (u *UserTokenRepoGorm) FindUserToken(token string) (UserToken, error)
func (*UserTokenRepoGorm) ListUserTokens ¶
func (u *UserTokenRepoGorm) ListUserTokens(userID string) ([]ApiUserToken, error)
Click to show internal directories.
Click to hide internal directories.