Update session.go
This commit is contained in:
+15
-4
@@ -1,6 +1,7 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/gofiber/session/v2"
|
||||
@@ -12,10 +13,16 @@ type SessionConfig struct {
|
||||
}
|
||||
|
||||
// Setup configura el almacén de sesiones en PostgreSQL con expiración de 1 año.
|
||||
// Si el provider PostgreSQL falla (credenciales, red, etc.), usa memoria como fallback.
|
||||
func (s *SessionConfig) Setup(db DatabaseDriver) error {
|
||||
port := int64(db.Port)
|
||||
if port == 0 {
|
||||
port = 5432
|
||||
}
|
||||
|
||||
provider, err := pgprovider.New(pgprovider.Config{
|
||||
Host: db.Host,
|
||||
Port: int64(db.Port),
|
||||
Port: port,
|
||||
Username: db.Username,
|
||||
Password: db.Password,
|
||||
Database: db.DBName,
|
||||
@@ -25,13 +32,17 @@ func (s *SessionConfig) Setup(db DatabaseDriver) error {
|
||||
ConnMaxLifetime: 5 * time.Minute,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
log.Printf("[SESSION] PostgreSQL provider error, usando memoria: %v", err)
|
||||
s.Session = session.New(session.Config{
|
||||
Expiration: 365 * 24 * time.Hour,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
s.Session = session.New(session.Config{
|
||||
Expiration: 365 * 24 * time.Hour, // 1 año
|
||||
Expiration: 365 * 24 * time.Hour,
|
||||
Provider: provider,
|
||||
})
|
||||
|
||||
log.Println("[SESSION] Sesiones persistentes en PostgreSQL (tabla: sessions)")
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user