pyeudiw.federation.schemas package

Submodules

pyeudiw.federation.schemas.entity_configuration module

class pyeudiw.federation.schemas.entity_configuration.EntityConfigurationHeader(*, alg: str, kid: str, typ: Literal['entity-statement+jwt'])[source]

Bases: BaseModel

alg: str
kid: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

typ: Literal['entity-statement+jwt']
class pyeudiw.federation.schemas.entity_configuration.EntityConfigurationMetadataSchema(*, openid_credential_verifier: OpenIDCredentialVerifier, federation_entity: FederationEntity)[source]

Bases: BaseModel

federation_entity: FederationEntity
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

openid_credential_verifier: OpenIDCredentialVerifier
class pyeudiw.federation.schemas.entity_configuration.EntityConfigurationPayload(*, iat: int, exp: int, iss: HttpUrl, sub: HttpUrl, jwks: JwksSchema, metadata: EntityConfigurationMetadataSchema, authority_hints: List[HttpUrl])[source]

Bases: BaseModel

authority_hints: List[HttpUrl]
exp: int
iat: int
iss: HttpUrl
jwks: JwksSchema
metadata: EntityConfigurationMetadataSchema
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

sub: HttpUrl
class pyeudiw.federation.schemas.entity_configuration.EntityStatementPayload(*, exp: int, iat: int, iss: HttpUrl, sub: HttpUrl, jwks: JwksSchema, source_endpoint: str | None = None, metadata_policy: dict | None = None, metadata: dict | None = None, trust_marks: list | None = None)[source]

Bases: BaseModel

exp: int
iat: int
iss: HttpUrl
jwks: JwksSchema
metadata: dict | None
metadata_policy: dict | None
model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

source_endpoint: str | None
sub: HttpUrl
trust_marks: list | None

pyeudiw.federation.schemas.federation_configuration module

class pyeudiw.federation.schemas.federation_configuration.FederationConfig(*, metadata_type: str, authority_hints: list[HttpUrl], trust_anchors: list[HttpUrl], default_sig_alg: SigningAlgValuesSupported, federation_entity_metadata: FederationEntityMetadata, federation_jwks: list[JwkSchema])[source]

Bases: BaseModel

authority_hints: list[HttpUrl]
default_sig_alg: SigningAlgValuesSupported
federation_entity_metadata: FederationEntityMetadata
federation_jwks: list[JwkSchema]
metadata_type: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

trust_anchors: list[HttpUrl]
class pyeudiw.federation.schemas.federation_configuration.FederationEntityMetadata(*, organization_name: str, homepage_uri: HttpUrl, policy_uri: HttpUrl, tos_uri: HttpUrl, logo_uri: HttpUrl)[source]

Bases: BaseModel

homepage_uri: HttpUrl
logo_uri: HttpUrl
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

organization_name: str
policy_uri: HttpUrl
tos_uri: HttpUrl

pyeudiw.federation.schemas.federation_entity module

class pyeudiw.federation.schemas.federation_entity.FederationEntity(*, organization_name: str, homepage_uri: HttpUrl, policy_uri: HttpUrl, logo_uri: HttpUrl, contacts: list[str])[source]

Bases: BaseModel

contacts: list[str]
homepage_uri: HttpUrl
logo_uri: HttpUrl
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

organization_name: str
policy_uri: HttpUrl

pyeudiw.federation.schemas.openid_credential_verifier module

class pyeudiw.federation.schemas.openid_credential_verifier.AcrValuesSupported(*values)[source]

Bases: str, Enum

spid_l1 = 'https://www.spid.gov.it/SpidL1'
spid_l2 = 'https://www.spid.gov.it/SpidL2'
spid_l3 = 'https://www.spid.gov.it/SpidL3'
class pyeudiw.federation.schemas.openid_credential_verifier.AuthorizationSignedResponseAlg(*values)[source]

Bases: str, Enum

es256 = 'ES256'
es384 = 'ES384'
es512 = 'ES512'
rs256 = 'RS256'
rs384 = 'RS384'
rs512 = 'RS512'
class pyeudiw.federation.schemas.openid_credential_verifier.EncryptionAlgValuesSupported(*values)[source]

Bases: str, Enum

ecdh_es = 'ECDH-ES'
ecdh_es_a128kw = 'ECDH-ES+A128KW'
ecdh_es_a192kw = 'ECDH-ES+A192KW'
ecdh_es_a256kw = 'ECDH-ES+A256KW'
ras_oaep_256 = 'RSA-OAEP-256'
rsa_oaep = 'RSA-OAEP'
class pyeudiw.federation.schemas.openid_credential_verifier.EncryptionEncValuesSupported(*values)[source]

Bases: str, Enum

a128cbc_hs256 = 'A128CBC-HS256'
a128gcm = 'A128GCM'
a192cbc_hs384 = 'A192CBC-HS384'
a192gcm = 'A192GCM'
a256cbc_hs512 = 'A256CBC-HS512'
a256gcm = 'A256GCM'
class pyeudiw.federation.schemas.openid_credential_verifier.OpenIDCredentialVerifier(*, application_type: str, client_id: HttpUrl, client_name: str, jwks: JwksSchema, contacts: List[str], request_uris: None | List[HttpUrl | None], redirect_uris: None | List[HttpUrl | None], default_acr_values: List[AcrValuesSupported | None], authorization_signed_response_alg: List[AuthorizationSignedResponseAlg], authorization_encrypted_response_alg: List[EncryptionAlgValuesSupported], authorization_encrypted_response_enc: List[EncryptionEncValuesSupported], id_token_encrypted_response_alg: List[EncryptionAlgValuesSupported], id_token_encrypted_response_enc: List[EncryptionEncValuesSupported], id_token_signed_response_alg: List[SigningAlgValuesSupported], vp_formats: VpFormats)[source]

Bases: BaseModel

application_type: str
authorization_encrypted_response_alg: List[EncryptionAlgValuesSupported]
authorization_encrypted_response_enc: List[EncryptionEncValuesSupported]
authorization_signed_response_alg: List[AuthorizationSignedResponseAlg]
client_id: HttpUrl
client_name: str
contacts: List[str]
default_acr_values: List[AcrValuesSupported | None]
id_token_encrypted_response_alg: List[EncryptionAlgValuesSupported]
id_token_encrypted_response_enc: List[EncryptionEncValuesSupported]
id_token_signed_response_alg: List[SigningAlgValuesSupported]
jwks: JwksSchema
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

redirect_uris: None | List[HttpUrl | None]
request_uris: None | List[HttpUrl | None]
vp_formats: VpFormats
class pyeudiw.federation.schemas.openid_credential_verifier.SigningAlgValuesSupported(*values)[source]

Bases: str, Enum

es256 = 'ES256'
es384 = 'ES384'
es512 = 'ES512'
rs256 = 'RS256'
rs384 = 'RS384'
rs512 = 'RS512'

Module contents