#ifndef AUTH_H #define AUTH_H #include #include struct Session { String username; unsigned long lastActivity; unsigned long timeout; // en millisecondes }; class AuthManager { private: String username; String passwordHash; std::map sessions; unsigned long sessionTimeout; // en minutes public: AuthManager(); void setCredentials(const String& user, const String& passHash); void setSessionTimeout(unsigned long timeout); bool authenticate(const String& user, const String& password); String createSession(const String& user); bool validateSession(const String& sessionId); void updateSessionActivity(const String& sessionId); void removeSession(const String& sessionId); void cleanExpiredSessions(); String getUsername() { return username; } }; extern AuthManager authManager; #endif