auth

package
v0.0.0-...-337f3ca Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2023 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TokenServiceKey = "token_csrf_helper"
	ServiceKey      = "auth"
)
View Source
const DefaultCookieKey = "admin_session"

Variables

This section is empty.

Functions

func Auth

func Auth(ctx *context.Context) models.UserModel

Auth get the user model from Context.

func Check

func Check(password string, username string, conn db.Connection) (user models.UserModel, ok bool)

Check check the password and username and return the user model.

func CheckPermissions

func CheckPermissions(user models.UserModel, path, method string, param url.Values) bool

CheckPermissions check the permission of the user.

func DelCookie

func DelCookie(ctx *context.Context, conn db.Connection) error

DelCookie delete the cookie from Context.

func EncodePassword

func EncodePassword(pwd []byte) string

EncodePassword encode the password.

func Filter

func Filter(ctx *context.Context, conn db.Connection) (models.UserModel, bool, bool)

Filter retrieve the user model from Context and check the permission at the same time.

func GetCurUser

func GetCurUser(sesKey string, conn db.Connection) (user models.UserModel, ok bool)

GetCurUser return the user model.

func GetCurUserByID

func GetCurUserByID(id int64, conn db.Connection) (user models.UserModel, ok bool)

GetCurUserByID return the user model of given user id.

func GetSessionByKey

func GetSessionByKey(sesKey, key string, conn db.Connection) (interface{}, error)

GetSessionByKey get the session value by key.

func GetUserID

func GetUserID(sesKey string, conn db.Connection) int64

GetUserID return the user id from the session.

func InitCSRFTokenSrv

func InitCSRFTokenSrv(conn db.Connection) (string, service.Service)

func Middleware

func Middleware(conn db.Connection) context.Handler

Middleware is the default auth middleware of plugins.

func SetCookie

func SetCookie(ctx *context.Context, user models.UserModel, conn db.Connection) error

SetCookie set the cookie.

Types

type CSRFToken

type CSRFToken []string

CSRFToken is type of a csrf token list.

type Config

type Config struct {
	Expires time.Duration
	Cookie  string
}

Config wraps the Session info.

type DBDriver

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

DBDriver is a driver which uses database as a persistence tool.

func (*DBDriver) Load

func (driver *DBDriver) Load(sid string) (map[string]interface{}, error)

Load implements the PersistenceDriver.Load.

func (*DBDriver) Update

func (driver *DBDriver) Update(sid string, values map[string]interface{}) error

Update implements the PersistenceDriver.Update.

type Invoker

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

Invoker contains the callback functions which are used in the route middleware.

func DefaultInvoker

func DefaultInvoker(conn db.Connection) *Invoker

DefaultInvoker return a default Invoker.

func SetPrefix

func SetPrefix(prefix string, conn db.Connection) *Invoker

SetPrefix return the default Invoker with the given prefix.

func (*Invoker) Middleware

func (invoker *Invoker) Middleware() context.Handler

Middleware get the auth middleware from Invoker.

func (*Invoker) SetAuthFailCallback

func (invoker *Invoker) SetAuthFailCallback(callback MiddlewareCallback) *Invoker

SetAuthFailCallback set the authFailCallback of Invoker.

func (*Invoker) SetPermissionDenyCallback

func (invoker *Invoker) SetPermissionDenyCallback(callback MiddlewareCallback) *Invoker

SetPermissionDenyCallback set the permissionDenyCallback of Invoker.

type MiddlewareCallback

type MiddlewareCallback func(ctx *context.Context)

MiddlewareCallback is type of callback function.

type PersistenceDriver

type PersistenceDriver interface {
	Load(string) (map[string]interface{}, error)
	Update(sid string, values map[string]interface{}) error
}

PersistenceDriver is a driver of storing and getting the session info.

type Processor

type Processor func(ctx *context.Context) (model models.UserModel, exist bool, msg string)

type Service

type Service struct {
	P Processor
}

func GetService

func GetService(s interface{}) *Service

func NewService

func NewService(processor Processor) *Service

func (*Service) Name

func (s *Service) Name() string

type Session

type Session struct {
	Expires time.Duration
	Cookie  string
	Values  map[string]interface{}
	Driver  PersistenceDriver
	Sid     string
	Context *context.Context
}

Session contains info of session.

func InitSession

func InitSession(ctx *context.Context, conn db.Connection) (*Session, error)

InitSession return the default Session.

func (*Session) Add

func (ses *Session) Add(key string, value interface{}) error

Add add the session value of key.

func (*Session) Clear

func (ses *Session) Clear() error

Clear clear a Session.

func (*Session) Get

func (ses *Session) Get(key string) interface{}

Get get the session value.

func (*Session) StartCtx

func (ses *Session) StartCtx(ctx *context.Context) (*Session, error)

StartCtx return a Session from the given Context.

func (*Session) UpdateConfig

func (ses *Session) UpdateConfig(config Config)

UpdateConfig update the Expires and Cookie of Session.

func (*Session) UseDriver

func (ses *Session) UseDriver(driver PersistenceDriver)

UseDriver set the driver of the Session.

type TokenService

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

func GetTokenService

func GetTokenService(s interface{}) *TokenService

func (*TokenService) AddToken

func (s *TokenService) AddToken() string

AddToken add the token to the CSRFToken.

func (*TokenService) CheckToken

func (s *TokenService) CheckToken(toCheckToken string) bool

CheckToken check the given token with tokens in the CSRFToken, if exist return true.

func (*TokenService) Name

func (s *TokenService) Name() string

Jump to

Keyboard shortcuts

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