auth

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2020 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultUser      = new(GenericUser)
	DefaultUserTable = "users"
	DefaultProvider  = "database"
	DefaultDriver    = "jwt"
	Auth             *AuthenticateManager
)
View Source
var (
	DefaultJwtAlg   = jwt.SigningMethodHS512
	JwtExpireSecond = 60 * 30
	JwtKey          = []byte("somerandomstring!!!!")
)
View Source
var (
	UserNameField = "username"
	PasswordField = "password"
)

Functions

func RegisterDriver

func RegisterDriver(name string, register AuthenticatorRegister)

func RegisterProvider

func RegisterProvider(name string, register ProviderRegister)

Types

type AuthMiddleware

type AuthMiddleware struct {
	// contains filtered or unexported fields
}

func NewAuthMiddleware

func NewAuthMiddleware(driver ...string) *AuthMiddleware

func (*AuthMiddleware) Handle

func (*AuthMiddleware) UnauthenticatedResponse

func (a *AuthMiddleware) UnauthenticatedResponse() contract.ResponseContract

type AuthenticateManager

type AuthenticateManager struct {
	// contains filtered or unexported fields
}

func (*AuthenticateManager) Auth

func (*AuthenticateManager) Check

func (*AuthenticateManager) Guard

func (m *AuthenticateManager) Guard(r contract.RequestContract) (User, error)

func (*AuthenticateManager) Use

func (m *AuthenticateManager) Use(name string) error

type Authenticator

type Authenticator interface {
	Guard(r contract.RequestContract) (User, error)
	Check(r contract.RequestContract) bool
	Auth(u User) contract.ResponseContract
}

type AuthenticatorRegister

type AuthenticatorRegister func() Authenticator

type DatabaseUserProvider

type DatabaseUserProvider struct {
	// contains filtered or unexported fields
}

func (*DatabaseUserProvider) FindUserById

func (d *DatabaseUserProvider) FindUserById(id uint64) (User, error)

func (*DatabaseUserProvider) FindUserByRequest

func (d *DatabaseUserProvider) FindUserByRequest(r contract.RequestContract) (User, error)

type GenericAuthenticator

type GenericAuthenticator struct {
	// contains filtered or unexported fields
}

func (*GenericAuthenticator) GetUserProvider

func (a *GenericAuthenticator) GetUserProvider() UserProvider

type GenericUser

type GenericUser struct {
	// contains filtered or unexported fields
}

func (*GenericUser) CloneUser

func (u *GenericUser) CloneUser() User

func (*GenericUser) MarshalJSON

func (u *GenericUser) MarshalJSON() ([]byte, error)

func (*GenericUser) Unmarshal

func (u *GenericUser) Unmarshal(data rithdb.CollectionItem)

func (*GenericUser) UserIdentifier

func (u *GenericUser) UserIdentifier() uint64

func (*GenericUser) UserIdentifierName

func (u *GenericUser) UserIdentifierName() string

type JwtAuthenticator

type JwtAuthenticator struct {
	GenericAuthenticator
}

func NewJwtAuthFromDefault

func NewJwtAuthFromDefault() *JwtAuthenticator

func (*JwtAuthenticator) Auth

func (j *JwtAuthenticator) Auth(u User) contract.ResponseContract

func (*JwtAuthenticator) Check

func (*JwtAuthenticator) FromUser

func (j *JwtAuthenticator) FromUser(u User) (string, error, int64)

func (*JwtAuthenticator) Guard

func (j *JwtAuthenticator) Guard(r contract.RequestContract) (User, error)

func (*JwtAuthenticator) Parse

func (j *JwtAuthenticator) Parse(token []byte) jwt.MapClaims

type JwtUser

type JwtUser interface {
	User
	GetJwtClaims() map[string]interface{}
}

type ProviderRegister

type ProviderRegister func() UserProvider

type UserProvider

type UserProvider interface {
	FindUserById(id uint64) (User, error)
	FindUserByRequest(r contract.RequestContract) (User, error)
}

Jump to

Keyboard shortcuts

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