Requires HTTP Basic Auth. Credentials: admin / secret123.
{"message": "Basic auth successful", "user": "admin"}
Returns a JWT token. Use with /auth/protected.
{"username": "admin", "password": "secret123"}
{"token": "eyJ...", "user": "admin"}
Requires Bearer token from /auth/login.
Authorization: Bearer <token>
{"message": "Access granted", "user": "admin"}
{"error": "Missing Bearer token. Send Authorization: Bearer <token> header. Get a token from POST /api/auth/login"}
Requires X-API-Key: testkey123 header.
{"message": "Valid API key", "key": "testkey123"}