Type Parameters
- V extends ItWalletSpecsVersion
Parameters
- metadata: unknown
- version: V
Returns metadata is output<
{
V1_0: ZodObject<
{
federation_entity: ZodOptional<
ZodObject<
{
contacts: ZodOptional<ZodArray<ZodString>>;
federation_fetch_endpoint: ZodOptional<ZodURL>;
federation_historical_keys_endpoint: ZodOptional<ZodURL>;
federation_list_endpoint: ZodOptional<ZodURL>;
federation_resolve_endpoint: ZodOptional<ZodURL>;
federation_trust_mark_endpoint: ZodOptional<ZodURL>;
federation_trust_mark_list_endpoint: ZodOptional<ZodURL>;
federation_trust_mark_status_endpoint: ZodOptional<ZodURL>;
homepage_uri: ZodOptional<ZodURL>;
jwks: ZodOptional<ZodObject<{ keys: ... }, $strip>>;
jwks_uri: ZodOptional<ZodURL>;
logo_uri: ZodOptional<ZodURL>;
organization_name: ZodOptional<ZodString>;
policy_uri: ZodOptional<ZodURL>;
signed_jwks_uri: ZodOptional<ZodURL>;
tos_uri: ZodOptional<ZodURL>;
},
$loose,
>,
>;
oauth_authorization_server: ZodOptional<
ZodObject<
{
acr_values_supported: ZodArray<ZodString>;
authorization_endpoint: ZodURL;
authorization_signing_alg_values_supported: ZodArray<ZodString>;
client_registration_types_supported: ZodArray<
ZodUnion<readonly [(...), (...)]>,
>;
code_challenge_methods_supported: ZodArray<ZodString>;
grant_types_supported: ZodArray<ZodString>;
issuer: ZodURL;
jwks: ZodObject<{ keys: ZodArray<(...)> }, $strip>;
pushed_authorization_request_endpoint: ZodURL;
request_object_signing_alg_values_supported: ZodArray<ZodString>;
require_signed_request_object: ZodOptional<ZodBoolean>;
response_modes_supported: ZodArray<ZodUnion<readonly [(...), (...)]>>;
response_types_supported: ZodArray<ZodString>;
scopes_supported: ZodArray<ZodString>;
token_endpoint: ZodURL;
token_endpoint_auth_methods_supported: ZodArray<ZodString>;
token_endpoint_auth_signing_alg_values_supported: ZodArray<ZodString>;
},
$loose,
>,
>;
openid_credential_issuer: ZodOptional<
ZodObject<
{
authorization_servers: ZodOptional<ZodTuple<[(...)], ZodURL>>;
batch_credential_issuance: ZodObject<
{ batch_size: ZodNumber },
$strip,
>;
credential_configurations_supported: ZodRecord<
ZodString,
ZodIntersection<
ZodDiscriminatedUnion<(...), (...)>,
ZodObject<(...), (...)>,
>,
>;
credential_endpoint: ZodURL;
credential_hash_alg_supported: ZodString;
credential_issuer: ZodURL;
deferred_credential_endpoint: ZodURL;
display: ZodArray<ZodObject<{ locale: ...; name: ... }, $strip>>;
evidence_supported: ZodArray<ZodString>;
jwks: ZodObject<{ keys: ZodArray<(...)> }, $strip>;
nonce_endpoint: ZodURL;
notification_endpoint: ZodURL;
revocation_endpoint: ZodURL;
status_assertion_endpoint: ZodURL;
status_attestation_endpoint: ZodURL;
trust_frameworks_supported: ZodArray<
ZodUnion<readonly [(...), (...), (...)]>,
>;
},
$loose,
>,
>;
openid_credential_verifier: ZodOptional<
ZodObject<
{
application_type: ZodLiteral<"web">;
authorization_encrypted_response_alg: ZodString;
authorization_encrypted_response_enc: ZodString;
authorization_signed_response_alg: ZodString;
client_id: ZodURL;
client_name: ZodString;
erasure_endpoint: ZodOptional<ZodURL>;
jwks: ZodObject<{ keys: ZodArray<(...)> }, $strip>;
redirect_uris: ZodOptional<ZodArray<ZodURL>>;
request_uris: ZodArray<ZodURL>;
response_uris: ZodArray<ZodURL>;
vp_formats: ZodRecord<
ZodString,
ZodObject<{ alg: ...; "sd-jwt_alg_values": ... }, $strip>,
>;
},
$loose,
>,
>;
wallet_provider: ZodOptional<
ZodObject<
{
jwks: ZodOptional<ZodObject<{ keys: ... }, $strip>>;
jwks_uri: ZodOptional<ZodURL>;
signed_jwks_uri: ZodOptional<ZodURL>;
},
$loose,
>,
>;
},
$strict,
>;
V1_3: ZodObject<
{
federation_entity: ZodOptional<
ZodObject<
{
contacts: ZodOptional<ZodArray<ZodString>>;
federation_fetch_endpoint: ZodOptional<ZodURL>;
federation_historical_keys_endpoint: ZodOptional<ZodURL>;
federation_list_endpoint: ZodOptional<ZodURL>;
federation_resolve_endpoint: ZodOptional<ZodURL>;
federation_trust_mark_endpoint: ZodOptional<ZodURL>;
federation_trust_mark_list_endpoint: ZodOptional<ZodURL>;
federation_trust_mark_status_endpoint: ZodOptional<ZodURL>;
homepage_uri: ZodOptional<ZodURL>;
jwks: ZodOptional<ZodObject<{ keys: ... }, $strip>>;
jwks_uri: ZodOptional<ZodURL>;
logo_uri: ZodOptional<ZodURL>;
organization_name: ZodOptional<ZodString>;
policy_uri: ZodOptional<ZodURL>;
signed_jwks_uri: ZodOptional<ZodURL>;
tos_uri: ZodOptional<ZodURL>;
},
$loose,
>,
>;
oauth_authorization_server: ZodOptional<
ZodObject<
{
acr_values_supported: ZodArray<ZodString>;
authorization_endpoint: ZodURL;
authorization_signing_alg_values_supported: ZodArray<ZodString>;
client_attestation_pop_signing_alg_values_supported: ZodArray<
ZodString,
>;
client_attestation_signing_alg_values_supported: ZodArray<ZodString>;
client_registration_types_supported: ZodArray<
ZodUnion<readonly [(...), (...)]>,
>;
code_challenge_methods_supported: ZodArray<ZodString>;
dpop_signing_alg_values_supported: ZodArray<ZodString>;
grant_types_supported: ZodArray<ZodString>;
issuer: ZodURL;
jwks: ZodObject<{ keys: ZodArray<(...)> }, $strip>;
pushed_authorization_request_endpoint: ZodURL;
request_object_signing_alg_values_supported: ZodArray<ZodString>;
require_signed_request_object: ZodLiteral<true>;
response_types_supported: ZodArray<ZodString>;
scopes_supported: ZodArray<ZodString>;
token_endpoint: ZodURL;
token_endpoint_auth_methods_supported: ZodArray<ZodString>;
token_endpoint_auth_signing_alg_values_supported: ZodArray<ZodString>;
},
$loose,
>,
>;
openid_credential_issuer: ZodOptional<
ZodObject<
{
authorization_servers: ZodOptional<ZodTuple<[(...)], ZodURL>>;
batch_credential_issuance: ZodOptional<
ZodObject<{ batch_size: ... }, $strip>,
>;
credential_configurations_supported: ZodRecord<
ZodString,
ZodIntersection<
ZodDiscriminatedUnion<(...), (...)>,
ZodObject<(...), (...)>,
>,
>;
credential_endpoint: ZodURL;
credential_issuer: ZodURL;
deferred_credential_endpoint: ZodOptional<ZodURL>;
display: ZodOptional<ZodArray<ZodObject<(...), (...)>>>;
jwks: ZodObject<{ keys: ZodArray<(...)> }, $strip>;
nonce_endpoint: ZodOptional<ZodURL>;
notification_endpoint: ZodOptional<ZodURL>;
status_list_aggregation_endpoint: ZodOptional<ZodURL>;
trust_frameworks_supported: ZodArray<
ZodUnion<readonly [(...), (...), (...), (...), (...)]>,
>;
},
$loose,
>,
>;
openid_credential_verifier: ZodOptional<
ZodObject<
{
application_type: ZodLiteral<"web">;
client_id: ZodURL;
client_name: ZodString;
encrypted_response_enc_values_supported: ZodArray<ZodString>;
erasure_endpoint: ZodOptional<ZodURL>;
jwks: ZodObject<{ keys: ZodArray<(...)> }, $strip>;
logo_uri: ZodURL;
redirect_uris: ZodOptional<ZodArray<ZodURL>>;
request_uris: ZodArray<ZodURL>;
response_uris: ZodArray<ZodURL>;
vp_formats_supported: ZodRecord<
ZodString,
ZodObject<
{
alg: ...;
deviceauth_alg_values: ...;
issuerauth_alg_values: ...;
"kb-jwt_alg_values": ...;
"sd-jwt_alg_values": ...;
},
$strip,
>,
>;
},
$loose,
>,
>;
wallet_solution: ZodOptional<
ZodObject<
{
jwks: ZodOptional<ZodObject<{ keys: ... }, $strip>>;
jwks_uri: ZodOptional<ZodURL>;
logo_uri: ZodURL;
signed_jwks_uri: ZodOptional<ZodURL>;
wallet_metadata: ZodObject<
{
authorization_endpoint: ZodURL;
client_id_prefixes_supported: ZodArray<(...)>;
credential_offer_endpoint: ZodURL;
request_object_signing_alg_values_supported: ZodArray<(...)>;
response_modes_supported: ZodArray<(...)>;
response_types_supported: ZodArray<(...)>;
vp_formats_supported: ZodRecord<(...), (...)>;
wallet_name: ZodString;
},
$loose,
>;
},
$loose,
>,
>;
},
$strict,
>;
V1_4: ZodObject<
{
federation_entity: ZodOptional<
ZodObject<
{
contacts: ZodOptional<ZodArray<ZodString>>;
federation_fetch_endpoint: ZodOptional<ZodURL>;
federation_historical_keys_endpoint: ZodOptional<ZodURL>;
federation_list_endpoint: ZodOptional<ZodURL>;
federation_resolve_endpoint: ZodOptional<ZodURL>;
federation_trust_mark_endpoint: ZodOptional<ZodURL>;
federation_trust_mark_list_endpoint: ZodOptional<ZodURL>;
federation_trust_mark_status_endpoint: ZodOptional<ZodURL>;
homepage_uri: ZodOptional<ZodURL>;
jwks: ZodOptional<ZodObject<{ keys: ... }, $strip>>;
jwks_uri: ZodOptional<ZodURL>;
logo_uri: ZodOptional<ZodURL>;
organization_name: ZodOptional<ZodString>;
policy_uri: ZodOptional<ZodURL>;
signed_jwks_uri: ZodOptional<ZodURL>;
tos_uri: ZodOptional<ZodURL>;
},
$loose,
>,
>;
oauth_authorization_server: ZodOptional<
ZodObject<
{
acr_values_supported: ZodArray<ZodString>;
authorization_endpoint: ZodURL;
authorization_signing_alg_values_supported: ZodArray<ZodString>;
client_attestation_pop_signing_alg_values_supported: ZodArray<
ZodString,
>;
client_attestation_signing_alg_values_supported: ZodArray<ZodString>;
client_registration_types_supported: ZodArray<
ZodUnion<readonly [(...), (...)]>,
>;
code_challenge_methods_supported: ZodArray<ZodString>;
dpop_signing_alg_values_supported: ZodArray<ZodString>;
grant_types_supported: ZodArray<ZodString>;
issuer: ZodURL;
jwks: ZodObject<{ keys: ZodArray<(...)> }, $strip>;
pushed_authorization_request_endpoint: ZodURL;
request_object_signing_alg_values_supported: ZodArray<ZodString>;
require_signed_request_object: ZodLiteral<true>;
response_types_supported: ZodArray<ZodString>;
scopes_supported: ZodArray<ZodString>;
token_endpoint: ZodURL;
token_endpoint_auth_methods_supported: ZodArray<ZodString>;
token_endpoint_auth_signing_alg_values_supported: ZodArray<ZodString>;
},
$loose,
>,
>;
openid_credential_issuer: ZodOptional<
ZodObject<
{
authorization_servers: ZodOptional<ZodTuple<[(...)], ZodURL>>;
batch_credential_issuance: ZodOptional<
ZodObject<{ batch_size: ... }, $strip>,
>;
credential_configurations_supported: ZodRecord<
ZodString,
ZodIntersection<
ZodDiscriminatedUnion<(...), (...)>,
ZodObject<(...), (...)>,
>,
>;
credential_endpoint: ZodURL;
credential_issuer: ZodURL;
deferred_credential_endpoint: ZodOptional<ZodURL>;
display: ZodOptional<ZodArray<ZodObject<(...), (...)>>>;
jwks: ZodObject<{ keys: ZodArray<(...)> }, $strip>;
nonce_endpoint: ZodOptional<ZodURL>;
notification_endpoint: ZodOptional<ZodURL>;
status_list_aggregation_endpoint: ZodOptional<ZodURL>;
trust_frameworks_supported: ZodArray<
ZodUnion<readonly [(...), (...), (...), (...), (...)]>,
>;
},
$loose,
>,
>;
openid_credential_verifier: ZodOptional<
ZodObject<
{
application_type: ZodLiteral<"web">;
client_id: ZodURL;
client_name: ZodString;
encrypted_response_enc_values_supported: ZodArray<ZodString>;
erasure_endpoint: ZodOptional<ZodURL>;
jwks: ZodObject<{ keys: ZodArray<(...)> }, $strip>;
logo_uri: ZodURL;
redirect_uris: ZodOptional<ZodArray<ZodURL>>;
request_uris: ZodArray<ZodURL>;
response_uris: ZodArray<ZodURL>;
vp_formats_supported: ZodRecord<
ZodString,
ZodObject<
{
alg: ...;
deviceauth_alg_values: ...;
issuerauth_alg_values: ...;
"kb-jwt_alg_values": ...;
"sd-jwt_alg_values": ...;
},
$strip,
>,
>;
},
$loose,
>,
>;
wallet_solution: ZodOptional<
ZodObject<
{
jwks: ZodOptional<ZodObject<{ keys: ... }, $strip>>;
jwks_uri: ZodOptional<ZodURL>;
logo_uri: ZodURL;
signed_jwks_uri: ZodOptional<ZodURL>;
wallet_metadata: ZodObject<
{
authorization_endpoint: ZodURL;
client_id_prefixes_supported: ZodArray<(...)>;
credential_offer_endpoint: ZodURL;
request_object_signing_alg_values_supported: ZodArray<(...)>;
response_types_supported: ZodOptional<(...)>;
vp_formats_supported: ZodRecord<(...), (...)>;
wallet_name: ZodString;
},
$loose,
>;
},
$loose,
>,
>;
},
$strict,
>;
}[V],
>
True when the metadata satisfies the version-specific schema.
Checks whether a metadata object matches the schema for a specific IT-Wallet version.