ruvnet/RuView · error · AuthenticationError

Invalid token

Error message

Invalid token

What it means

Error "Invalid token" thrown in ruvnet/RuView.

Source

Thrown at archive/v1/src/middleware/auth.py:67

        to_encode = data.copy()
        expire = datetime.utcnow() + timedelta(hours=self.expire_hours)
        to_encode.update({"exp": expire, "iat": datetime.utcnow()})
        
        encoded_jwt = jwt.encode(to_encode, self.secret_key, algorithm=self.algorithm)
        return encoded_jwt
    
    def verify_token(self, token: str) -> Dict[str, Any]:
        """Verify and decode JWT token."""
        try:
            payload = jwt.decode(token, self.secret_key, algorithms=[self.algorithm])
            # Check token blacklist (logout invalidation)
            from src.api.middleware.auth import token_blacklist
            if token_blacklist.is_blacklisted(token):
                raise AuthenticationError("Token has been revoked")
            return payload
        except JWTError as e:
            logger.warning(f"JWT verification failed: {e}")
            raise AuthenticationError("Invalid token")
    
    def decode_token_claims(self, token: str) -> Optional[Dict[str, Any]]:
        """Decode and verify token, returning its claims.

        Unlike the previous implementation, this method always verifies
        the token signature.  Use verify_token() for full validation
        including expiry checks; this helper is provided only for
        inspecting claims from an already-verified token.
        """
        try:
            return jwt.decode(token, self.secret_key, algorithms=[self.algorithm])
        except JWTError:
            return None


class UserManager:
    """User management for authentication."""
    

View on GitHub (pinned to 4685618388)

When it happens

Trigger: Thrown at archive/v1/src/middleware/auth.py:67 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class


AI-assisted analysis of ruvnet/RuView@4685618388 (2026-08-16). Data as JSON: /api/errors/28f9171e4201fd12. Report an issue: GitHub.