Expand description
Authentication state tracking for WebSocket clients.
This module provides a robust authentication tracker that coordinates login attempts and ensures each attempt produces a fresh success or failure signal before operations resume. It follows a proven pattern used in production.
§Key Features
- Oneshot signaling: Each auth attempt gets a dedicated channel for result notification.
- Superseding logic: New authentication requests cancel pending ones.
- Timeout handling: Configurable timeout for authentication responses.
- Generic error mapping: Adapters can map to their specific error types.
- Persistent state: Tracks whether client is currently authenticated.
§Recommended Integration Pattern
Based on production usage, the recommended pattern is:
- Guard checks: Check
is_authenticated()before private operations (orders, cancels, etc.). - Reconnection flow: Authenticate BEFORE resubscribing to topics.
- Event propagation: Send auth failures through event channels to consumers.
- State lifecycle: Call
invalidate()on disconnect,succeed()/fail()handle auth results.
Structs§
- Auth
Tracker - Generic authentication state tracker for WebSocket connections.