pyeudiw.wallet_instance_attestation package

Submodules

pyeudiw.wallet_instance_attestation.attestation module

class pyeudiw.wallet_instance_attestation.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 = {}

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

class pyeudiw.wallet_instance_attestation.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 = {}

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.wallet_instance_attestation.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)[source]

Bases: BaseModel

aal: HttpUrl
authorization_endpoint: str | None
cnf: CNFSchema
exp: int
iat: int
iss: HttpUrl
logo_uri: HttpUrl | None
model_config = {}

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

policy_uri: HttpUrl | 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.wallet_instance_attestation.attestation_request module

class pyeudiw.wallet_instance_attestation.attestation_request.WalletInstanceAttestationRequestHeader(*, alg: str, typ: Literal['var+jwt'], kid: str)[source]

Bases: BaseModel

alg: str
kid: str
model_config = {}

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

typ: Literal['var+jwt']
class pyeudiw.wallet_instance_attestation.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
cnf: CNFSchema
exp: int
iat: int
iss: str
jti: str
model_config = {}

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

nonce: str
type: Literal['WalletInstanceAttestationRequest']

pyeudiw.wallet_instance_attestation.cnf module

class pyeudiw.wallet_instance_attestation.cnf.CNFSchema(*, jwk: JwkSchema)[source]

Bases: BaseModel

jwk: JwkSchema
model_config = {}

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

Module contents

Wallet Instance Attestation schemas and utilities.

Wallet Instance Attestation (WIA) is used for client authentication in OAuth 2.0 attestation-based flows. This module is independent of OpenID4VP and can be used by other modules (e.g. OpenID4VCI) that require WIA validation or production.

class pyeudiw.wallet_instance_attestation.CNFSchema(*, jwk: JwkSchema)[source]

Bases: BaseModel

jwk: JwkSchema
model_config = {}

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

class pyeudiw.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 = {}

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

class pyeudiw.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 = {}

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.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)[source]

Bases: BaseModel

aal: HttpUrl
authorization_endpoint: str | None
cnf: CNFSchema
exp: int
iat: int
iss: HttpUrl
logo_uri: HttpUrl | None
model_config = {}

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

policy_uri: HttpUrl | 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
class pyeudiw.wallet_instance_attestation.WalletInstanceAttestationRequestHeader(*, alg: str, typ: Literal['var+jwt'], kid: str)[source]

Bases: BaseModel

alg: str
kid: str
model_config = {}

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

typ: Literal['var+jwt']
class pyeudiw.wallet_instance_attestation.WalletInstanceAttestationRequestPayload(*, iss: str, aud: HttpUrl, jti: str, type: Literal['WalletInstanceAttestationRequest'], nonce: str, cnf: CNFSchema, iat: int, exp: int)[source]

Bases: BaseModel

aud: HttpUrl
cnf: CNFSchema
exp: int
iat: int
iss: str
jti: str
model_config = {}

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

nonce: str
type: Literal['WalletInstanceAttestationRequest']