pyeudiw.satosa.backends.openid4vp.schemas package
Submodules
pyeudiw.satosa.backends.openid4vp.schemas.cnf_schema module
pyeudiw.satosa.backends.openid4vp.schemas.flow module
pyeudiw.satosa.backends.openid4vp.schemas.response module
- class pyeudiw.satosa.backends.openid4vp.schemas.response.AuthorizeResponseDirectPostJwt(response: str)[source]
Bases:
object- response: str
- class pyeudiw.satosa.backends.openid4vp.schemas.response.AuthorizeResponsePayload(state: str, vp_token: str | list[str] | dict, presentation_submission: dict | None = None)[source]
Bases:
objectAuthorizeResponsePayload is a simple schema class for https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#name-response-parameters only for the case when presentation submission is used over DCQL.
This class is a weaker validation than pyeudiw.satosa.backends.openid4vp.schema.ResponseSchema as it is not meant to validate the _content_ of the response; just that the representation lands with the proper expected claims
- presentation_submission: dict | None = None
- state: str
- vp_token: str | list[str] | dict
- class pyeudiw.satosa.backends.openid4vp.schemas.response.ErrorResponsePayload(state: str, error: str, error_description: str | None = None)[source]
Bases:
object- error: str
- error_description: str | None = None
- state: str
- class pyeudiw.satosa.backends.openid4vp.schemas.response.ResponseMode(*values)[source]
Bases:
str,Enum- direct_post = 'direct_post'
- direct_post_jwt = 'direct_post.jwt'
- error = 'error'
- class pyeudiw.satosa.backends.openid4vp.schemas.response.ResponseSchema(*, state: str | None, nonce: str, vp_token: str, presentation_submission: PresentationSubmissionSchema)[source]
Bases:
BaseModel- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- nonce: str
- presentation_submission: PresentationSubmissionSchema
- state: str | None
- vp_token: str
pyeudiw.satosa.backends.openid4vp.schemas.vp_formats module
- class pyeudiw.satosa.backends.openid4vp.schemas.vp_formats.Algorithms(*values)[source]
Bases:
Enum- es256 = 'ES256'
- es384 = 'ES384'
- es512 = 'ES512'
- rs256 = 'RS256'
- rs384 = 'RS384'
- rs512 = 'RS512'
- class pyeudiw.satosa.backends.openid4vp.schemas.vp_formats.VcSdJwt(*, sd_jwt_alg_values: List[Algorithms] = [], kb_jwt_alg_values: List[Algorithms] = [])[source]
Bases:
BaseModel- kb_jwt_alg_values: List[Algorithms]
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- sd_jwt_alg_values: List[Algorithms]
pyeudiw.satosa.backends.openid4vp.schemas.vp_token module
- class pyeudiw.satosa.backends.openid4vp.schemas.vp_token.VPTokenHeader(*, alg: str, kid: str, typ: Literal['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['JWT']
- class pyeudiw.satosa.backends.openid4vp.schemas.vp_token.VPTokenPayload(*, iss: HttpUrl, jti: str, aud: HttpUrl, iat: int, exp: int, nonce: str, vp: str)[source]
Bases:
BaseModel- aud: HttpUrl
- exp: int
- iat: int
- iss: HttpUrl
- jti: str
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- nonce: str
- vp: str
pyeudiw.satosa.backends.openid4vp.schemas.wallet_instance_attestation module
- class pyeudiw.satosa.backends.openid4vp.schemas.wallet_instance_attestation.VPFormatSchema(*, jwt_vp_json: Dict[Literal['alg_values_supported'], List[str]], jwt_vc_json: Dict[Literal['alg_values_supported'], List[str]])[source]
Bases:
BaseModel- jwt_vc_json: Dict[Literal['alg_values_supported'], List[str]]
- jwt_vp_json: Dict[Literal['alg_values_supported'], List[str]]
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pyeudiw.satosa.backends.openid4vp.schemas.wallet_instance_attestation.WalletInstanceAttestationHeader(*, alg: str, typ: Literal['wallet-attestation+jwt'], kid: str, trust_chain: List[str] | None = None)[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].
- trust_chain: List[str] | None
- typ: Literal['wallet-attestation+jwt']
- class pyeudiw.satosa.backends.openid4vp.schemas.wallet_instance_attestation.WalletInstanceAttestationPayload(*, iss: HttpUrl, sub: str, iat: int, exp: int, aal: HttpUrl, cnf: CNFSchema, type: Literal['WalletInstanceAttestation'] | None = None, policy_uri: HttpUrl | None = None, tos_uri: HttpUrl | None = None, logo_uri: HttpUrl | None = None, authorization_endpoint: str | None = None, response_types_supported: List[str] | None = None, vp_formats_supported: VPFormatSchema | None = None, request_object_signing_alg_values_supported: List[str] | None = None, presentation_definition_uri_supported: bool | None = None)[source]
Bases:
BaseModel- aal: HttpUrl
- authorization_endpoint: str | None
- exp: int
- iat: int
- iss: HttpUrl
- logo_uri: HttpUrl | None
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- policy_uri: HttpUrl | None
- presentation_definition_uri_supported: bool | None
- request_object_signing_alg_values_supported: List[str] | None
- response_types_supported: List[str] | None
- sub: str
- tos_uri: HttpUrl | None
- type: Literal['WalletInstanceAttestation'] | None
- vp_formats_supported: VPFormatSchema | None
pyeudiw.satosa.backends.openid4vp.schemas.wallet_instance_attestation_request module
- class pyeudiw.satosa.backends.openid4vp.schemas.wallet_instance_attestation_request.WalletInstanceAttestationRequestHeader(*, alg: str, typ: Literal['var+jwt'], kid: str)[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['var+jwt']
- class pyeudiw.satosa.backends.openid4vp.schemas.wallet_instance_attestation_request.WalletInstanceAttestationRequestPayload(*, iss: str, aud: HttpUrl, jti: str, type: Literal['WalletInstanceAttestationRequest'], nonce: str, cnf: CNFSchema, iat: int, exp: int)[source]
Bases:
BaseModel- aud: HttpUrl
- exp: int
- iat: int
- iss: str
- jti: str
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- nonce: str
- type: Literal['WalletInstanceAttestationRequest']
pyeudiw.satosa.backends.openid4vp.schemas.wallet_metadata module
- class pyeudiw.satosa.backends.openid4vp.schemas.wallet_metadata.WalletMetadata(*, vp_formats_supported: Dict[str, Dict[str, List[str]]], alg_values_supported: List[str] | None = None, client_id_schemes_supported: List[str] | None = None, authorization_endpoint: str | None = None, request_object_signing_alg_values_supported: List[str] | None = None, response_types_supported: list[str] | None = None, response_modes_supported: list[str] | None = None)[source]
Bases:
BaseModel- alg_values_supported: List[str] | None
- authorization_endpoint: str | None
- client_id_schemes_supported: List[str] | None
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- request_object_signing_alg_values_supported: List[str] | None
- response_modes_supported: list[str] | None
- response_types_supported: list[str] | None
- vp_formats_supported: Dict[str, Dict[str, List[str]]]
- class pyeudiw.satosa.backends.openid4vp.schemas.wallet_metadata.WalletPostRequest(*, wallet_metadata: WalletMetadata | None = None, wallet_nonce: str | None = None)[source]
Bases:
BaseModel- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- wallet_metadata: WalletMetadata | None
- wallet_nonce: str | None