token

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2025 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultKey = "github.com/virzz/ginx/auth"
	TokenKey   = "github.com/virzz/ginx/auth/token"
)

Variables

This section is empty.

Functions

func AuthMW

func AuthMW() gin.HandlerFunc

func Init

func Init(s *redis.Client, data ...Data) gin.HandlerFunc

func IsRole

func IsRole(c *gin.Context, role string) bool

func New

func New() string

func RoleMW

func RoleMW(roles ...string) gin.HandlerFunc

Types

type Data

type Data interface {
	Token() string
	ID() string
	Account() string
	Roles() []string
	Items() DataMap
	Get(string) any
	New() string
	Set(string, any) Data
	SetToken(string) Data
	SetID(string) Data
	SetAccount(string) Data
	SetValues(string, any) Data
	SetRoles([]string) Data
	Delete(string) Data
}

type DataMap

type DataMap map[string]any

func (DataMap) MarshalBinary

func (d DataMap) MarshalBinary() ([]byte, error)

func (*DataMap) UnmarshalBinary

func (d *DataMap) UnmarshalBinary(buf []byte) error

func (*DataMap) UnmarshalJSON

func (d *DataMap) UnmarshalJSON(buf []byte) error

func (*DataMap) UnmarshalText

func (d *DataMap) UnmarshalText(buf []byte) error

type DataStringSlice

type DataStringSlice []string

func (DataStringSlice) MarshalBinary

func (d DataStringSlice) MarshalBinary() ([]byte, error)

func (*DataStringSlice) UnmarshalBinary

func (d *DataStringSlice) UnmarshalBinary(buf []byte) error

func (*DataStringSlice) UnmarshalJSON

func (d *DataStringSlice) UnmarshalJSON(buf []byte) error

func (*DataStringSlice) UnmarshalText

func (d *DataStringSlice) UnmarshalText(buf []byte) error

type DefaultData

type DefaultData struct {
	Token_   string          `json:"token" redis:"token"`
	ID_      string          `json:"id" redis:"id"`
	Account_ string          `json:"account" redis:"account"`
	Roles_   DataStringSlice `json:"roles" redis:"roles"`
	Items_   DataMap         `json:"items" redis:"items"`
}

func (*DefaultData) Account

func (d *DefaultData) Account() string

func (*DefaultData) Delete

func (d *DefaultData) Delete(key string) Data

func (*DefaultData) Get

func (d *DefaultData) Get(key string) any

func (*DefaultData) ID

func (d *DefaultData) ID() string

func (*DefaultData) Items

func (d *DefaultData) Items() DataMap

func (*DefaultData) New

func (d *DefaultData) New() string

func (*DefaultData) Roles

func (d *DefaultData) Roles() []string

func (*DefaultData) Set

func (d *DefaultData) Set(key string, val any) Data

func (*DefaultData) SetAccount

func (d *DefaultData) SetAccount(v string) Data

func (*DefaultData) SetID

func (d *DefaultData) SetID(v string) Data

func (*DefaultData) SetRoles

func (d *DefaultData) SetRoles(v []string) Data

func (*DefaultData) SetToken

func (d *DefaultData) SetToken(v string) Data

func (*DefaultData) SetValues

func (d *DefaultData) SetValues(k string, v any) Data

func (*DefaultData) Token

func (d *DefaultData) Token() string

type RedisStore

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

func NewRedisStore

func NewRedisStore(client redis.UniversalClient, maxAge ...int) (*RedisStore, error)

func (*RedisStore) Clear

func (s *RedisStore) Clear(ctx context.Context, v Data) error

func (*RedisStore) Get

func (s *RedisStore) Get(ctx context.Context, v Data) error

func (*RedisStore) Save

func (s *RedisStore) Save(ctx context.Context, v Data, lifetime ...time.Duration) error

type Session

type Session struct {
	IsNil bool

	Token_ string
	// contains filtered or unexported fields
}

func Default

func Default(c *gin.Context) *Session

func NewSession

func NewSession(ctx context.Context, store *redis.Client, data Data, maxAge ...int) *Session

func (*Session) Account

func (s *Session) Account() string

func (*Session) Clear

func (s *Session) Clear()

func (*Session) Data

func (s *Session) Data() Data

func (*Session) Delete

func (s *Session) Delete(key string)

func (*Session) Get

func (s *Session) Get(key string) any

func (*Session) HasRole

func (s *Session) HasRole(role string) bool

func (*Session) ID

func (s *Session) ID() string

func (*Session) MarshalJSON

func (s *Session) MarshalJSON() ([]byte, error)

func (*Session) Roles

func (s *Session) Roles() []string

func (*Session) Save

func (s *Session) Save(lifetime ...time.Duration) error

func (*Session) Set

func (s *Session) Set(key string, val any)

func (*Session) SetAccount

func (s *Session) SetAccount(val string)

func (*Session) SetID

func (s *Session) SetID(val string)

func (*Session) SetRoles

func (s *Session) SetRoles(roles []string)

func (*Session) SetValues

func (s *Session) SetValues(key string, val any)

func (*Session) Token

func (s *Session) Token() string

func (*Session) UnmarshalJSON

func (s *Session) UnmarshalJSON(data []byte) error

Jump to

Keyboard shortcuts

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