@pagopa/io-wallet-oauth2 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -2,7 +2,7 @@ import * as _openid4vc_oauth2 from '@openid4vc/oauth2';
2
2
  import { CallbackContext, JwtSigner as JwtSigner$1, JwtSignerJwk as JwtSignerJwk$1, ClientAttestationJwtPayload, RequestDpopOptions, JwtSignerWithJwk as JwtSignerWithJwk$1, HttpMethod as HttpMethod$1 } from '@openid4vc/oauth2';
3
3
  export { CallbackContext, ClientAttestationPopJwtHeader, ClientAttestationPopJwtPayload, DecryptJweCallback, EncryptJweCallback, GenerateRandomCallback, HashAlgorithm, JweEncryptor, JwtSigner, JwtSignerJwk, Oauth2JwtParseError, RequestDpopOptions, SignJwtCallback, VerifyJwtCallback, verifyJwt } from '@openid4vc/oauth2';
4
4
  import z, { z as z$1 } from 'zod';
5
- import { RequestLike as RequestLike$1, IoWalletSdkConfig, ItWalletSpecsVersion, FetchHeaders, HttpMethod, BaseSchema, ContentType, Fetch } from '@pagopa/io-wallet-utils';
5
+ import { RequestLike as RequestLike$1, ItWalletSpecsVersion, IoWalletSdkConfig, FetchHeaders, HttpMethod, BaseSchema, ContentType, Fetch } from '@pagopa/io-wallet-utils';
6
6
  import { ItWalletAuthorizationServerMetadata } from '@pagopa/io-wallet-oid-federation';
7
7
 
8
8
  interface RetrieveAuthorizationCodeAccessTokenOptions {
@@ -423,6 +423,7 @@ type VerifiedClientAttestationPopJwt = Awaited<ReturnType<typeof verifyClientAtt
423
423
  declare function verifyClientAttestationPopJwt(options: VerifyClientAttestationPopJwtOptions): Promise<{
424
424
  header: {
425
425
  [x: string]: unknown;
426
+ typ: "oauth-client-attestation-pop+jwt";
426
427
  alg: string;
427
428
  jwk?: {
428
429
  [x: string]: unknown;
@@ -457,12 +458,16 @@ declare function verifyClientAttestationPopJwt(options: VerifyClientAttestationP
457
458
  } | undefined;
458
459
  kid?: string | undefined;
459
460
  trust_chain?: [string, ...string[]] | undefined;
460
- typ?: string | undefined;
461
461
  x5c?: string[] | undefined;
462
462
  };
463
463
  payload: {
464
464
  [x: string]: unknown;
465
- aud?: string | undefined;
465
+ aud: string;
466
+ iat: number;
467
+ iss: string;
468
+ jti: string;
469
+ exp?: number | undefined;
470
+ nonce?: string | undefined;
466
471
  cnf?: {
467
472
  [x: string]: unknown;
468
473
  jkt?: string | undefined;
@@ -498,18 +503,13 @@ declare function verifyClientAttestationPopJwt(options: VerifyClientAttestationP
498
503
  y?: string | undefined;
499
504
  } | undefined;
500
505
  } | undefined;
501
- exp?: number | undefined;
502
- iat?: number | undefined;
503
- iss?: string | undefined;
504
- jti?: string | undefined;
505
506
  nbf?: number | undefined;
506
- nonce?: string | undefined;
507
507
  status?: Record<string, any> | undefined;
508
508
  trust_chain?: [string, ...string[]] | undefined;
509
509
  };
510
510
  signer: _openid4vc_oauth2.JwtSignerWithJwk;
511
511
  }>;
512
- interface CreateClientAttestationPopJwtOptions {
512
+ interface BaseCreateClientAttestationPopJwtOptions<V extends ItWalletSpecsVersion> {
513
513
  /**
514
514
  * The audience authorization server identifier
515
515
  */
@@ -524,9 +524,10 @@ interface CreateClientAttestationPopJwtOptions {
524
524
  */
525
525
  clientAttestation: string;
526
526
  /**
527
- * Expiration time of the JWT. If not provided 1 minute will be added to the `issuedAt`
527
+ * The IT-Wallet SDK configuration, used to select the correct version-specific
528
+ * payload shape for the client attestation PoP JWT.
528
529
  */
529
- expiresAt?: Date;
530
+ config: IoWalletSdkConfig<V>;
530
531
  /**
531
532
  * Creation time of the JWT. If not provided the current date will be used
532
533
  */
@@ -543,7 +544,27 @@ interface CreateClientAttestationPopJwtOptions {
543
544
  */
544
545
  signer?: JwtSignerJwk$1;
545
546
  }
546
- declare function createClientAttestationPopJwt(options: CreateClientAttestationPopJwtOptions): Promise<string>;
547
+ type NoClientAttestationPopJwtExtraOptions = Record<never, never>;
548
+ interface CreateClientAttestationPopJwtVersionOptions {
549
+ [ItWalletSpecsVersion.V1_0]: {
550
+ /**
551
+ * Expiration time of the JWT.
552
+ * If not provided, 1 minute will be added to `issuedAt`.
553
+ */
554
+ expiresAt?: Date;
555
+ };
556
+ [ItWalletSpecsVersion.V1_3]: NoClientAttestationPopJwtExtraOptions;
557
+ [ItWalletSpecsVersion.V1_4]: NoClientAttestationPopJwtExtraOptions;
558
+ }
559
+ type CreateClientAttestationPopJwtExtraOptions<V extends ItWalletSpecsVersion> = [
560
+ V
561
+ ] extends [keyof CreateClientAttestationPopJwtVersionOptions] ? CreateClientAttestationPopJwtVersionOptions[V] : NoClientAttestationPopJwtExtraOptions;
562
+ type CreateClientAttestationPopJwtOptionsForVersion<V extends ItWalletSpecsVersion> = BaseCreateClientAttestationPopJwtOptions<V> & CreateClientAttestationPopJwtExtraOptions<V>;
563
+ type CreateClientAttestationPopJwtOptionsV1_0 = CreateClientAttestationPopJwtOptionsForVersion<ItWalletSpecsVersion.V1_0>;
564
+ type CreateClientAttestationPopJwtOptionsV1_3 = CreateClientAttestationPopJwtOptionsForVersion<ItWalletSpecsVersion.V1_3>;
565
+ type CreateClientAttestationPopJwtOptionsV1_4 = CreateClientAttestationPopJwtOptionsForVersion<ItWalletSpecsVersion.V1_4>;
566
+ type CreateClientAttestationPopJwtOptions = CreateClientAttestationPopJwtOptionsForVersion<ItWalletSpecsVersion>;
567
+ declare function createClientAttestationPopJwt<V extends ItWalletSpecsVersion = ItWalletSpecsVersion>(options: CreateClientAttestationPopJwtOptionsForVersion<V>): Promise<string>;
547
568
 
548
569
  interface ClientAttestationOptions {
549
570
  /**
@@ -696,6 +717,7 @@ declare function verifyClientAttestation(options: VerifyClientAttestationOptions
696
717
  clientAttestationPop: {
697
718
  header: {
698
719
  [x: string]: unknown;
720
+ typ: "oauth-client-attestation-pop+jwt";
699
721
  alg: string;
700
722
  jwk?: {
701
723
  [x: string]: unknown;
@@ -730,12 +752,16 @@ declare function verifyClientAttestation(options: VerifyClientAttestationOptions
730
752
  } | undefined;
731
753
  kid?: string | undefined;
732
754
  trust_chain?: [string, ...string[]] | undefined;
733
- typ?: string | undefined;
734
755
  x5c?: string[] | undefined;
735
756
  };
736
757
  payload: {
737
758
  [x: string]: unknown;
738
- aud?: string | undefined;
759
+ aud: string;
760
+ iat: number;
761
+ iss: string;
762
+ jti: string;
763
+ exp?: number | undefined;
764
+ nonce?: string | undefined;
739
765
  cnf?: {
740
766
  [x: string]: unknown;
741
767
  jkt?: string | undefined;
@@ -771,12 +797,7 @@ declare function verifyClientAttestation(options: VerifyClientAttestationOptions
771
797
  y?: string | undefined;
772
798
  } | undefined;
773
799
  } | undefined;
774
- exp?: number | undefined;
775
- iat?: number | undefined;
776
- iss?: string | undefined;
777
- jti?: string | undefined;
778
800
  nbf?: number | undefined;
779
- nonce?: string | undefined;
780
801
  status?: Record<string, any> | undefined;
781
802
  trust_chain?: [string, ...string[]] | undefined;
782
803
  };
@@ -793,7 +814,7 @@ interface BaseVerifyWalletAttestationJwtOptions {
793
814
  * Base options shared across all wallet attestation versions
794
815
  */
795
816
  interface BaseWalletAttestationOptions {
796
- callbacks: Pick<CallbackContext, "signJwt">;
817
+ callbacks: Pick<CallbackContext, "hash" | "signJwt">;
797
818
  dpopJwkPublic: ClientAttestationJwtPayload["cnf"]["jwk"];
798
819
  expiresAt?: Date;
799
820
  issuer: string;
@@ -1290,7 +1311,7 @@ interface VerifyAccessTokenRequestResult {
1290
1311
  */
1291
1312
  declare function verifyAccessTokenRequest(options: VerifyAccessTokenRequestOptions): Promise<VerifyAccessTokenRequestResult>;
1292
1313
 
1293
- declare const zAuthorizationRequest: z.ZodObject<{
1314
+ declare const zAuthorizationRequestV1_0: z.ZodObject<{
1294
1315
  authorization_details: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1295
1316
  credential_configuration_id: z.ZodString;
1296
1317
  type: z.ZodLiteral<"openid_credential">;
@@ -1306,19 +1327,40 @@ declare const zAuthorizationRequest: z.ZodObject<{
1306
1327
  issuer_state: z.ZodOptional<z.ZodString>;
1307
1328
  jti: z.ZodString;
1308
1329
  redirect_uri: z.ZodURL;
1330
+ response_type: z.ZodString;
1331
+ scope: z.ZodOptional<z.ZodString>;
1332
+ state: z.ZodString;
1309
1333
  response_mode: z.ZodString;
1334
+ }, z.core.$loose>;
1335
+ type AuthorizationRequestV1_0 = z.infer<typeof zAuthorizationRequestV1_0>;
1336
+ declare const zAuthorizationRequestV1_3: z.ZodObject<{
1337
+ authorization_details: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1338
+ credential_configuration_id: z.ZodString;
1339
+ type: z.ZodLiteral<"openid_credential">;
1340
+ }, z.core.$strip>, z.ZodObject<{
1341
+ challenge_method: z.ZodLiteral<"mrtd+ias">;
1342
+ challenge_redirect_uri: z.ZodURL;
1343
+ idphinting: z.ZodURL;
1344
+ type: z.ZodLiteral<"it_l2+document_proof">;
1345
+ }, z.core.$strip>], "type">>>;
1346
+ client_id: z.ZodString;
1347
+ code_challenge: z.ZodString;
1348
+ code_challenge_method: z.ZodString;
1349
+ issuer_state: z.ZodOptional<z.ZodString>;
1350
+ jti: z.ZodString;
1351
+ redirect_uri: z.ZodURL;
1310
1352
  response_type: z.ZodString;
1311
1353
  scope: z.ZodOptional<z.ZodString>;
1312
1354
  state: z.ZodString;
1313
1355
  }, z.core.$loose>;
1314
- type AuthorizationRequest = z.infer<typeof zAuthorizationRequest>;
1356
+ type AuthorizationRequestV1_3 = z.infer<typeof zAuthorizationRequestV1_3>;
1315
1357
  declare const zPushedAuthorizationRequestSigned: z.ZodObject<{
1316
1358
  client_id: z.ZodString;
1317
1359
  pkceCodeVerifier: z.ZodString;
1318
1360
  request: z.ZodString;
1319
1361
  }, z.core.$loose>;
1320
1362
  type PushedAuthorizationRequestSigned = z.infer<typeof zPushedAuthorizationRequestSigned>;
1321
- declare const zPushedAuthorizationRequestUnsigned: z.ZodObject<{
1363
+ declare const zPushedAuthorizationRequestUnsignedV1_0: z.ZodObject<{
1322
1364
  authorizationRequest: z.ZodObject<{
1323
1365
  authorization_details: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1324
1366
  credential_configuration_id: z.ZodString;
@@ -1335,7 +1377,32 @@ declare const zPushedAuthorizationRequestUnsigned: z.ZodObject<{
1335
1377
  issuer_state: z.ZodOptional<z.ZodString>;
1336
1378
  jti: z.ZodString;
1337
1379
  redirect_uri: z.ZodURL;
1380
+ response_type: z.ZodString;
1381
+ scope: z.ZodOptional<z.ZodString>;
1382
+ state: z.ZodString;
1338
1383
  response_mode: z.ZodString;
1384
+ }, z.core.$loose>;
1385
+ client_id: z.ZodString;
1386
+ pkceCodeVerifier: z.ZodString;
1387
+ }, z.core.$loose>;
1388
+ type PushedAuthorizationRequestUnsignedV1_0 = z.infer<typeof zPushedAuthorizationRequestUnsignedV1_0>;
1389
+ declare const zPushedAuthorizationRequestUnsignedV1_3: z.ZodObject<{
1390
+ authorizationRequest: z.ZodObject<{
1391
+ authorization_details: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1392
+ credential_configuration_id: z.ZodString;
1393
+ type: z.ZodLiteral<"openid_credential">;
1394
+ }, z.core.$strip>, z.ZodObject<{
1395
+ challenge_method: z.ZodLiteral<"mrtd+ias">;
1396
+ challenge_redirect_uri: z.ZodURL;
1397
+ idphinting: z.ZodURL;
1398
+ type: z.ZodLiteral<"it_l2+document_proof">;
1399
+ }, z.core.$strip>], "type">>>;
1400
+ client_id: z.ZodString;
1401
+ code_challenge: z.ZodString;
1402
+ code_challenge_method: z.ZodString;
1403
+ issuer_state: z.ZodOptional<z.ZodString>;
1404
+ jti: z.ZodString;
1405
+ redirect_uri: z.ZodURL;
1339
1406
  response_type: z.ZodString;
1340
1407
  scope: z.ZodOptional<z.ZodString>;
1341
1408
  state: z.ZodString;
@@ -1343,21 +1410,22 @@ declare const zPushedAuthorizationRequestUnsigned: z.ZodObject<{
1343
1410
  client_id: z.ZodString;
1344
1411
  pkceCodeVerifier: z.ZodString;
1345
1412
  }, z.core.$loose>;
1346
- type PushedAuthorizationRequestUnsigned = z.infer<typeof zPushedAuthorizationRequestUnsigned>;
1413
+ type PushedAuthorizationRequestUnsignedV1_3 = z.infer<typeof zPushedAuthorizationRequestUnsignedV1_3>;
1347
1414
  /**
1348
1415
  * Union type for Pushed Authorization Request - can be either signed (JAR) or unsigned.
1349
1416
  * The variant depends on the Authorization Server's require_signed_request_object metadata.
1350
1417
  */
1351
- type PushedAuthorizationRequest = PushedAuthorizationRequestSigned | PushedAuthorizationRequestUnsigned;
1418
+ type PushedAuthorizationRequest = PushedAuthorizationRequestSigned | PushedAuthorizationRequestUnsignedV1_0 | PushedAuthorizationRequestUnsignedV1_3;
1352
1419
  declare function isPushedAuthorizationRequestSigned(par: PushedAuthorizationRequest): par is PushedAuthorizationRequestSigned;
1353
- declare function isPushedAuthorizationRequestUnsigned(par: PushedAuthorizationRequest): par is PushedAuthorizationRequestUnsigned;
1420
+ declare function isPushedAuthorizationRequestUnsigned(par: PushedAuthorizationRequest): par is PushedAuthorizationRequestUnsignedV1_0 | PushedAuthorizationRequestUnsignedV1_3;
1354
1421
  declare const zPushedAuthorizationResponse: z.ZodObject<{
1355
1422
  expires_in: z.ZodNumber;
1356
1423
  request_uri: z.ZodString;
1357
1424
  }, z.core.$loose>;
1358
1425
  type PushedAuthorizationResponse = z.infer<typeof zPushedAuthorizationResponse>;
1359
1426
 
1360
- interface CreatePushedAuthorizationRequestOptions {
1427
+ type AuthorizationRequest$1 = AuthorizationRequestV1_0 | AuthorizationRequestV1_3;
1428
+ interface BaseCreatePushedAuthorizationRequestOptions<V extends ItWalletSpecsVersion> {
1361
1429
  /**
1362
1430
  * It MUST be set to the identifier of the Credential Issuer.
1363
1431
  */
@@ -1365,7 +1433,7 @@ interface CreatePushedAuthorizationRequestOptions {
1365
1433
  /**
1366
1434
  * Allows clients to specify their fine-grained authorization requirements using the expressiveness of JSON data structures
1367
1435
  */
1368
- authorization_details?: AuthorizationRequest["authorization_details"];
1436
+ authorization_details?: AuthorizationRequest$1["authorization_details"];
1369
1437
  /**
1370
1438
  * Authorization Server metadata for conditional JAR signing.
1371
1439
  * When require_signed_request_object is true, creates a signed JWT (JAR).
@@ -1386,6 +1454,7 @@ interface CreatePushedAuthorizationRequestOptions {
1386
1454
  */
1387
1455
  clientId: string;
1388
1456
  codeChallengeMethodsSupported: ItWalletAuthorizationServerMetadata["code_challenge_methods_supported"];
1457
+ config: IoWalletSdkConfig<V>;
1389
1458
  /**
1390
1459
  * DPoP options. Required when `require_signed_request_object` is `true`
1391
1460
  * (enforced at the type level via function overloads). Not used in the
@@ -1412,10 +1481,6 @@ interface CreatePushedAuthorizationRequestOptions {
1412
1481
  * Redirect uri to include in the authorization request
1413
1482
  */
1414
1483
  redirectUri: string;
1415
- /**
1416
- * It MUST be one of the supported values (response_modes_supported) provided in the metadata of the Credential Issuer.
1417
- */
1418
- responseMode: string;
1419
1484
  /**
1420
1485
  * Scope to request for the authorization request
1421
1486
  */
@@ -1425,6 +1490,25 @@ interface CreatePushedAuthorizationRequestOptions {
1425
1490
  */
1426
1491
  state?: string;
1427
1492
  }
1493
+ interface CreatePushedAuthorizationRequestOptionsV1_0 extends BaseCreatePushedAuthorizationRequestOptions<ItWalletSpecsVersion.V1_0> {
1494
+ /**
1495
+ * It MUST be one of the supported values (response_modes_supported) provided in the metadata of the Credential Issuer.
1496
+ */
1497
+ responseMode: string;
1498
+ }
1499
+ type CreatePushedAuthorizationRequestOptionsV1_3 = BaseCreatePushedAuthorizationRequestOptions<ItWalletSpecsVersion.V1_3>;
1500
+ type CreatePushedAuthorizationRequestOptions = CreatePushedAuthorizationRequestOptionsV1_0 | CreatePushedAuthorizationRequestOptionsV1_3;
1501
+ type CreatePushedAuthorizationRequestOptionsSigned<TOptions extends CreatePushedAuthorizationRequestOptions> = {
1502
+ authorizationServerMetadata: {
1503
+ require_signed_request_object: true;
1504
+ };
1505
+ dpop: RequestDpopOptions;
1506
+ } & TOptions;
1507
+ type CreatePushedAuthorizationRequestOptionsUnsigned<TOptions extends CreatePushedAuthorizationRequestOptions> = {
1508
+ authorizationServerMetadata: {
1509
+ require_signed_request_object: false;
1510
+ };
1511
+ } & TOptions;
1428
1512
  /**
1429
1513
  * Creates a Pushed Authorization Request (PAR) for OAuth 2.0 authorization flows.
1430
1514
  *
@@ -1457,7 +1541,8 @@ interface CreatePushedAuthorizationRequestOptions {
1457
1541
  * @param options.jti - Optional JWT ID for PAR (auto-generated if not provided)
1458
1542
  * @param options.pkceCodeVerifier - Optional PKCE code verifier (auto-generated if not provided)
1459
1543
  * @param options.redirectUri - Redirect URI for the authorization response
1460
- * @param options.responseMode - Response mode (must be supported by Credential Issuer)
1544
+ * @param options.config - Italian Wallet specification version used to build the request shape
1545
+ * @param options.responseMode - Response mode (v1.0 only, must be supported by Credential Issuer)
1461
1546
  * @param options.scope - OAuth 2.0 scope to request
1462
1547
  * @param options.state - Optional state parameter (auto-generated if not provided)
1463
1548
  * @param options.expiresAt - Optional JWT expiration time (defaults to 1 hour from issuedAt)
@@ -1465,19 +1550,24 @@ interface CreatePushedAuthorizationRequestOptions {
1465
1550
  *
1466
1551
  * @returns A promise resolving to either:
1467
1552
  * - `PushedAuthorizationRequestSigned` when JAR signing is required (contains `request` JWT)
1468
- * - `PushedAuthorizationRequestUnsigned` when JAR signing is not required (contains `authorizationRequest` object)
1553
+ * - version-specific unsigned PAR when JAR signing is not required (contains `authorizationRequest` object)
1469
1554
  *
1470
1555
  * @throws {PushedAuthorizationRequestError} If DPoP signer is missing required properties (alg, publicJwk.kid)
1471
1556
  * @throws {PushedAuthorizationRequestError} If PKCE code challenge method is not supported
1472
1557
  * @throws {ZodError} If authorization request parameters fail validation
1473
1558
  *
1474
1559
  * @example
1475
- * // Example 1: Create signed PAR (explicit)
1560
+ * // Example 1: Create signed PAR for IT-Wallet v1.0 (explicit)
1561
+ * const config = new IoWalletSdkConfig({
1562
+ * itWalletSpecsVersion: ItWalletSpecsVersion.V1_0,
1563
+ * });
1564
+ *
1476
1565
  * const signedPar = await createPushedAuthorizationRequest({
1477
1566
  * audience: 'https://issuer.example.com',
1478
1567
  * callbacks: { generateRandom, hash, signJwt },
1479
1568
  * clientId: 'wallet_client_thumbprint',
1480
1569
  * codeChallengeMethodsSupported: ['S256'],
1570
+ * config,
1481
1571
  * dpop: { signer: { alg: 'ES256', publicJwk: { kid: 'key-1' } } },
1482
1572
  * redirectUri: 'https://wallet.example.com/callback',
1483
1573
  * responseMode: 'form_post.jwt',
@@ -1489,14 +1579,18 @@ interface CreatePushedAuthorizationRequestOptions {
1489
1579
  * // signedPar.request contains the signed JWT
1490
1580
  *
1491
1581
  * @example
1492
- * // Example 2: Create unsigned PAR (when Authorization Server allows it)
1582
+ * // Example 2: Create unsigned PAR for IT-Wallet v1.3 (when Authorization Server allows it)
1583
+ * const config = new IoWalletSdkConfig({
1584
+ * itWalletSpecsVersion: ItWalletSpecsVersion.V1_3,
1585
+ * });
1586
+ *
1493
1587
  * const unsignedPar = await createPushedAuthorizationRequest({
1494
1588
  * audience: 'https://issuer.example.com',
1495
1589
  * callbacks: { generateRandom, hash, signJwt },
1496
1590
  * clientId: 'wallet_client_thumbprint',
1497
1591
  * codeChallengeMethodsSupported: ['S256'],
1592
+ * config,
1498
1593
  * redirectUri: 'https://wallet.example.com/callback',
1499
- * responseMode: 'query',
1500
1594
  * scope: 'openid',
1501
1595
  * authorizationServerMetadata: {
1502
1596
  * require_signed_request_object: false // Creates unsigned request — dpop not needed
@@ -1505,12 +1599,17 @@ interface CreatePushedAuthorizationRequestOptions {
1505
1599
  * // unsignedPar.authorizationRequest contains the plain object
1506
1600
  *
1507
1601
  * @example
1508
- * // Example 3: Default behavior (no metadata - unsigned)
1602
+ * // Example 3: Default behavior for IT-Wallet v1.0 (no metadata - unsigned)
1603
+ * const config = new IoWalletSdkConfig({
1604
+ * itWalletSpecsVersion: ItWalletSpecsVersion.V1_0,
1605
+ * });
1606
+ *
1509
1607
  * const par = await createPushedAuthorizationRequest({
1510
1608
  * audience: 'https://issuer.example.com',
1511
1609
  * callbacks: { generateRandom, hash, signJwt },
1512
1610
  * clientId: 'wallet_client_thumbprint',
1513
1611
  * codeChallengeMethodsSupported: ['S256'],
1612
+ * config,
1514
1613
  * redirectUri: 'https://wallet.example.com/callback',
1515
1614
  * responseMode: 'form_post.jwt',
1516
1615
  * scope: 'openid'
@@ -1522,17 +1621,11 @@ interface CreatePushedAuthorizationRequestOptions {
1522
1621
  * @see {@link https://datatracker.ietf.org/doc/html/rfc9101 RFC 9101 - JWT-Secured Authorization Request (JAR)}
1523
1622
  * @see {@link https://datatracker.ietf.org/doc/html/rfc9101#section-10.5 RFC 9101 Section 10.5 - require_signed_request_object}
1524
1623
  */
1525
- declare function createPushedAuthorizationRequest(options: {
1526
- authorizationServerMetadata: {
1527
- require_signed_request_object: true;
1528
- };
1529
- dpop: RequestDpopOptions;
1530
- } & CreatePushedAuthorizationRequestOptions): Promise<PushedAuthorizationRequestSigned>;
1531
- declare function createPushedAuthorizationRequest(options: {
1532
- authorizationServerMetadata: {
1533
- require_signed_request_object: false;
1534
- };
1535
- } & CreatePushedAuthorizationRequestOptions): Promise<PushedAuthorizationRequestUnsigned>;
1624
+ declare function createPushedAuthorizationRequest(options: CreatePushedAuthorizationRequestOptionsSigned<CreatePushedAuthorizationRequestOptions>): Promise<PushedAuthorizationRequestSigned>;
1625
+ declare function createPushedAuthorizationRequest(options: CreatePushedAuthorizationRequestOptionsUnsigned<CreatePushedAuthorizationRequestOptionsV1_0>): Promise<PushedAuthorizationRequestUnsignedV1_0>;
1626
+ declare function createPushedAuthorizationRequest(options: CreatePushedAuthorizationRequestOptionsV1_0): Promise<PushedAuthorizationRequestSigned | PushedAuthorizationRequestUnsignedV1_0>;
1627
+ declare function createPushedAuthorizationRequest(options: CreatePushedAuthorizationRequestOptionsUnsigned<CreatePushedAuthorizationRequestOptionsV1_3>): Promise<PushedAuthorizationRequestUnsignedV1_3>;
1628
+ declare function createPushedAuthorizationRequest(options: CreatePushedAuthorizationRequestOptionsV1_3): Promise<PushedAuthorizationRequestSigned | PushedAuthorizationRequestUnsignedV1_3>;
1536
1629
  declare function createPushedAuthorizationRequest(options: CreatePushedAuthorizationRequestOptions): Promise<PushedAuthorizationRequest>;
1537
1630
 
1538
1631
  /**
@@ -1622,9 +1715,11 @@ interface ParseAuthorizationRequestResult {
1622
1715
  */
1623
1716
  declare function parseAuthorizationRequest(options: ParseAuthorizationRequestOptions): ParseAuthorizationRequestResult;
1624
1717
 
1718
+ type AuthorizationRequest = AuthorizationRequestV1_0 | AuthorizationRequestV1_3;
1625
1719
  interface ParsePushedAuthorizationRequestOptions {
1626
1720
  authorizationRequest: unknown;
1627
1721
  callbacks: Pick<CallbackContext, "fetch">;
1722
+ config: IoWalletSdkConfig;
1628
1723
  request: RequestLike$1;
1629
1724
  }
1630
1725
  interface ParsePushedAuthorizationRequestResult extends ParseAuthorizationRequestResult {
@@ -2311,15 +2406,16 @@ type ClientAuthenticationCallback = (options: ClientAuthenticationCallbackOption
2311
2406
  * Anonymous client authentication
2312
2407
  */
2313
2408
  declare function clientAuthenticationAnonymous(): ClientAuthenticationCallback;
2314
- interface ClientAuthenticationWalletAttestationJwtOptions {
2409
+ interface ClientAuthenticationWalletAttestationJwtOptions<V extends ItWalletSpecsVersion = ItWalletSpecsVersion> {
2315
2410
  callbacks: Pick<CallbackContext, "generateRandom" | "signJwt">;
2411
+ config: IoWalletSdkConfig<V>;
2316
2412
  walletAttestationJwt: string;
2317
2413
  }
2318
2414
  /**
2319
2415
  * Client authentication using wallet attestation JWT.
2320
2416
  * This method adds the wallet attestation JWT and a proof-of-possession JWT to the request headers.
2321
2417
  */
2322
- declare function clientAuthenticationWalletAttestationJwt(options: ClientAuthenticationWalletAttestationJwtOptions): ClientAuthenticationCallback;
2418
+ declare function clientAuthenticationWalletAttestationJwt<V extends ItWalletSpecsVersion = ItWalletSpecsVersion>(options: ClientAuthenticationWalletAttestationJwtOptions<V>): ClientAuthenticationCallback;
2323
2419
 
2324
2420
  /**
2325
2421
  * JWT Header schema for IT-Wallet v1.0 Wallet Attestation
@@ -2732,6 +2828,96 @@ interface WalletAttestationOptionsV1_4 extends Omit<BaseWalletAttestationOptions
2732
2828
  }
2733
2829
  declare const createWalletAttestationJwt: (options: WalletAttestationOptionsV1_4) => Promise<WalletAttestationJwtV1_4>;
2734
2830
 
2831
+ declare const IT_WALLET_CLIENT_ATTESTATION_POP_ALLOWED_ALG_VALUES: readonly ["ES256", "ES384", "ES512"];
2832
+ declare const zItWalletClientAttestationPopJwtAlg: z.ZodEnum<{
2833
+ ES256: "ES256";
2834
+ ES384: "ES384";
2835
+ ES512: "ES512";
2836
+ }>;
2837
+ type ItWalletClientAttestationPopJwtAlg = z.infer<typeof zItWalletClientAttestationPopJwtAlg>;
2838
+ declare const zItWalletClientAttestationPopJwtPayload: z.ZodObject<{
2839
+ aud: z.ZodString;
2840
+ exp: z.ZodOptional<z.ZodNumber>;
2841
+ iat: z.ZodNumber;
2842
+ iss: z.ZodString;
2843
+ jti: z.ZodString;
2844
+ nonce: z.ZodOptional<z.ZodString>;
2845
+ cnf: z.ZodOptional<z.ZodObject<{
2846
+ jkt: z.ZodOptional<z.ZodString>;
2847
+ jwk: z.ZodOptional<z.ZodObject<{
2848
+ alg: z.ZodOptional<z.ZodString>;
2849
+ crv: z.ZodOptional<z.ZodString>;
2850
+ d: z.ZodOptional<z.ZodString>;
2851
+ dp: z.ZodOptional<z.ZodString>;
2852
+ dq: z.ZodOptional<z.ZodString>;
2853
+ e: z.ZodOptional<z.ZodString>;
2854
+ ext: z.ZodOptional<z.ZodBoolean>;
2855
+ k: z.ZodOptional<z.ZodString>;
2856
+ key_ops: z.ZodOptional<z.ZodArray<z.ZodString>>;
2857
+ kid: z.ZodOptional<z.ZodString>;
2858
+ kty: z.ZodString;
2859
+ n: z.ZodOptional<z.ZodString>;
2860
+ oth: z.ZodOptional<z.ZodArray<z.ZodObject<{
2861
+ d: z.ZodOptional<z.ZodString>;
2862
+ r: z.ZodOptional<z.ZodString>;
2863
+ t: z.ZodOptional<z.ZodString>;
2864
+ }, z.core.$loose>>>;
2865
+ p: z.ZodOptional<z.ZodString>;
2866
+ q: z.ZodOptional<z.ZodString>;
2867
+ qi: z.ZodOptional<z.ZodString>;
2868
+ use: z.ZodOptional<z.ZodString>;
2869
+ x: z.ZodOptional<z.ZodString>;
2870
+ x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
2871
+ x5t: z.ZodOptional<z.ZodString>;
2872
+ "x5t#S256": z.ZodOptional<z.ZodString>;
2873
+ x5u: z.ZodOptional<z.ZodString>;
2874
+ y: z.ZodOptional<z.ZodString>;
2875
+ }, z.core.$loose>>;
2876
+ }, z.core.$loose>>;
2877
+ nbf: z.ZodOptional<z.ZodNumber>;
2878
+ status: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
2879
+ trust_chain: z.ZodOptional<z.ZodTuple<[z.ZodString], z.ZodString>>;
2880
+ }, z.core.$loose>;
2881
+ type ItWalletClientAttestationPopJwtPayload = z.infer<typeof zItWalletClientAttestationPopJwtPayload>;
2882
+ declare const zItWalletClientAttestationPopJwtTyp: z.ZodLiteral<"oauth-client-attestation-pop+jwt">;
2883
+ declare const zItWalletClientAttestationPopJwtHeader: z.ZodObject<{
2884
+ typ: z.ZodLiteral<"oauth-client-attestation-pop+jwt">;
2885
+ alg: z.ZodString;
2886
+ jwk: z.ZodOptional<z.ZodObject<{
2887
+ alg: z.ZodOptional<z.ZodString>;
2888
+ crv: z.ZodOptional<z.ZodString>;
2889
+ d: z.ZodOptional<z.ZodString>;
2890
+ dp: z.ZodOptional<z.ZodString>;
2891
+ dq: z.ZodOptional<z.ZodString>;
2892
+ e: z.ZodOptional<z.ZodString>;
2893
+ ext: z.ZodOptional<z.ZodBoolean>;
2894
+ k: z.ZodOptional<z.ZodString>;
2895
+ key_ops: z.ZodOptional<z.ZodArray<z.ZodString>>;
2896
+ kid: z.ZodOptional<z.ZodString>;
2897
+ kty: z.ZodString;
2898
+ n: z.ZodOptional<z.ZodString>;
2899
+ oth: z.ZodOptional<z.ZodArray<z.ZodObject<{
2900
+ d: z.ZodOptional<z.ZodString>;
2901
+ r: z.ZodOptional<z.ZodString>;
2902
+ t: z.ZodOptional<z.ZodString>;
2903
+ }, z.core.$loose>>>;
2904
+ p: z.ZodOptional<z.ZodString>;
2905
+ q: z.ZodOptional<z.ZodString>;
2906
+ qi: z.ZodOptional<z.ZodString>;
2907
+ use: z.ZodOptional<z.ZodString>;
2908
+ x: z.ZodOptional<z.ZodString>;
2909
+ x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
2910
+ x5t: z.ZodOptional<z.ZodString>;
2911
+ "x5t#S256": z.ZodOptional<z.ZodString>;
2912
+ x5u: z.ZodOptional<z.ZodString>;
2913
+ y: z.ZodOptional<z.ZodString>;
2914
+ }, z.core.$loose>>;
2915
+ kid: z.ZodOptional<z.ZodString>;
2916
+ trust_chain: z.ZodOptional<z.ZodTuple<[z.ZodString], z.ZodString>>;
2917
+ x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
2918
+ }, z.core.$loose>;
2919
+ type ItWalletClientAttestationPopJwtHeader = z.infer<typeof zItWalletClientAttestationPopJwtHeader>;
2920
+
2735
2921
  interface DecodeJwtHeaderOptions<HeaderSchema extends BaseSchema | undefined> {
2736
2922
  /**
2737
2923
  * Optional prefix for error messages thrown during decoding, to provide more context on where the error occurred
@@ -3562,4 +3748,4 @@ declare const zDpopJwtHeader: z.ZodObject<{
3562
3748
  }, z.core.$loose>;
3563
3749
  type DpopJwtHeader = z.infer<typeof zDpopJwtHeader>;
3564
3750
 
3565
- export { type AccessTokenProfileJwtHeader, type AccessTokenProfileJwtPayload, type AccessTokenRequest, type AccessTokenResponse, type AuthorizationCodeGrantIdentifier, type AuthorizationCodeGrantType, type AuthorizationRequest, type BaseVerifyWalletAttestationJwtOptions, type BaseWalletAttestationOptions, type CertificateChain, ClientAttestationError, type ClientAttestationOptions, type ClientAuthenticationCallback, type ClientAuthenticationCallbackOptions, type ClientAuthenticationWalletAttestationJwtOptions, type CreateAccessTokenResponseOptions, type CreateClientAttestationPopJwtOptions, type CreateJarRequestOptions, type CreateJarRequestResult, type CreateMrtdValidationJwtOptions, type CreatePkceOptions, type CreatePkceReturn, type CreatePushedAuthorizationRequestOptions, CreateTokenDPoPError, type CreateTokenDPoPOptions, CreateTokenResponseError, type DecodeJwtHeaderOptions, type DecodeJwtHeaderResult, type DecodeJwtOptions, type DecodeJwtResult, type DpopJwtHeader, type DpopJwtPayload, type FetchMrtdPopInitOptions, type FetchMrtdPopInitResult, type FetchMrtdPopVerifyOptions, type FetchMrtdPopVerifyResult, FetchTokenResponseError, type FetchTokenResponseOptions, type GetJwtFromFormPostOptions, type InferSchemaOrDefaultOutput, type IsClientAttestationSupportedOptions, type JarAuthorizationRequest, type JarRequestObjectHeader, type JarRequestObjectPayload, type Jwk, type JwkSet, type JwtHeader, type JwtPayload, type JwtSignerCustom, type JwtSignerDid, type JwtSignerFederation, type JwtSignerWithJwk, type JwtSignerX5c, MAX_JTI_LENGTH, type MrtdChallengeJwtHeader, type MrtdChallengeJwtPayload, type MrtdDocumentData, MrtdPopError, type MrtdPopInitResponseJwtHeader, type MrtdPopInitResponseJwtPayload, type MrtdPopVerifyResponse, type MrtdValidationJwtHeader, type MrtdValidationJwtPayload, Oauth2Error, type ParseAccessTokenRequestOptions, type ParseAccessTokenRequestResult, type ParseAuthorizationRequestOptions, type ParseAuthorizationRequestResult, type ParseMrtdChallengeOptions, type ParseMrtdChallengeResult, type ParsePushedAuthorizationRequestOptions, type ParsePushedAuthorizationRequestResult, type ParsedAccessTokenAuthorizationCodeRequestGrant, type ParsedAccessTokenRefreshTokenRequestGrant, type ParsedJarRequest, type ParsedJarRequestOptions, PkceCodeChallengeMethod, type PushedAuthorizationRequest, PushedAuthorizationRequestError, type PushedAuthorizationRequestSigned, type PushedAuthorizationRequestUnsigned, type PushedAuthorizationResponse, type RefreshTokenGrantIdentifier, type RefreshTokenGrantType, type RequestLike, type RetrieveAuthorizationCodeAccessTokenOptions, SupportedClientAuthenticationMethod, type TrustChain, type VerifiedClientAttestationPopJwt, type VerifiedJarRequest, type VerifiedWalletAttestationJwt, type VerifiedWalletAttestationJwtV1_0, type VerifiedWalletAttestationJwtV1_3, type VerifiedWalletAttestationJwtV1_4, type VerifyAccessTokenRequestDpop, type VerifyAccessTokenRequestOptions, type VerifyAccessTokenRequestPkce, type VerifyAccessTokenRequestResult, type VerifyAuthorizationRequestDPoP, type VerifyAuthorizationRequestOptions, type VerifyAuthorizationRequestResult, type VerifyClientAttestationOptions, type VerifyClientAttestationPopJwtOptions, type VerifyJarRequestOptions, type VerifyMrtdChallengeOptions, type VerifyMrtdChallengeResult, type VerifyPkceOptions, type VerifyPushedAuthorizationRequestOptions, type VerifyPushedAuthorizationRequestReturn, type VerifyTokenDPoPOptions, type VerifyWalletAttestationJwtOptions, type VerifyWalletAttestationJwtOptionsV1_0, type VerifyWalletAttestationJwtOptionsV1_3, type VerifyWalletAttestationJwtOptionsV1_4, type WalletAttestationJwtV1_0, type WalletAttestationJwtV1_3, type WalletAttestationJwtV1_4, type WalletAttestationOptionsV1_0, type WalletAttestationOptionsV1_3, type WalletAttestationOptionsV1_4, authorizationCodeGrantIdentifier, clientAuthenticationAnonymous, clientAuthenticationWalletAttestationJwt, createAccessTokenResponse, createClientAttestationPopJwt, createJarRequest, createMrtdValidationJwt, createPkce, createPushedAuthorizationRequest, createTokenDPoP, createTokenRequest, createWalletAttestationJwt$2 as createWalletAttestationJwtV1_0, createWalletAttestationJwt$1 as createWalletAttestationJwtV1_3, createWalletAttestationJwt as createWalletAttestationJwtV1_4, decodeJwt, decodeJwtHeader, extractClientAttestationJwtsFromHeaders, extractDpopJwtFromHeaders, fetchJarRequestObject, fetchMrtdPopInit, fetchMrtdPopVerify, fetchPushedAuthorizationResponse, type fetchPushedAuthorizationResponseOptions, fetchTokenResponse, getJwtFromFormPost, htuFromRequestUrl, isClientAttestationSupported, isJarAuthorizationRequest, isPushedAuthorizationRequestSigned, isPushedAuthorizationRequestUnsigned, jwtAuthorizationRequestJwtHeaderTyp, jwtHeaderFromJwtSigner, oauthClientAttestationHeader, oauthClientAttestationPopHeader, parseAccessTokenRequest, parseAuthorizationRequest, parseJarRequest, parseMrtdChallenge, parsePushedAuthorizationRequest, refreshTokenGrantIdentifier, signedAuthorizationRequestJwtHeaderTyp, toURLSearchParams, validateJarRequestParams, verifyAccessTokenRequest, verifyAuthorizationRequest, verifyClientAttestation, verifyClientAttestationPopJwt, verifyJarRequest, verifyMrtdChallenge, verifyPkce, verifyPushedAuthorizationRequest, verifyTokenDPoP, verifyWalletAttestationJwt, verifyWalletAttestationJwt$3 as verifyWalletAttestationJwtV1_0, verifyWalletAttestationJwt$2 as verifyWalletAttestationJwtV1_3, verifyWalletAttestationJwt$1 as verifyWalletAttestationJwtV1_4, zAccessTokenProfileJwtHeader, zAccessTokenProfileJwtPayload, zAccessTokenRequest, zAccessTokenResponse, zAlgValueNotNone, zAuthorizationCodeGrantIdentifier, zAuthorizationRequest, zCertificateChain, zCompactJwe, zCompactJwt, zDpopJwtHeader, zDpopJwtPayload, zJarAuthorizationRequest, zJarRequestObjectHeader, zJarRequestObjectPayload, zJwk, zJwkSet, zJwtConfirmationPayload, zJwtHeader, zJwtPayload, zMrtdChallengeJwtHeader, zMrtdChallengeJwtPayload, zMrtdPopInitResponseJwtHeader, zMrtdPopInitResponseJwtPayload, zMrtdPopVerifyResponse, zMrtdValidationJwtHeader, zMrtdValidationJwtPayload, zOauthClientAttestationHeader, zOauthClientAttestationPopHeader, zPushedAuthorizationRequestSigned, zPushedAuthorizationRequestUnsigned, zPushedAuthorizationResponse, zRefreshTokenGrantIdentifier, zSignedAuthorizationRequestJwtHeaderTyp, zTrustChain, zWalletAttestationJwtHeaderV1_0, zWalletAttestationJwtHeaderV1_3, zWalletAttestationJwtHeaderV1_4, zWalletAttestationJwtPayloadV1_0, zWalletAttestationJwtPayloadV1_3, zWalletAttestationJwtPayloadV1_4, zWalletAttestationJwtV1_0, zWalletAttestationJwtV1_3, zWalletAttestationJwtV1_4 };
3751
+ export { type AccessTokenProfileJwtHeader, type AccessTokenProfileJwtPayload, type AccessTokenRequest, type AccessTokenResponse, type AuthorizationCodeGrantIdentifier, type AuthorizationCodeGrantType, type AuthorizationRequestV1_0, type AuthorizationRequestV1_3, type BaseVerifyWalletAttestationJwtOptions, type BaseWalletAttestationOptions, type CertificateChain, ClientAttestationError, type ClientAttestationOptions, type ClientAuthenticationCallback, type ClientAuthenticationCallbackOptions, type ClientAuthenticationWalletAttestationJwtOptions, type CreateAccessTokenResponseOptions, type CreateClientAttestationPopJwtOptions, type CreateClientAttestationPopJwtOptionsForVersion, type CreateClientAttestationPopJwtOptionsV1_0, type CreateClientAttestationPopJwtOptionsV1_3, type CreateClientAttestationPopJwtOptionsV1_4, type CreateJarRequestOptions, type CreateJarRequestResult, type CreateMrtdValidationJwtOptions, type CreatePkceOptions, type CreatePkceReturn, type CreatePushedAuthorizationRequestOptions, type CreatePushedAuthorizationRequestOptionsV1_0, type CreatePushedAuthorizationRequestOptionsV1_3, CreateTokenDPoPError, type CreateTokenDPoPOptions, CreateTokenResponseError, type DecodeJwtHeaderOptions, type DecodeJwtHeaderResult, type DecodeJwtOptions, type DecodeJwtResult, type DpopJwtHeader, type DpopJwtPayload, type FetchMrtdPopInitOptions, type FetchMrtdPopInitResult, type FetchMrtdPopVerifyOptions, type FetchMrtdPopVerifyResult, FetchTokenResponseError, type FetchTokenResponseOptions, type GetJwtFromFormPostOptions, IT_WALLET_CLIENT_ATTESTATION_POP_ALLOWED_ALG_VALUES, type InferSchemaOrDefaultOutput, type IsClientAttestationSupportedOptions, type ItWalletClientAttestationPopJwtAlg, type ItWalletClientAttestationPopJwtHeader, type ItWalletClientAttestationPopJwtPayload, type JarAuthorizationRequest, type JarRequestObjectHeader, type JarRequestObjectPayload, type Jwk, type JwkSet, type JwtHeader, type JwtPayload, type JwtSignerCustom, type JwtSignerDid, type JwtSignerFederation, type JwtSignerWithJwk, type JwtSignerX5c, MAX_JTI_LENGTH, type MrtdChallengeJwtHeader, type MrtdChallengeJwtPayload, type MrtdDocumentData, MrtdPopError, type MrtdPopInitResponseJwtHeader, type MrtdPopInitResponseJwtPayload, type MrtdPopVerifyResponse, type MrtdValidationJwtHeader, type MrtdValidationJwtPayload, Oauth2Error, type ParseAccessTokenRequestOptions, type ParseAccessTokenRequestResult, type ParseAuthorizationRequestOptions, type ParseAuthorizationRequestResult, type ParseMrtdChallengeOptions, type ParseMrtdChallengeResult, type ParsePushedAuthorizationRequestOptions, type ParsePushedAuthorizationRequestResult, type ParsedAccessTokenAuthorizationCodeRequestGrant, type ParsedAccessTokenRefreshTokenRequestGrant, type ParsedJarRequest, type ParsedJarRequestOptions, PkceCodeChallengeMethod, type PushedAuthorizationRequest, PushedAuthorizationRequestError, type PushedAuthorizationRequestSigned, type PushedAuthorizationRequestUnsignedV1_0, type PushedAuthorizationRequestUnsignedV1_3, type PushedAuthorizationResponse, type RefreshTokenGrantIdentifier, type RefreshTokenGrantType, type RequestLike, type RetrieveAuthorizationCodeAccessTokenOptions, SupportedClientAuthenticationMethod, type TrustChain, type VerifiedClientAttestationPopJwt, type VerifiedJarRequest, type VerifiedWalletAttestationJwt, type VerifiedWalletAttestationJwtV1_0, type VerifiedWalletAttestationJwtV1_3, type VerifiedWalletAttestationJwtV1_4, type VerifyAccessTokenRequestDpop, type VerifyAccessTokenRequestOptions, type VerifyAccessTokenRequestPkce, type VerifyAccessTokenRequestResult, type VerifyAuthorizationRequestDPoP, type VerifyAuthorizationRequestOptions, type VerifyAuthorizationRequestResult, type VerifyClientAttestationOptions, type VerifyClientAttestationPopJwtOptions, type VerifyJarRequestOptions, type VerifyMrtdChallengeOptions, type VerifyMrtdChallengeResult, type VerifyPkceOptions, type VerifyPushedAuthorizationRequestOptions, type VerifyPushedAuthorizationRequestReturn, type VerifyTokenDPoPOptions, type VerifyWalletAttestationJwtOptions, type VerifyWalletAttestationJwtOptionsV1_0, type VerifyWalletAttestationJwtOptionsV1_3, type VerifyWalletAttestationJwtOptionsV1_4, type WalletAttestationJwtV1_0, type WalletAttestationJwtV1_3, type WalletAttestationJwtV1_4, type WalletAttestationOptionsV1_0, type WalletAttestationOptionsV1_3, type WalletAttestationOptionsV1_4, authorizationCodeGrantIdentifier, clientAuthenticationAnonymous, clientAuthenticationWalletAttestationJwt, createAccessTokenResponse, createClientAttestationPopJwt, createJarRequest, createMrtdValidationJwt, createPkce, createPushedAuthorizationRequest, createTokenDPoP, createTokenRequest, createWalletAttestationJwt$2 as createWalletAttestationJwtV1_0, createWalletAttestationJwt$1 as createWalletAttestationJwtV1_3, createWalletAttestationJwt as createWalletAttestationJwtV1_4, decodeJwt, decodeJwtHeader, extractClientAttestationJwtsFromHeaders, extractDpopJwtFromHeaders, fetchJarRequestObject, fetchMrtdPopInit, fetchMrtdPopVerify, fetchPushedAuthorizationResponse, type fetchPushedAuthorizationResponseOptions, fetchTokenResponse, getJwtFromFormPost, htuFromRequestUrl, isClientAttestationSupported, isJarAuthorizationRequest, isPushedAuthorizationRequestSigned, isPushedAuthorizationRequestUnsigned, jwtAuthorizationRequestJwtHeaderTyp, jwtHeaderFromJwtSigner, oauthClientAttestationHeader, oauthClientAttestationPopHeader, parseAccessTokenRequest, parseAuthorizationRequest, parseJarRequest, parseMrtdChallenge, parsePushedAuthorizationRequest, refreshTokenGrantIdentifier, signedAuthorizationRequestJwtHeaderTyp, toURLSearchParams, validateJarRequestParams, verifyAccessTokenRequest, verifyAuthorizationRequest, verifyClientAttestation, verifyClientAttestationPopJwt, verifyJarRequest, verifyMrtdChallenge, verifyPkce, verifyPushedAuthorizationRequest, verifyTokenDPoP, verifyWalletAttestationJwt, verifyWalletAttestationJwt$3 as verifyWalletAttestationJwtV1_0, verifyWalletAttestationJwt$2 as verifyWalletAttestationJwtV1_3, verifyWalletAttestationJwt$1 as verifyWalletAttestationJwtV1_4, zAccessTokenProfileJwtHeader, zAccessTokenProfileJwtPayload, zAccessTokenRequest, zAccessTokenResponse, zAlgValueNotNone, zAuthorizationCodeGrantIdentifier, zAuthorizationRequestV1_0, zAuthorizationRequestV1_3, zCertificateChain, zCompactJwe, zCompactJwt, zDpopJwtHeader, zDpopJwtPayload, zItWalletClientAttestationPopJwtAlg, zItWalletClientAttestationPopJwtHeader, zItWalletClientAttestationPopJwtPayload, zItWalletClientAttestationPopJwtTyp, zJarAuthorizationRequest, zJarRequestObjectHeader, zJarRequestObjectPayload, zJwk, zJwkSet, zJwtConfirmationPayload, zJwtHeader, zJwtPayload, zMrtdChallengeJwtHeader, zMrtdChallengeJwtPayload, zMrtdPopInitResponseJwtHeader, zMrtdPopInitResponseJwtPayload, zMrtdPopVerifyResponse, zMrtdValidationJwtHeader, zMrtdValidationJwtPayload, zOauthClientAttestationHeader, zOauthClientAttestationPopHeader, zPushedAuthorizationRequestSigned, zPushedAuthorizationRequestUnsignedV1_0, zPushedAuthorizationRequestUnsignedV1_3, zPushedAuthorizationResponse, zRefreshTokenGrantIdentifier, zSignedAuthorizationRequestJwtHeaderTyp, zTrustChain, zWalletAttestationJwtHeaderV1_0, zWalletAttestationJwtHeaderV1_3, zWalletAttestationJwtHeaderV1_4, zWalletAttestationJwtPayloadV1_0, zWalletAttestationJwtPayloadV1_3, zWalletAttestationJwtPayloadV1_4, zWalletAttestationJwtV1_0, zWalletAttestationJwtV1_3, zWalletAttestationJwtV1_4 };