@@ -181,77 +181,67 @@ func (m *Manager) Logout(w http.ResponseWriter, r *http.Request) error {
181181// GetUser retrieves the authenticated user from the session.
182182// OWASP 2026: Validates session token stored in database to prevent session fixation.
183183func (m * Manager ) GetUser (r * http.Request ) (* models.User , error ) {
184- m .logger .Info ("🔍 GetUser START" , "path" , r .URL .Path )
185-
186184 session , err := m .sessionStore .Get (r , sessionName )
187185 if err != nil {
188- m .logger .Error ( "❌ Failed to get session" , "error" , err )
186+ m .logger .Debug ( "failed to get session" , "error" , err )
189187 return nil , err
190188 }
191189
192190 // Check if user ID is in session (now string/UUID)
193191 userID , ok := session .Values [sessionUserIDKey ].(string )
194192 if ! ok || userID == "" {
195- m .logger .Warn ("❌ No user ID in session" )
196193 return nil , fmt .Errorf ("not authenticated" )
197194 }
198- m .logger .Info ("👤 User ID from session" , "user_id" , userID )
199195
200196 // CRITICAL SECURITY: Validate session token from cookie against database
201197 sessionToken , ok := session .Values [sessionTokenKey ].(string )
202198 if ! ok || sessionToken == "" {
203- m .logger .Warn ("❌ No session token in cookie" , "has_key " , ok , "token_empty" , sessionToken == "" )
199+ m .logger .Warn ("no session token in cookie" , "user_id " , userID )
204200 return nil , fmt .Errorf ("invalid session: missing token" )
205201 }
206- m .logger .Info ("🔑 Session token from cookie" , "token_length" , len (sessionToken ))
207202
208203 // Check if session has expired (time-based)
209204 loginTime , ok := session .Values [sessionLoginKey ].(int64 )
210205 if ! ok {
211- m .logger .Warn ("❌ No login time in session" )
212206 return nil , fmt .Errorf ("invalid session" )
213207 }
214208
215209 if time .Since (time .Unix (loginTime , 0 )) > m .timeout {
216- m .logger .Warn ( "⏰ Session expired" , "login_time " , time . Unix ( loginTime , 0 ), "timeout" , m . timeout )
210+ m .logger .Debug ( "session expired" , "user_id " , userID )
217211 return nil , fmt .Errorf ("session expired" )
218212 }
219- m .logger .Info ("⏰ Session time valid" , "age" , time .Since (time .Unix (loginTime , 0 )))
220213
221214 // Get user from database
222215 user , err := m .db .GetUserByID (userID )
223216 if err != nil {
224- m .logger .Error ("❌ Failed to get user from DB" , "error" , err , "user_id" , userID )
217+ m .logger .Error ("failed to get user from DB" , "error" , err , "user_id" , userID )
225218 return nil , fmt .Errorf ("failed to get user: %w" , err )
226219 }
227220
228221 if user == nil {
229- m .logger .Warn ("❌ User not found" , "user_id" , userID )
222+ m .logger .Warn ("user not found" , "user_id" , userID )
230223 return nil , fmt .Errorf ("user not found" )
231224 }
232- m .logger .Info ("👤 User found in DB" , "email" , user .Email )
233225
234226 // CRITICAL SECURITY: Validate session token against database
235227 // This prevents old cookies from working after DB wipe or logout
236228 valid , err := m .db .ValidateSessionToken (userID , sessionToken )
237229 if err != nil {
238- m .logger .Error ("❌ Session token validation error" , "error" , err , "user_id" , userID )
230+ m .logger .Error ("session token validation error" , "error" , err , "user_id" , userID )
239231 return nil , fmt .Errorf ("session validation failed" )
240232 }
241233
242234 if ! valid {
243- m .logger .Warn ("❌ Session token invalid in DB" , "user_id" , userID )
235+ m .logger .Warn ("session token invalid in DB" , "user_id" , userID )
244236 return nil , fmt .Errorf ("session invalid: please log in again" )
245237 }
246- m .logger .Info ("✅ Session token validated against DB" )
247238
248239 // Verify user is still active
249240 if user .Status != models .UserStatusActive {
250- m .logger .Warn ("❌ User not active" , "status" , user .Status )
241+ m .logger .Warn ("user not active" , "user_id" , userID , "status" , user .Status )
251242 return nil , fmt .Errorf ("account is no longer active" )
252243 }
253244
254- m .logger .Info ("✅ GetUser COMPLETE" , "user_id" , user .ID )
255245 return user , nil
256246}
257247
@@ -545,31 +535,25 @@ func (m *Manager) RequirePermission(r *http.Request, component models.Component,
545535// CreateSessionForUser creates a session for a user without password validation.
546536// This is used for passkey authentication where the user has already been verified.
547537func (m * Manager ) CreateSessionForUser (w http.ResponseWriter , r * http.Request , user * models.User ) error {
548- m .logger .Info ("🔐 CreateSessionForUser START" , "user_id" , user .ID , "email" , user .Email )
549-
550538 // Generate cryptographically secure session token
551539 sessionToken , err := GenerateSessionToken ()
552540 if err != nil {
553541 return fmt .Errorf ("failed to generate session token: %w" , err )
554542 }
555- m .logger .Info ("🔑 Session token generated" , "token_length" , len (sessionToken ))
556543
557544 // Store session token in database for server-side validation
558545 ip := r .RemoteAddr
559546 userAgent := r .UserAgent ()
560- m .logger .Info ("💾 Storing session token in DB" , "user_id" , user .ID , "ip" , ip )
561547 if err := m .db .SetUserSessionToken (user .ID , sessionToken , ip , userAgent ); err != nil {
562548 m .logger .Error ("failed to store session token" , "error" , err , "user_id" , user .ID )
563549 return fmt .Errorf ("failed to create session: %w" , err )
564550 }
565- m .logger .Info ("✅ Session token stored in DB" )
566551
567552 // Create session cookie
568553 session , err := m .sessionStore .Get (r , sessionName )
569554 if err != nil {
570555 return fmt .Errorf ("failed to get session: %w" , err )
571556 }
572- m .logger .Info ("🍪 Session cookie retrieved" )
573557
574558 // Generate CSRF token
575559 csrfToken , err := GenerateCSRFToken ()
@@ -582,15 +566,14 @@ func (m *Manager) CreateSessionForUser(w http.ResponseWriter, r *http.Request, u
582566 session .Values [sessionTokenKey ] = sessionToken // CRITICAL: Validated on every request
583567 session .Values [sessionLoginKey ] = time .Now ().Unix ()
584568 session .Values [csrfTokenKey ] = csrfToken
585- m .logger .Info ("📝 Session values set" , "user_id" , user .ID , "has_token" , sessionToken != "" )
586569
587570 // Save session
588571 if err := session .Save (r , w ); err != nil {
589- m .logger .Error ("❌ FAILED to save session cookie" , "error" , err )
572+ m .logger .Error ("failed to save session cookie" , "error" , err )
590573 return fmt .Errorf ("failed to save session: %w" , err )
591574 }
592- m .logger .Info ("✅ CreateSessionForUser COMPLETE - session saved" )
593575
576+ m .logger .Info ("session created for user" , "user_id" , user .ID , "ip" , ip )
594577 return nil
595578}
596579
0 commit comments