{"record":{"id":"87ee823bf6edced9","repo":"ruvnet/RuView","slug":"missing-authorization-header","errorCode":null,"errorMessage":"Missing authorization header","messagePattern":"Missing authorization header","errorType":"exception","errorClass":"AuthenticationError","httpStatus":401,"severity":"error","filePath":"archive/v1/src/middleware/auth.py","lineNumber":249,"sourceCode":"            \"/metrics\",\n            \"/docs\",\n            \"/redoc\",\n            \"/openapi.json\",\n            \"/auth/login\",\n            \"/auth/register\",\n            \"/static\",\n        ]\n        \n        return any(path.startswith(skip_path) for skip_path in skip_paths)\n    \n    async def _authenticate_request(self, request: Request) -> Optional[Dict[str, Any]]:\n        \"\"\"Authenticate the request and return user info.\"\"\"\n        # Try to get token from Authorization header\n        authorization = request.headers.get(\"Authorization\")\n\n        if not authorization:\n            if self._requires_auth(request):\n                raise AuthenticationError(\"Missing authorization header\")\n            return None\n        \n        # Extract token\n        try:\n            scheme, token = authorization.split()\n            if scheme.lower() != \"bearer\":\n                raise AuthenticationError(\"Invalid authentication scheme\")\n        except ValueError:\n            raise AuthenticationError(\"Invalid authorization header format\")\n        \n        # Verify token\n        try:\n            payload = self.token_manager.verify_token(token)\n            username = payload.get(\"sub\")\n            if not username:\n                raise AuthenticationError(\"Invalid token payload\")\n            \n            # Get user info","sourceCodeStart":231,"sourceCodeEnd":267,"githubUrl":"https://github.com/ruvnet/RuView/blob/4685618388a5e49fad5b3005806f3bdd6a7c25c3/archive/v1/src/middleware/auth.py#L231-L267","documentation":"Error \"Missing authorization header\" thrown in ruvnet/RuView.","triggerScenarios":"Thrown at archive/v1/src/middleware/auth.py:249 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4685618388a5e49fad5b3005806f3bdd6a7c25c3","analyzedAt":"2026-08-16T06:09:40.886Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}