pyeudiw.satosa.backends.openid4vp.schemas package

Submodules

pyeudiw.satosa.backends.openid4vp.schemas.flow module

class pyeudiw.satosa.backends.openid4vp.schemas.flow.RemoteFlowType(*values)[source]

Bases: Enum

CROSS_DEVICE = 'cross_device'
SAME_DEVICE = 'same_device'

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

Bases: object

AuthorizeResponsePayload is a simple schema class for https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#name-response-parameters for the DCQL (Duckle Query Language) flow.

This class validates that the response contains the expected claims for DCQL.

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

Bases: BaseModel

model_config = {}

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

nonce: str
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 = {}

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

sd_jwt_alg_values: List[Algorithms]
class pyeudiw.satosa.backends.openid4vp.schemas.vp_formats.VpFormats(*, vc_sd_jwt: VcSdJwt)[source]

Bases: BaseModel

model_config = {}

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

vc_sd_jwt: VcSdJwt

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 = {}

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 = {}

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

nonce: str
vp: str

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 = {}

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
classmethod validate_alg_values_supported(v)[source]
classmethod validate_authorization_endpoint(v)[source]
classmethod validate_client_id_schemes_supported(v, info)[source]
classmethod validate_request_object_signing_alg_values_supported_supported(v, info)[source]
classmethod validate_response_modes_supported(v, info)[source]
classmethod validate_response_types_supported(v)[source]
classmethod validate_vp_formats_supported(v, info)[source]
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 = {}

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

wallet_metadata: WalletMetadata | None
wallet_nonce: str | None

Module contents