Session middleware for Fiber
func New(config ...Config) fiber.Handler
Import the middleware package that is part of the Fiber web framework
import ("github.com/gofiber/fiber/v2""github.com/gofiber/fiber/v2/middleware/session")
After you initiate your Fiber app, you can use the following possibilities:
// Default middleware configstore := session.New()// This panic will be catch by the middlewareapp.Get("/", func(c *fiber.Ctx) error {// get session from storagesess, err := store.Get(c)if err != nil {panic(err)}// save sessiondefer sess.Save()// Get valuename := sess.Get("name")// Set key/valuesess.Set("name", "john")// Delete keysess.Delete("name")// Destroy sessionif err := sess.Destroy(); err != nil {panic(err)}return fmt.Fprintf(ctx, "Welcome %v", name)})
// Config defines the config for middleware.type Config struct {// Allowed session duration// Optional. Default value 24 * time.HourExpiration time.Duration// Storage interface to store the session data// Optional. Default value memory.New()Storage fiber.Storage// Name of the session cookie. This cookie will store session key.// Optional. Default value "session_id".CookieName string// Domain of the CSRF cookie.// Optional. Default value "".CookieDomain string// Path of the CSRF cookie.// Optional. Default value "".CookiePath string// Indicates if CSRF cookie is secure.// Optional. Default value false.CookieSecure bool// Indicates if CSRF cookie is HTTP only.// Optional. Default value false.CookieHTTPOnly bool// Indicates if CSRF cookie is HTTP only.// Optional. Default value false.CookieSameSite string// KeyGenerator generates the session key.// Optional. Default value utils.UUIDKeyGenerator func() string}
var ConfigDefault = Config{Expiration: 24 * time.Hour,CookieName: "session_id",KeyGenerator: utils.UUID,}