const (
DefaultKey = "github.com/gin-contrib/sessions"
)
func Sessions(name string, store Store) gin.HandlerFunc
func SessionsMany(names []string, store Store) gin.HandlerFunc
Options stores configuration for a session or session store. Fields are a subset of http.Cookie fields.
type Options struct { Path string Domain string // MaxAge=0 means no 'Max-Age' attribute specified. // MaxAge<0 means delete cookie now, equivalently 'Max-Age: 0'. // MaxAge>0 means Max-Age attribute present and given in seconds. MaxAge int Secure bool HttpOnly bool // rfc-draft to preventing CSRF: https://tools.ietf.org/html/draft-west-first-party-cookies-07 // refer: https://godoc.org/net/http // https://www.sjoerdlangkemper.nl/2016/04/14/preventing-csrf-with-samesite-cookie-attribute/ SameSite http.SameSite }
func (options Options) ToGorillaOptions() *gsessions.Options
Wraps thinly gorilla-session methods. Session stores the values and optional configuration for a session.
type Session interface { // ID of the session, generated by stores. It should not be used for user data. ID() string // Get returns the session value associated to the given key. Get(key interface{}) interface{} // Set sets the session value associated to the given key. Set(key interface{}, val interface{}) // Delete removes the session value associated to the given key. Delete(key interface{}) // Clear deletes all values in the session. Clear() // AddFlash adds a flash message to the session. // A single variadic argument is accepted, and it is optional: it defines the flash key. // If not defined "_flash" is used by default. AddFlash(value interface{}, vars ...string) // Flashes returns a slice of flash messages from the session. // A single variadic argument is accepted, and it is optional: it defines the flash key. // If not defined "_flash" is used by default. Flashes(vars ...string) []interface{} // Options sets configuration for a session. Options(Options) // Save saves all sessions used during the current request. Save() error }
func Default(c *gin.Context) Session
shortcut to get session
func DefaultMany(c *gin.Context, name string) Session
shortcut to get session with given name
type Store interface { sessions.Store Options(Options) }