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
- 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]