mirror of
https://github.com/lordmathis/lemma.git
synced 2025-11-06 07:54:22 +00:00
Update session and cookie managers
This commit is contained in:
@@ -40,7 +40,7 @@ func initDatabase(cfg *Config, secretsService secrets.Service) (db.Database, err
|
||||
}
|
||||
|
||||
// initAuth initializes JWT and session services
|
||||
func initAuth(cfg *Config, database db.Database) (auth.JWTManager, *auth.SessionService, auth.CookieService, error) {
|
||||
func initAuth(cfg *Config, database db.Database) (auth.JWTManager, auth.SessionManager, auth.CookieManager, error) {
|
||||
// Get or generate JWT signing key
|
||||
signingKey := cfg.JWTSigningKey
|
||||
if signingKey == "" {
|
||||
@@ -62,12 +62,12 @@ func initAuth(cfg *Config, database db.Database) (auth.JWTManager, *auth.Session
|
||||
}
|
||||
|
||||
// Initialize session service
|
||||
sessionService := auth.NewSessionService(database, jwtManager)
|
||||
sessionManager := auth.NewSessionService(database, jwtManager)
|
||||
|
||||
// Cookie service
|
||||
cookieService := auth.NewCookieService(cfg.IsDevelopment, cfg.Domain)
|
||||
|
||||
return jwtManager, sessionService, cookieService, nil
|
||||
return jwtManager, sessionManager, cookieService, nil
|
||||
}
|
||||
|
||||
// setupAdminUser creates the admin user if it doesn't exist
|
||||
|
||||
@@ -12,8 +12,8 @@ type Options struct {
|
||||
Database db.Database
|
||||
Storage storage.Manager
|
||||
JWTManager auth.JWTManager
|
||||
SessionService *auth.SessionService
|
||||
CookieService auth.CookieService
|
||||
SessionManager auth.SessionManager
|
||||
CookieService auth.CookieManager
|
||||
}
|
||||
|
||||
// DefaultOptions creates server options with default configuration
|
||||
@@ -49,7 +49,7 @@ func DefaultOptions(cfg *Config) (*Options, error) {
|
||||
Database: database,
|
||||
Storage: storageManager,
|
||||
JWTManager: jwtManager,
|
||||
SessionService: sessionService,
|
||||
SessionManager: sessionService,
|
||||
CookieService: cookieService,
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ func setupRouter(o Options) *chi.Mux {
|
||||
}
|
||||
|
||||
// Initialize auth middleware and handler
|
||||
authMiddleware := auth.NewMiddleware(o.JWTManager)
|
||||
authMiddleware := auth.NewMiddleware(o.JWTManager, o.SessionManager, o.CookieService)
|
||||
handler := &handlers.Handler{
|
||||
DB: o.Database,
|
||||
Storage: o.Storage,
|
||||
@@ -72,8 +72,8 @@ func setupRouter(o Options) *chi.Mux {
|
||||
|
||||
// Public routes (no authentication required)
|
||||
r.Group(func(r chi.Router) {
|
||||
r.Post("/auth/login", handler.Login(o.SessionService, o.CookieService))
|
||||
r.Post("/auth/refresh", handler.RefreshToken(o.SessionService, o.CookieService))
|
||||
r.Post("/auth/login", handler.Login(o.SessionManager, o.CookieService))
|
||||
r.Post("/auth/refresh", handler.RefreshToken(o.SessionManager, o.CookieService))
|
||||
})
|
||||
|
||||
// Protected routes (authentication required)
|
||||
@@ -82,7 +82,7 @@ func setupRouter(o Options) *chi.Mux {
|
||||
r.Use(context.WithUserContextMiddleware)
|
||||
|
||||
// Auth routes
|
||||
r.Post("/auth/logout", handler.Logout(o.SessionService, o.CookieService))
|
||||
r.Post("/auth/logout", handler.Logout(o.SessionManager, o.CookieService))
|
||||
r.Get("/auth/me", handler.GetCurrentUser())
|
||||
|
||||
// User profile routes
|
||||
|
||||
Reference in New Issue
Block a user