Help us shape the future of Go! Take the 2026 Go Developer Survey

session

package
v1.27.3 Latest Latest
Warning

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

Go to latest
Published: Aug 29, 2026 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KeyUID   = "uid"
	KeyUname = "uname"

	KeyUserHasTwoFactorAuth = "userHasTwoFactorAuth"

	// KeySignInMethod records how the current session was authenticated so logout
	// can decide whether RP-initiated OIDC logout is appropriate.
	KeySignInMethod = "signInMethod"

	SignInMethodOAuth2 = "oauth2"
)

Variables

View Source
var BeforeRegenerateSession []func(http.ResponseWriter, *http.Request)

BeforeRegenerateSession is a list of functions that are called before a session is regenerated.

View Source
var MockStoreContextKey = mockStoreContextKeyStruct{}

Functions

This section is empty.

Types

type DBProvider added in v1.27.0

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

DBProvider represents a DB session provider implementation.

func (*DBProvider) Count added in v1.27.0

func (p *DBProvider) Count() (int, error)

Count counts and returns number of sessions.

func (*DBProvider) Destroy added in v1.27.0

func (p *DBProvider) Destroy(sid string) error

Destroy deletes a session by session ID.

func (*DBProvider) Exist added in v1.27.0

func (p *DBProvider) Exist(sid string) (bool, error)

Exist returns true if session with given ID exists.

func (*DBProvider) GC added in v1.27.0

func (p *DBProvider) GC()

GC calls GC to clean expired sessions.

func (*DBProvider) Init added in v1.27.0

func (p *DBProvider) Init(maxLifetime int64, connStr string) error

Init initializes DB session provider. connStr: username:password@protocol(address)/dbname?param=value

func (*DBProvider) Read added in v1.27.0

func (p *DBProvider) Read(sid string) (session.RawStore, error)

Read returns raw session store by session ID.

func (*DBProvider) Regenerate added in v1.27.0

func (p *DBProvider) Regenerate(oldsid, sid string) (_ session.RawStore, err error)

Regenerate regenerates a session store from old session ID to new one.

type DBStore added in v1.27.0

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

DBStore represents a session store implementation based on the DB.

func NewDBStore added in v1.27.0

func NewDBStore(sid string, kv map[any]any) *DBStore

NewDBStore creates and returns a DB session store.

func (*DBStore) Delete added in v1.27.0

func (s *DBStore) Delete(key any) error

Delete delete a key from session.

func (*DBStore) Flush added in v1.27.0

func (s *DBStore) Flush() error

Flush deletes all session data.

func (*DBStore) Get added in v1.27.0

func (s *DBStore) Get(key any) any

Get gets value by given key in session.

func (*DBStore) ID added in v1.27.0

func (s *DBStore) ID() string

ID returns current session ID.

func (*DBStore) Release added in v1.27.0

func (s *DBStore) Release() error

Release releases resource and save data to provider.

func (*DBStore) Set added in v1.27.0

func (s *DBStore) Set(key, val any) error

Set sets value to given key in session.

type RawStore added in v1.27.0

type RawStore = session.RawStore

type RedisProvider added in v1.27.0

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

RedisProvider represents a redis session provider implementation.

func (*RedisProvider) Count added in v1.27.0

func (p *RedisProvider) Count() (int, error)

Count counts and returns number of sessions.

func (*RedisProvider) Destroy added in v1.27.0

func (p *RedisProvider) Destroy(sid string) error

Destroy deletes a session by session ID.

func (*RedisProvider) Exist added in v1.27.0

func (p *RedisProvider) Exist(sid string) (bool, error)

Exist returns true if session with given ID exists.

func (*RedisProvider) GC added in v1.27.0

func (*RedisProvider) GC()

GC calls GC to clean expired sessions.

func (*RedisProvider) Init added in v1.27.0

func (p *RedisProvider) Init(maxlifetime int64, configs string) (err error)

Init initializes redis session provider. configs: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180,prefix=session;

func (*RedisProvider) Read added in v1.27.0

func (p *RedisProvider) Read(sid string) (session.RawStore, error)

Read returns raw session store by session ID.

func (*RedisProvider) Regenerate added in v1.27.0

func (p *RedisProvider) Regenerate(oldsid, sid string) (_ session.RawStore, err error)

Regenerate regenerates a session store from old session ID to new one.

type RedisStore added in v1.27.0

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

RedisStore represents a redis session store implementation.

func NewRedisStore added in v1.27.0

func NewRedisStore(c redis.UniversalClient, prefix, sid string, dur time.Duration, kv map[any]any) *RedisStore

NewRedisStore creates and returns a redis session store.

func (*RedisStore) Delete added in v1.27.0

func (s *RedisStore) Delete(key any) error

Delete delete a key from session.

func (*RedisStore) Flush added in v1.27.0

func (s *RedisStore) Flush() error

Flush deletes all session data.

func (*RedisStore) Get added in v1.27.0

func (s *RedisStore) Get(key any) any

Get gets value by given key in session.

func (*RedisStore) ID added in v1.27.0

func (s *RedisStore) ID() string

ID returns current session ID.

func (*RedisStore) Release added in v1.27.0

func (s *RedisStore) Release() error

Release releases resource and save data to provider.

func (*RedisStore) Set added in v1.27.0

func (s *RedisStore) Set(key, val any) error

Set sets value to given key in session.

type Store added in v1.27.0

type Store interface {
	RawStore
	Destroy(http.ResponseWriter, *http.Request) error
}

func GetContextSession added in v1.27.0

func GetContextSession(req *http.Request) Store

func NewMockMemStore added in v1.27.0

func NewMockMemStore(sid string) Store

func RegenerateSession added in v1.27.0

func RegenerateSession(resp http.ResponseWriter, req *http.Request) (Store, error)

RegenerateSession regenerates the underlying session and returns the new store

type VirtualSessionProvider

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

VirtualSessionProvider represents a shadowed session provider implementation.

func (*VirtualSessionProvider) Count

func (o *VirtualSessionProvider) Count() (int, error)

Count counts and returns number of sessions.

func (*VirtualSessionProvider) Destroy added in v1.27.0

func (o *VirtualSessionProvider) Destroy(sid string) error

Destroy deletes a session by session ID.

func (*VirtualSessionProvider) Exist

func (o *VirtualSessionProvider) Exist(sid string) (bool, error)

Exist returns true if session with given ID exists.

func (*VirtualSessionProvider) GC

func (o *VirtualSessionProvider) GC()

GC calls GC to clean expired sessions.

func (*VirtualSessionProvider) Init

func (o *VirtualSessionProvider) Init(gcLifetime int64, config string) error

Init initializes the cookie session provider with the given config.

func (*VirtualSessionProvider) Read

Read returns raw session store by session ID.

func (*VirtualSessionProvider) Regenerate

func (o *VirtualSessionProvider) Regenerate(oldsid, sid string) (session.RawStore, error)

Regenerate regenerates a session store from old session ID to new one.

type VirtualStore

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

VirtualStore represents a virtual session store implementation.

func NewVirtualStore

func NewVirtualStore(p *VirtualSessionProvider, sid string, kv map[any]any) *VirtualStore

NewVirtualStore creates and returns a virtual session store.

func (*VirtualStore) Delete

func (s *VirtualStore) Delete(key any) error

Delete delete a key from session.

func (*VirtualStore) Flush

func (s *VirtualStore) Flush() error

Flush deletes all session data.

func (*VirtualStore) Get

func (s *VirtualStore) Get(key any) any

Get gets value by given key in session.

func (*VirtualStore) ID

func (s *VirtualStore) ID() string

ID returns current session ID.

func (*VirtualStore) Release

func (s *VirtualStore) Release() error

Release releases resource and save data to provider.

func (*VirtualStore) Set

func (s *VirtualStore) Set(key, val any) error

Set sets value to given key in session.

Jump to

Keyboard shortcuts

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