Skip to content

Exceptions

All exceptions inherit from PyIdentityModelException.

PyIdentityModelException
├── ValidationException
│   ├── AuthorizeCallbackException
│   └── TokenValidationException
│       ├── SignatureVerificationException
│       ├── TokenExpiredException
│       ├── InvalidAudienceException
│       └── InvalidIssuerException
├── NetworkException
│   ├── DiscoveryException
│   ├── JwksException
│   ├── TokenRequestException
│   └── UserInfoException
├── ConfigurationException
├── FailedResponseAccessError
└── SuccessfulResponseAccessError

Base Exception

PyIdentityModelException(message, details=None)

Bases: Exception

Base exception for all py-identity-model errors.

Initialize a PyIdentityModelException.

Parameters:

Name Type Description Default
message str

The error message.

required
details dict | None

Optional dictionary containing additional error context.

None

Validation Exceptions

ValidationException(message, details=None)

Bases: PyIdentityModelException

Raised when validation fails.

AuthorizeCallbackException(message, details=None)

Bases: ValidationException

Raised when authorization callback validation fails.

TokenValidationException(message, token_part=None, details=None)

Bases: ValidationException

Raised when token validation fails.

Initialize a TokenValidationException.

Parameters:

Name Type Description Default
message str

The error message.

required
token_part str | None

The part of the token that failed validation ('header', 'payload', or 'signature').

None
details dict | None

Optional dictionary containing additional error context.

None

SignatureVerificationException(message, details=None)

Bases: TokenValidationException

Raised when token signature verification fails.

TokenExpiredException(message, details=None)

Bases: TokenValidationException

Raised when token has expired.

InvalidAudienceException(message, details=None)

Bases: TokenValidationException

Raised when audience validation fails.

InvalidIssuerException(message, details=None)

Bases: TokenValidationException

Raised when issuer validation fails.

Network Exceptions

NetworkException(message, url=None, status_code=None, details=None)

Bases: PyIdentityModelException

Raised when network operations fail.

Initialize a NetworkException.

Parameters:

Name Type Description Default
message str

The error message.

required
url str | None

The URL that was being accessed when the error occurred.

None
status_code int | None

The HTTP status code if available.

None
details dict | None

Optional dictionary containing additional error context.

None

DiscoveryException(message, url=None, status_code=None, details=None)

Bases: NetworkException

Raised when discovery document cannot be fetched or parsed.

JwksException(message, url=None, status_code=None, details=None)

Bases: NetworkException

Raised when JWKS cannot be fetched or parsed.

TokenRequestException(message, url=None, status_code=None, details=None)

Bases: NetworkException

Raised when token request fails.

UserInfoException(message, url=None, status_code=None, details=None)

Bases: NetworkException

Raised when UserInfo request fails.

Configuration Exceptions

ConfigurationException(message, details=None)

Bases: PyIdentityModelException

Raised when configuration is invalid or incomplete.

Response Guard Errors

FailedResponseAccessError(field_name, error=None)

Bases: PyIdentityModelException

Raised when accessing data fields on a failed response.

SuccessfulResponseAccessError(field_name='error')

Bases: PyIdentityModelException

Raised when accessing the error field on a successful response.