src/services/auth/index.js
- Central AuthService responsible for user authentication, session management, and API token managementsrc/services/auth/lib/SessionService.js
- Handles session and JWT token management
src/transports/http/routes/v2/auth.js
- HTTP auth routes (login, register, token management)src/transports/common/middleware/auth.js
- Common authentication middleware used by all transportssrc/transports/http/middleware/auth.js
- HTTP-specific auth middlewaresrc/transports/ws/middleware/auth.js
- WebSocket-specific auth middleware
src/managers/user/index.js
- UserManager for creating and managing userssrc/managers/user/lib/User.js
- User class representing a user instance
The Canvas authentication system uses API tokens for authentication:
- Tokens are created and managed by the AuthService
- Token operations are centralized in the AuthService
- Tokens are linked to users by userId
- Tokens are validated by hashing the provided token and comparing with stored hashes
- Only token hashes are stored for security, raw values are only returned once when created