Documentation ¶
Index ¶
- Variables
- func CheckTokenHandler(validator TokenValidator) http.HandlerFunc
- func CreateUserHandler(writer UserWriter, access Scope) http.HandlerFunc
- func DeleteUserToken(store TokenRemover) http.HandlerFunc
- func GenerateUserTokenHandler(writer TokenGenerator) http.HandlerFunc
- func GetAllUsersHandler(reader UserReader, access Scope) http.HandlerFunc
- func GetUserTokens(reader TokenReader) http.HandlerFunc
- func LoginHandler(auth UserLoginHandler) http.HandlerFunc
- func LogoutHandler(auth UserLogoutHandler) http.HandlerFunc
- func Middleware(validator TokenValidator) func(http.Handler) http.Handler
- func WithContext(ctx context.Context, user *User, cs *Claims) context.Context
- type Auth
- func (a *Auth) CreateUser(u User) error
- func (a *Auth) DeleteUserToken(id string, u *User) error
- func (a *Auth) GenerateUserToken(owner, description string, scope Scope, expires time.Time) (Token, error)
- func (a *Auth) GetAllUsers() ([]*User, error)
- func (a *Auth) GetUser(ID string, u *User) error
- func (a *Auth) GetUserToken(id string, t *Token) error
- func (a *Auth) GetUserTokens(user string) ([]Token, error)
- func (a *Auth) Login(username, password string) (string, error)
- func (a *Auth) Logout(User) error
- func (a *Auth) ValidateToken(token string, u *User, cs *Claims, update bool) (string, error)
- type BoltStore
- func (s *BoltStore) AllUsers(page, pageSize int) ([]*User, error)
- func (s *BoltStore) DeleteUser(ID string) error
- func (s *BoltStore) DeleteUserToken(id string) error
- func (s *BoltStore) GetUser(ID string, u *User) error
- func (s *BoltStore) GetUserByUsername(username string, u *User) error
- func (s *BoltStore) GetUserToken(id string, t *Token) error
- func (s *BoltStore) GetUserTokenByValue(value string, t *Token) error
- func (s *BoltStore) GetUserTokens(user string) ([]Token, error)
- func (s *BoltStore) SaveUser(u User) error
- func (s *BoltStore) SaveUserToken(t Token) error
- type CheckRequest
- type Claims
- type Err
- type Opts
- type Scope
- type Token
- type TokenGenerator
- type TokenReader
- type TokenRemover
- type TokenValidator
- type User
- type UserLoginHandler
- type UserLogoutHandler
- type UserReadWriter
- type UserReader
- type UserStore
- type UserTokenStore
- type UserWriter
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrNotFound = errors.New("user not found") ErrExists = errors.New("user exists") ErrWrongUserPass = errors.New("wrong username or password") ErrTokenExpired = errors.New("token expired") )
View Source
var ErrInvalidJwt = errors.New("invalid jwt")
View Source
var Scopes = map[Scope]string{}
Scopes can be overridden to provide human friendly scope descriptions
Functions ¶
func CheckTokenHandler ¶
func CheckTokenHandler(validator TokenValidator) http.HandlerFunc
func CreateUserHandler ¶
func CreateUserHandler(writer UserWriter, access Scope) http.HandlerFunc
func DeleteUserToken ¶ added in v1.4.0
func DeleteUserToken(store TokenRemover) http.HandlerFunc
func GenerateUserTokenHandler ¶ added in v1.4.0
func GenerateUserTokenHandler(writer TokenGenerator) http.HandlerFunc
func GetAllUsersHandler ¶ added in v1.4.0
func GetAllUsersHandler(reader UserReader, access Scope) http.HandlerFunc
func GetUserTokens ¶ added in v1.4.0
func GetUserTokens(reader TokenReader) http.HandlerFunc
func LoginHandler ¶
func LoginHandler(auth UserLoginHandler) http.HandlerFunc
func LogoutHandler ¶
func LogoutHandler(auth UserLogoutHandler) http.HandlerFunc
func Middleware ¶ added in v1.4.0
func Middleware(validator TokenValidator) func(http.Handler) http.Handler
Types ¶
type Auth ¶ added in v1.4.0
type Auth struct {
// contains filtered or unexported fields
}
func New ¶ added in v1.4.0
func New(users UserStore, tokens UserTokenStore, opts Opts) *Auth
New returns a default authentication service
func (*Auth) CreateUser ¶ added in v1.4.0
func (*Auth) DeleteUserToken ¶ added in v1.4.0
func (*Auth) GenerateUserToken ¶ added in v1.4.0
func (*Auth) GetAllUsers ¶ added in v1.4.0
func (*Auth) GetUserTokens ¶ added in v1.4.0
type BoltStore ¶
type BoltStore struct {
// contains filtered or unexported fields
}
func NewBoltStore ¶
func (*BoltStore) DeleteUser ¶ added in v1.4.0
func (*BoltStore) DeleteUserToken ¶ added in v1.4.0
func (*BoltStore) GetUserByUsername ¶ added in v1.4.0
func (*BoltStore) GetUserToken ¶ added in v1.4.0
func (*BoltStore) GetUserTokenByValue ¶ added in v1.4.0
func (*BoltStore) GetUserTokens ¶ added in v1.4.0
func (*BoltStore) SaveUserToken ¶ added in v1.4.0
type CheckRequest ¶ added in v1.4.0
type Claims ¶
type Claims struct { jwt.StandardClaims Username string `json:"username"` Name string `json:"name"` Scope Scope `json:"scope"` }
Claims contains specific claims used in the auth system
type Err ¶ added in v1.4.0
type Err struct {
Error string `json:"error"`
}
Err is a json error wrapper
type TokenGenerator ¶ added in v1.4.0
type TokenReader ¶ added in v1.4.0
type TokenRemover ¶ added in v1.4.0
type TokenValidator ¶
type User ¶
type User struct { ID string `json:"id" yaml:"id,omitempty" storm:"unique"` Username string `json:"username" yaml:"username" storm:"unique"` Name string `json:"name" yaml:"name"` Password string `json:"password,omitempty" yaml:"password,omitempty"` Scope Scope `json:"scope" yaml:"scope"` }
User contains user properties
func ContextUser ¶ added in v1.4.0
func LoadUsersFromFile ¶ added in v1.4.0
type UserLoginHandler ¶
UserLoginHandler is an access layer for user-related operations
type UserLogoutHandler ¶
type UserReadWriter ¶ added in v1.4.0
type UserReadWriter interface { UserReader UserWriter }
type UserReader ¶
type UserTokenStore ¶ added in v1.4.0
type UserWriter ¶ added in v1.4.0
Source Files ¶
Click to show internal directories.
Click to hide internal directories.