feat: Add session middleware