auth

package
v0.9.82 Latest Latest
Warning

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

Go to latest
Published: Aug 6, 2022 License: LGPL-3.0 Imports: 18 Imported by: 6

Documentation

Index

Constants

Variables

View Source
var DEFAULT_PERMISSION_WHEN_ON_ADMIN = GuestCRUD | GuestExecute | UserCRUD | UserExecute | GroupCRUD | GroupExecute
View Source
var LocalUserCacheLock = sync.Mutex{}

var LocalUserCacheMap = make(map[string]CachedUserAccount)

View Source
var UserGroupSelectQuery = statementbuilder.Squirrel.Select(
	goqu.I("ug.reference_id").As("groupreferenceid"),
	goqu.I("uug.reference_id").As("relationreferenceid"),
	goqu.I("uug.permission")).
	From(goqu.T("usergroup").As("ug")).
	Join(goqu.T("user_account_user_account_id_has_usergroup_usergroup_id").As("uug"),
		goqu.On(goqu.Ex{
			"uug.usergroup_id": goqu.I("ug.id"),
		}))

Functions

func BcryptCheckStringHash added in v0.6.5

func BcryptCheckStringHash(newString, hash string) bool

func CheckErr added in v0.6.5

func CheckErr(err error, message ...interface{})

func InitJwtMiddleware

func InitJwtMiddleware(secret []byte, issuer string, db *olric.Olric)

func PrepareAuthQueries added in v0.9.9

func PrepareAuthQueries()

func StartsWith

func StartsWith(bigStr string, smallString string) bool

Types

type AuthMiddleware added in v0.6.5

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

func NewAuthMiddlewareBuilder

func NewAuthMiddlewareBuilder(db database.DatabaseConnection, issuer string, olricDb *olric.Olric) *AuthMiddleware

func (*AuthMiddleware) AuthCheckMiddleware added in v0.6.5

func (a *AuthMiddleware) AuthCheckMiddleware(c *gin.Context)

func (*AuthMiddleware) AuthCheckMiddlewareWithHttp added in v0.6.5

func (a *AuthMiddleware) AuthCheckMiddlewareWithHttp(req *http.Request, writer http.ResponseWriter,
	doBasicAuthCheck bool) (okToContinue, abortRequest bool, returnRequest *http.Request)

func (*AuthMiddleware) BasicAuthCheckMiddlewareWithHttp added in v0.6.5

func (a *AuthMiddleware) BasicAuthCheckMiddlewareWithHttp(req *http.Request, writer http.ResponseWriter) (token *jwt.Token, err error)

func (*AuthMiddleware) SetUserCrud added in v0.6.5

func (a *AuthMiddleware) SetUserCrud(curd ResourceAdapter)

func (*AuthMiddleware) SetUserGroupCrud added in v0.6.5

func (a *AuthMiddleware) SetUserGroupCrud(curd ResourceAdapter)

func (*AuthMiddleware) SetUserUserGroupCrud added in v0.6.5

func (a *AuthMiddleware) SetUserUserGroupCrud(curd ResourceAdapter)

type AuthPermission added in v0.5.7

type AuthPermission int64
const (
	GuestPeek AuthPermission = 1 << iota
	GuestRead
	GuestCreate
	GuestUpdate
	GuestDelete
	GuestExecute
	GuestRefer
	UserPeek
	UserRead
	UserCreate
	UserUpdate
	UserDelete
	UserExecute
	UserRefer
	GroupPeek
	GroupRead
	GroupCreate
	GroupUpdate
	GroupDelete
	GroupExecute
	GroupRefer
)
const None AuthPermission = iota

func (AuthPermission) String added in v0.5.7

func (a AuthPermission) String() string

type CachedUserAccount added in v0.9.9

type CachedUserAccount struct {
	Account SessionUser
	Expiry  time.Time
}

type GroupPermission

type GroupPermission struct {
	GroupReferenceId    string `db:"groupreferenceid"`
	ObjectReferenceId   string `db:"objectreferenceid"`
	RelationReferenceId string `db:"relationreferenceid"`
	Permission          AuthPermission
}

type ResourceAdapter added in v0.6.5

type ResourceAdapter interface {
	api2go.CRUD
	GetUserPassword(email string) (string, error)
}

type SessionUser added in v0.4.0

type SessionUser struct {
	UserId          int64
	UserReferenceId string
	Groups          []GroupPermission
}

Jump to

Keyboard shortcuts

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