@pagopa/io-react-native-wallet 1.1.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. package/lib/commonjs/credential/issuance/04-complete-user-authorization.js +3 -1
  2. package/lib/commonjs/credential/issuance/04-complete-user-authorization.js.map +1 -1
  3. package/lib/commonjs/credential/presentation/01-start-flow.js +7 -5
  4. package/lib/commonjs/credential/presentation/01-start-flow.js.map +1 -1
  5. package/lib/commonjs/credential/presentation/03-get-request-object.js +47 -0
  6. package/lib/commonjs/credential/presentation/03-get-request-object.js.map +1 -0
  7. package/lib/commonjs/credential/presentation/04-retrieve-rp-jwks.js +82 -0
  8. package/lib/commonjs/credential/presentation/04-retrieve-rp-jwks.js.map +1 -0
  9. package/lib/commonjs/credential/presentation/05-verify-request-object.js +35 -0
  10. package/lib/commonjs/credential/presentation/05-verify-request-object.js.map +1 -0
  11. package/lib/commonjs/credential/presentation/06-fetch-presentation-definition.js +63 -0
  12. package/lib/commonjs/credential/presentation/06-fetch-presentation-definition.js.map +1 -0
  13. package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js +169 -0
  14. package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js.map +1 -0
  15. package/lib/commonjs/credential/presentation/08-send-authorization-response.js +202 -0
  16. package/lib/commonjs/credential/presentation/08-send-authorization-response.js.map +1 -0
  17. package/lib/commonjs/credential/presentation/README.md +43 -4
  18. package/lib/commonjs/credential/presentation/errors.js +52 -1
  19. package/lib/commonjs/credential/presentation/errors.js.map +1 -1
  20. package/lib/commonjs/credential/presentation/index.js +27 -6
  21. package/lib/commonjs/credential/presentation/index.js.map +1 -1
  22. package/lib/commonjs/credential/presentation/types.js +69 -4
  23. package/lib/commonjs/credential/presentation/types.js.map +1 -1
  24. package/lib/commonjs/entity/trust/types.js +4 -1
  25. package/lib/commonjs/entity/trust/types.js.map +1 -1
  26. package/lib/module/credential/issuance/04-complete-user-authorization.js +3 -1
  27. package/lib/module/credential/issuance/04-complete-user-authorization.js.map +1 -1
  28. package/lib/module/credential/presentation/01-start-flow.js +8 -6
  29. package/lib/module/credential/presentation/01-start-flow.js.map +1 -1
  30. package/lib/module/credential/presentation/03-get-request-object.js +39 -0
  31. package/lib/module/credential/presentation/03-get-request-object.js.map +1 -0
  32. package/lib/module/credential/presentation/04-retrieve-rp-jwks.js +75 -0
  33. package/lib/module/credential/presentation/04-retrieve-rp-jwks.js.map +1 -0
  34. package/lib/module/credential/presentation/05-verify-request-object.js +28 -0
  35. package/lib/module/credential/presentation/05-verify-request-object.js.map +1 -0
  36. package/lib/module/credential/presentation/06-fetch-presentation-definition.js +56 -0
  37. package/lib/module/credential/presentation/06-fetch-presentation-definition.js.map +1 -0
  38. package/lib/module/credential/presentation/07-evaluate-input-descriptor.js +161 -0
  39. package/lib/module/credential/presentation/07-evaluate-input-descriptor.js.map +1 -0
  40. package/lib/module/credential/presentation/08-send-authorization-response.js +188 -0
  41. package/lib/module/credential/presentation/08-send-authorization-response.js.map +1 -0
  42. package/lib/module/credential/presentation/README.md +43 -4
  43. package/lib/module/credential/presentation/errors.js +48 -0
  44. package/lib/module/credential/presentation/errors.js.map +1 -1
  45. package/lib/module/credential/presentation/index.js +7 -4
  46. package/lib/module/credential/presentation/index.js.map +1 -1
  47. package/lib/module/credential/presentation/types.js +67 -3
  48. package/lib/module/credential/presentation/types.js.map +1 -1
  49. package/lib/module/entity/trust/types.js +4 -1
  50. package/lib/module/entity/trust/types.js.map +1 -1
  51. package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts +1 -1
  52. package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts.map +1 -1
  53. package/lib/typescript/credential/presentation/01-start-flow.d.ts.map +1 -1
  54. package/lib/typescript/credential/presentation/{04-get-request-object.d.ts → 03-get-request-object.d.ts} +3 -5
  55. package/lib/typescript/credential/presentation/03-get-request-object.d.ts.map +1 -0
  56. package/lib/typescript/credential/presentation/{03-retrieve-jwks.d.ts → 04-retrieve-rp-jwks.d.ts} +5 -4
  57. package/lib/typescript/credential/presentation/04-retrieve-rp-jwks.d.ts.map +1 -0
  58. package/lib/typescript/credential/presentation/05-verify-request-object.d.ts +8 -0
  59. package/lib/typescript/credential/presentation/05-verify-request-object.d.ts.map +1 -0
  60. package/lib/typescript/credential/presentation/06-fetch-presentation-definition.d.ts +26 -0
  61. package/lib/typescript/credential/presentation/06-fetch-presentation-definition.d.ts.map +1 -0
  62. package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts +27 -0
  63. package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts.map +1 -0
  64. package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts +99 -0
  65. package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts.map +1 -0
  66. package/lib/typescript/credential/presentation/errors.d.ts +33 -0
  67. package/lib/typescript/credential/presentation/errors.d.ts.map +1 -1
  68. package/lib/typescript/credential/presentation/index.d.ts +8 -5
  69. package/lib/typescript/credential/presentation/index.d.ts.map +1 -1
  70. package/lib/typescript/credential/presentation/types.d.ts +612 -9
  71. package/lib/typescript/credential/presentation/types.d.ts.map +1 -1
  72. package/lib/typescript/entity/trust/index.d.ts +152 -0
  73. package/lib/typescript/entity/trust/index.d.ts.map +1 -1
  74. package/lib/typescript/entity/trust/types.d.ts +2088 -0
  75. package/lib/typescript/entity/trust/types.d.ts.map +1 -1
  76. package/package.json +5 -1
  77. package/src/credential/issuance/04-complete-user-authorization.ts +2 -2
  78. package/src/credential/presentation/01-start-flow.ts +10 -6
  79. package/src/credential/presentation/{04-get-request-object.ts → 03-get-request-object.ts} +6 -51
  80. package/src/credential/presentation/{03-retrieve-jwks.ts → 04-retrieve-rp-jwks.ts} +39 -24
  81. package/src/credential/presentation/05-verify-request-object.ts +35 -0
  82. package/src/credential/presentation/06-fetch-presentation-definition.ts +78 -0
  83. package/src/credential/presentation/07-evaluate-input-descriptor.ts +204 -0
  84. package/src/credential/presentation/08-send-authorization-response.ts +251 -0
  85. package/src/credential/presentation/README.md +43 -4
  86. package/src/credential/presentation/errors.ts +48 -0
  87. package/src/credential/presentation/index.ts +27 -9
  88. package/src/credential/presentation/types.ts +59 -3
  89. package/src/entity/trust/types.ts +3 -0
  90. package/lib/commonjs/credential/presentation/03-retrieve-jwks.js +0 -68
  91. package/lib/commonjs/credential/presentation/03-retrieve-jwks.js.map +0 -1
  92. package/lib/commonjs/credential/presentation/04-get-request-object.js +0 -82
  93. package/lib/commonjs/credential/presentation/04-get-request-object.js.map +0 -1
  94. package/lib/commonjs/credential/presentation/05-send-authorization-response.js +0 -139
  95. package/lib/commonjs/credential/presentation/05-send-authorization-response.js.map +0 -1
  96. package/lib/module/credential/presentation/03-retrieve-jwks.js +0 -61
  97. package/lib/module/credential/presentation/03-retrieve-jwks.js.map +0 -1
  98. package/lib/module/credential/presentation/04-get-request-object.js +0 -74
  99. package/lib/module/credential/presentation/04-get-request-object.js.map +0 -1
  100. package/lib/module/credential/presentation/05-send-authorization-response.js +0 -128
  101. package/lib/module/credential/presentation/05-send-authorization-response.js.map +0 -1
  102. package/lib/typescript/credential/presentation/03-retrieve-jwks.d.ts.map +0 -1
  103. package/lib/typescript/credential/presentation/04-get-request-object.d.ts.map +0 -1
  104. package/lib/typescript/credential/presentation/05-send-authorization-response.d.ts +0 -34
  105. package/lib/typescript/credential/presentation/05-send-authorization-response.d.ts.map +0 -1
  106. package/src/credential/presentation/05-send-authorization-response.ts +0 -168
@@ -0,0 +1,188 @@
1
+ import { EncryptJwe, SignJWT, sha256ToBase64 } from "@pagopa/io-react-native-jwt";
2
+ import uuid from "react-native-uuid";
3
+ import { NoSuitableKeysFoundInEntityConfiguration } from "./errors";
4
+ import { hasStatusOrThrow } from "../../utils/misc";
5
+ import { disclose } from "../../sd-jwt";
6
+ import * as z from "zod";
7
+ export const AuthorizationResponse = z.object({
8
+ status: z.string().optional(),
9
+ response_code: z.string() /**
10
+ FIXME: [SIW-627] we expect this value from every RP implementation
11
+ Actually some RP does not return the value
12
+ We make it optional to not break the flow.
13
+ */.optional(),
14
+ redirect_uri: z.string().optional()
15
+ });
16
+
17
+ /**
18
+ * Selects an RSA public key (with `use = enc` and `kty = RSA`) from the set of JWK keys
19
+ * offered by the Relying Party (RP) for encryption.
20
+ *
21
+ * @param rpJwkKeys - The array of JWKs retrieved from the RP entity configuration.
22
+ * @returns The first suitable RSA public key found in the list.
23
+ * @throws {NoSuitableKeysFoundInEntityConfiguration} If no suitable RSA encryption key is found.
24
+ */
25
+ export const chooseRSAPublicKeyToEncrypt = rpJwkKeys => {
26
+ const [rsaEncKey] = rpJwkKeys.filter(jwk => jwk.use === "enc" && jwk.kty === "RSA");
27
+ if (rsaEncKey) {
28
+ return rsaEncKey;
29
+ }
30
+
31
+ // No suitable key found
32
+ throw new NoSuitableKeysFoundInEntityConfiguration("No suitable RSA public key found for encryption.");
33
+ };
34
+
35
+ /**
36
+ * Prepares a Verified Presentation (VP) token to be sent as part of an
37
+ * authorization response in an OpenID 4 Verifiable Presentations flow.
38
+ *
39
+ * @param requestObject - The request object containing the nonce, response URI, and other necessary info.
40
+ * @param presentationTuple - A tuple containing a verifiable credential, the claims to disclose,
41
+ * and a cryptographic context for signing.
42
+ * @returns An object containing the signed VP token (`vp_token`) and a `presentation_submission` object.
43
+ * @param presentationDefinition - Definition outlining presentation requirements.
44
+ * @param presentationTuple - Tuple containing:
45
+ * - A verifiable credential.
46
+ * - Claims that should be disclosed.
47
+ * - Cryptographic context for signing.
48
+ * @returns An object with:
49
+ * - `vp_token`: The signed VP token.
50
+ * - `presentation_submission`: Object mapping disclosed credentials to the request.
51
+ *
52
+ * @remarks
53
+ * 1. The `disclose()` function is used to produce a token with only the requested claims.
54
+ * 2. A new JWT is then signed, including the VP, `jti`, `iss`, `nonce`, audience, and expiration.
55
+ * 3. The `presentation_submission` object follows the OpenID 4 VP specification for describing
56
+ * how the disclosed credentials map to the request.
57
+ *
58
+ * @todo [SIW-353] Support multiple verifiable credentials in a single request.
59
+ */
60
+ export const prepareVpToken = async (requestObject, presentationDefinition, _ref) => {
61
+ var _presentationDefiniti;
62
+ let [verifiableCredential, requestedClaims, cryptoContext] = _ref;
63
+ // Produce a VP token with only requested claims from the verifiable credential
64
+ const {
65
+ token: vp
66
+ } = await disclose(verifiableCredential, requestedClaims);
67
+
68
+ // <Issuer-signed JWT>~<Disclosure 1>~<Disclosure N>~
69
+ const sd_hash = await sha256ToBase64(`${vp}~`);
70
+ const kbJwt = await new SignJWT(cryptoContext).setProtectedHeader({
71
+ typ: "kb+jwt",
72
+ alg: "ES256"
73
+ }).setPayload({
74
+ sd_hash,
75
+ nonce: requestObject.nonce
76
+ }).setAudience(requestObject.client_id).setIssuedAt().sign();
77
+
78
+ // <Issuer-signed JWT>~<Disclosure 1>~...~<Disclosure N>~<KB-JWT>
79
+ const vp_token = [vp, kbJwt].join("~");
80
+
81
+ // Determine the descriptor ID to use for mapping. Fallback to first input descriptor ID if not specified
82
+ // We support only one credential for now, so we get first input_descriptor and create just one descriptor_map
83
+ const presentation_submission = {
84
+ id: uuid.v4(),
85
+ definition_id: presentationDefinition.id,
86
+ descriptor_map: [{
87
+ id: presentationDefinition === null || presentationDefinition === void 0 || (_presentationDefiniti = presentationDefinition.input_descriptors[0]) === null || _presentationDefiniti === void 0 ? void 0 : _presentationDefiniti.id,
88
+ path: `$`,
89
+ format: "vc+sd-jwt"
90
+ }]
91
+ };
92
+ return {
93
+ vp_token,
94
+ presentation_submission
95
+ };
96
+ };
97
+
98
+ /**
99
+ * Builds a URL-encoded form body for a direct POST response without encryption.
100
+ *
101
+ * @param requestObject - Contains state, nonce, and other relevant info.
102
+ * @param vpToken - The signed VP token to include.
103
+ * @param presentationSubmission - Object mapping credential disclosures.
104
+ * @returns A URL-encoded string suitable for an `application/x-www-form-urlencoded` POST body.
105
+ */
106
+ export const buildDirectPostBody = async (requestObject, vpToken, presentationSubmission) => {
107
+ const formUrlEncodedBody = new URLSearchParams({
108
+ state: requestObject.state,
109
+ presentation_submission: JSON.stringify(presentationSubmission),
110
+ vp_token: vpToken
111
+ });
112
+ return formUrlEncodedBody.toString();
113
+ };
114
+
115
+ /**
116
+ * Builds a URL-encoded form body for a direct POST response using JWT encryption.
117
+ *
118
+ * @param jwkKeys - Array of JWKs from the Relying Party for encryption.
119
+ * @param requestObject - Contains state, nonce, and other relevant info.
120
+ * @param vpToken - The signed VP token to encrypt.
121
+ * @param presentationSubmission - Object mapping credential disclosures.
122
+ * @returns A URL-encoded string for an `application/x-www-form-urlencoded` POST body,
123
+ * where `response` contains the encrypted JWE.
124
+ */
125
+ export const buildDirectPostJwtBody = async (jwkKeys, requestObject, vpToken, presentationSubmission) => {
126
+ // Prepare the authorization response payload to be encrypted
127
+ const authzResponsePayload = JSON.stringify({
128
+ state: requestObject.state,
129
+ presentation_submission: presentationSubmission,
130
+ vp_token: vpToken
131
+ });
132
+
133
+ // Choose a suitable RSA public key for encryption
134
+ const rsaPublicJwk = chooseRSAPublicKeyToEncrypt(jwkKeys);
135
+
136
+ // Encrypt the authorization payload
137
+ const encryptedResponse = await new EncryptJwe(authzResponsePayload, {
138
+ alg: "RSA-OAEP-256",
139
+ enc: "A256CBC-HS512",
140
+ kid: rsaPublicJwk.kid
141
+ }).encrypt(rsaPublicJwk);
142
+
143
+ // Build the x-www-form-urlencoded form body
144
+ const formBody = new URLSearchParams({
145
+ response: encryptedResponse
146
+ });
147
+ return formBody.toString();
148
+ };
149
+
150
+ /**
151
+ * Type definition for the function that sends the authorization response
152
+ * to the Relying Party, completing the presentation flow.
153
+ */
154
+
155
+ /**
156
+ * Sends the authorization response to the Relying Party (RP) using the specified `response_mode`.
157
+ * This function completes the presentation flow in an OpenID 4 Verifiable Presentations scenario.
158
+ *
159
+ * @param requestObject - The request details, including presentation requirements.
160
+ * @param presentationDefinition - The definition of the expected presentation.
161
+ * @param jwkKeys - Array of JWKs from the Relying Party for optional encryption.
162
+ * @param presentation - Tuple with verifiable credential, claims, and crypto context.
163
+ * @param context - Contains optional custom fetch implementation.
164
+ * @returns Parsed and validated authorization response from the Relying Party.
165
+ */
166
+ export const sendAuthorizationResponse = async (requestObject, presentationDefinition, jwkKeys, presentation, _ref2) => {
167
+ let {
168
+ appFetch = fetch
169
+ } = _ref2;
170
+ // 1. Create the VP token and associated submission mapping
171
+ const {
172
+ vp_token,
173
+ presentation_submission
174
+ } = await prepareVpToken(requestObject, presentationDefinition, presentation);
175
+
176
+ // 2. Choose the appropriate request body builder based on response mode
177
+ const requestBody = requestObject.response_mode === "direct_post.jwt" ? await buildDirectPostJwtBody(jwkKeys, requestObject, vp_token, presentation_submission) : await buildDirectPostBody(requestObject, vp_token, presentation_submission);
178
+
179
+ // 3. Send the authorization response via HTTP POST and validate the response
180
+ return await appFetch(requestObject.response_uri, {
181
+ method: "POST",
182
+ headers: {
183
+ "Content-Type": "application/x-www-form-urlencoded"
184
+ },
185
+ body: requestBody
186
+ }).then(hasStatusOrThrow(200)).then(res => res.json()).then(AuthorizationResponse.parse);
187
+ };
188
+ //# sourceMappingURL=08-send-authorization-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["EncryptJwe","SignJWT","sha256ToBase64","uuid","NoSuitableKeysFoundInEntityConfiguration","hasStatusOrThrow","disclose","z","AuthorizationResponse","object","status","string","optional","response_code","redirect_uri","chooseRSAPublicKeyToEncrypt","rpJwkKeys","rsaEncKey","filter","jwk","use","kty","prepareVpToken","requestObject","presentationDefinition","_ref","_presentationDefiniti","verifiableCredential","requestedClaims","cryptoContext","token","vp","sd_hash","kbJwt","setProtectedHeader","typ","alg","setPayload","nonce","setAudience","client_id","setIssuedAt","sign","vp_token","join","presentation_submission","id","v4","definition_id","descriptor_map","input_descriptors","path","format","buildDirectPostBody","vpToken","presentationSubmission","formUrlEncodedBody","URLSearchParams","state","JSON","stringify","toString","buildDirectPostJwtBody","jwkKeys","authzResponsePayload","rsaPublicJwk","encryptedResponse","enc","kid","encrypt","formBody","response","sendAuthorizationResponse","presentation","_ref2","appFetch","fetch","requestBody","response_mode","response_uri","method","headers","body","then","res","json","parse"],"sourceRoot":"../../../../src","sources":["credential/presentation/08-send-authorization-response.ts"],"mappings":"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"}
@@ -60,15 +60,54 @@ const { requestURI, clientId } = Credential.Presentation.startFlowFromQR(qrcode)
60
60
  // If use trust federation: Evaluate issuer trust
61
61
  const { rpConf } = await Credential.Presentation.evaluateRelyingPartyTrust(clientId);
62
62
 
63
+ const { requestObjectEncodedJwt } =
64
+ await Credential.Presentation.getRequestObject(requestURI, {
65
+ wiaCryptoContext: wiaCryptoContext,
66
+ appFetch: appFetch,
67
+ walletInstanceAttestation: walletInstanceAttestation,
68
+ });
69
+
70
+ // Retrieve RP JWK
63
71
  // If use trust federation: Fetch Jwks from rpConf
64
72
  const jwks = await Credential.Presentation.fetchJwksFromConfig(rpConf);
65
73
 
66
- // If not use trust: Fetch Jwks from well-know
67
- const jwks = await Credential.Presentation.fetchJwksFromUri(
68
- requestURI,
69
- appFetch,
74
+ // If not use trust: Fetch Jwks from request object
75
+ const jwks = await Credential.Presentation.fetchJwksFromRequestObject(
76
+ requestObjectEncodedJwt,
77
+ { context: { appFetch } }
70
78
  );
71
79
 
80
+ // Verify signature Request Object
81
+ const { requestObject } =
82
+ await Credential.Presentation.verifyRequestObjectSignature(
83
+ requestObjectEncodedJwt,
84
+ jwks.keys
85
+ );
86
+
87
+
88
+ const { presentationDefinition } = await Credential.Presentation.fetchPresentDefinition(
89
+ requestObject,
90
+ {
91
+ appFetch: appFetch,
92
+ },
93
+ rpConf // If trust federation is used
94
+ );
95
+
96
+ // For each credential, find it and evaluate input descriptor and disclosures
97
+ const { requiredDisclosures } = Credential.Presentation.evaluateInputDescriptionForSdJwt4VC(
98
+ inputDescriptor,
99
+ credential.payload,
100
+ disclosures
101
+ );
102
+
103
+ // After confirm disclosures in app
104
+ const authResponse = Credential.Presentation.sendAuthorizationResponse(
105
+ requestObject,
106
+ presentationDefinition,
107
+ jwks,
108
+ [credential, disclosuresRequested, { appFetch: appFetch }]
109
+ );
110
+
72
111
 
73
112
  ```
74
113
 
@@ -39,4 +39,52 @@ export class NoSuitableKeysFoundInEntityConfiguration extends IoWalletError {
39
39
  super(message);
40
40
  }
41
41
  }
42
+
43
+ /**
44
+ * When a QR code is not valid.
45
+ *
46
+ */
47
+ export class InvalidQRCodeError extends IoWalletError {
48
+ code = "ERR_INVALID_QR_CODE";
49
+
50
+ /**
51
+ * @param detail A description of why the QR code is considered invalid.
52
+ */
53
+ constructor(detail) {
54
+ const message = `QR code is not valid: ${detail}.`;
55
+ super(message);
56
+ }
57
+ }
58
+
59
+ /**
60
+ * When the entity is unverified because the Relying Party is not trusted.
61
+ *
62
+ */
63
+ export class UnverifiedEntityError extends IoWalletError {
64
+ code = "ERR_UNVERIFIED_RP_ENTITY";
65
+
66
+ /**
67
+ * @param reason A description of why the entity cannot be verified.
68
+ */
69
+ constructor(reason) {
70
+ const message = `Unverified entity: ${reason}.`;
71
+ super(message);
72
+ }
73
+ }
74
+
75
+ /**
76
+ * When some required data is missing to continue because certain attributes are not contained inside the wallet.
77
+ *
78
+ */
79
+ export class MissingDataError extends IoWalletError {
80
+ code = "ERR_MISSING_DATA";
81
+
82
+ /**
83
+ * @param missingAttributes An array or description of the attributes that are missing.
84
+ */
85
+ constructor(missingAttributes) {
86
+ const message = `Some required data is missing: ${missingAttributes}.`;
87
+ super(message);
88
+ }
89
+ }
42
90
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["IoWalletError","serializeAttrs","AuthRequestDecodeError","code","constructor","message","claim","arguments","length","undefined","reason","NoSuitableKeysFoundInEntityConfiguration","scenario"],"sourceRoot":"../../../../src","sources":["credential/presentation/errors.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,cAAc,QAAQ,oBAAoB;;AAElE;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,SAASF,aAAa,CAAC;EACxDG,IAAI,GAAG,oDAAoD;;EAE3D;;EAGA;;EAGAC,WAAWA,CACTC,OAAe,EAGf;IAAA,IAFAC,KAAa,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,aAAa;IAAA,IAC7BG,MAAc,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,aAAa;IAE9B,KAAK,CAACN,cAAc,CAAC;MAAEI,OAAO;MAAEC,KAAK;MAAEI;IAAO,CAAC,CAAC,CAAC;IACjD,IAAI,CAACJ,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACI,MAAM,GAAGA,MAAM;EACtB;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMC,wCAAwC,SAASX,aAAa,CAAC;EAC1EG,IAAI,GAAG,gCAAgC;;EAEvC;AACF;AACA;EACEC,WAAWA,CAACQ,QAAgB,EAAE;IAC5B,MAAMP,OAAO,GAAI,0DAAyDO,QAAS,IAAG;IACtF,KAAK,CAACP,OAAO,CAAC;EAChB;AACF"}
1
+ {"version":3,"names":["IoWalletError","serializeAttrs","AuthRequestDecodeError","code","constructor","message","claim","arguments","length","undefined","reason","NoSuitableKeysFoundInEntityConfiguration","scenario","InvalidQRCodeError","detail","UnverifiedEntityError","MissingDataError","missingAttributes"],"sourceRoot":"../../../../src","sources":["credential/presentation/errors.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,cAAc,QAAQ,oBAAoB;;AAElE;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,SAASF,aAAa,CAAC;EACxDG,IAAI,GAAG,oDAAoD;;EAE3D;;EAGA;;EAGAC,WAAWA,CACTC,OAAe,EAGf;IAAA,IAFAC,KAAa,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,aAAa;IAAA,IAC7BG,MAAc,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,aAAa;IAE9B,KAAK,CAACN,cAAc,CAAC;MAAEI,OAAO;MAAEC,KAAK;MAAEI;IAAO,CAAC,CAAC,CAAC;IACjD,IAAI,CAACJ,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACI,MAAM,GAAGA,MAAM;EACtB;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMC,wCAAwC,SAASX,aAAa,CAAC;EAC1EG,IAAI,GAAG,gCAAgC;;EAEvC;AACF;AACA;EACEC,WAAWA,CAACQ,QAAgB,EAAE;IAC5B,MAAMP,OAAO,GAAI,0DAAyDO,QAAS,IAAG;IACtF,KAAK,CAACP,OAAO,CAAC;EAChB;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMQ,kBAAkB,SAASb,aAAa,CAAC;EACpDG,IAAI,GAAG,qBAAqB;;EAE5B;AACF;AACA;EACEC,WAAWA,CAACU,MAAc,EAAE;IAC1B,MAAMT,OAAO,GAAI,yBAAwBS,MAAO,GAAE;IAClD,KAAK,CAACT,OAAO,CAAC;EAChB;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMU,qBAAqB,SAASf,aAAa,CAAC;EACvDG,IAAI,GAAG,0BAA0B;;EAEjC;AACF;AACA;EACEC,WAAWA,CAACM,MAAc,EAAE;IAC1B,MAAML,OAAO,GAAI,sBAAqBK,MAAO,GAAE;IAC/C,KAAK,CAACL,OAAO,CAAC;EAChB;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMW,gBAAgB,SAAShB,aAAa,CAAC;EAClDG,IAAI,GAAG,kBAAkB;;EAEzB;AACF;AACA;EACEC,WAAWA,CAACa,iBAAyB,EAAE;IACrC,MAAMZ,OAAO,GAAI,kCAAiCY,iBAAkB,GAAE;IACtE,KAAK,CAACZ,OAAO,CAAC;EAChB;AACF"}
@@ -1,8 +1,11 @@
1
1
  import { startFlowFromQR } from "./01-start-flow";
2
2
  import { evaluateRelyingPartyTrust } from "./02-evaluate-rp-trust";
3
- import { fetchJwksFromUri, fetchJwksFromConfig } from "./03-retrieve-jwks";
4
- import { getRequestObject } from "./04-get-request-object";
5
- import { sendAuthorizationResponse } from "./05-send-authorization-response";
3
+ import { getRequestObject } from "./03-get-request-object";
4
+ import { fetchJwksFromRequestObject, fetchJwksFromConfig } from "./04-retrieve-rp-jwks";
5
+ import { verifyRequestObjectSignature } from "./05-verify-request-object";
6
+ import { fetchPresentDefinition } from "./06-fetch-presentation-definition";
7
+ import { evaluateInputDescriptorForSdJwt4VC } from "./07-evaluate-input-descriptor";
8
+ import { sendAuthorizationResponse } from "./08-send-authorization-response";
6
9
  import * as Errors from "./errors";
7
- export { startFlowFromQR, evaluateRelyingPartyTrust, fetchJwksFromUri, fetchJwksFromConfig, getRequestObject, sendAuthorizationResponse, Errors };
10
+ export { startFlowFromQR, evaluateRelyingPartyTrust, getRequestObject, fetchJwksFromRequestObject, fetchJwksFromConfig, verifyRequestObjectSignature, fetchPresentDefinition, evaluateInputDescriptorForSdJwt4VC, sendAuthorizationResponse, Errors };
8
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["startFlowFromQR","evaluateRelyingPartyTrust","fetchJwksFromUri","fetchJwksFromConfig","getRequestObject","sendAuthorizationResponse","Errors"],"sourceRoot":"../../../../src","sources":["credential/presentation/index.ts"],"mappings":"AAAA,SAASA,eAAe,QAAwB,iBAAiB;AACjE,SACEC,yBAAyB,QAEpB,wBAAwB;AAC/B,SACEC,gBAAgB,EAChBC,mBAAmB,QAEd,oBAAoB;AAC3B,SACEC,gBAAgB,QAEX,yBAAyB;AAChC,SACEC,yBAAyB,QAEpB,kCAAkC;AACzC,OAAO,KAAKC,MAAM,MAAM,UAAU;AAElC,SACEN,eAAe,EACfC,yBAAyB,EACzBC,gBAAgB,EAChBC,mBAAmB,EACnBC,gBAAgB,EAChBC,yBAAyB,EACzBC,MAAM"}
1
+ {"version":3,"names":["startFlowFromQR","evaluateRelyingPartyTrust","getRequestObject","fetchJwksFromRequestObject","fetchJwksFromConfig","verifyRequestObjectSignature","fetchPresentDefinition","evaluateInputDescriptorForSdJwt4VC","sendAuthorizationResponse","Errors"],"sourceRoot":"../../../../src","sources":["credential/presentation/index.ts"],"mappings":"AAAA,SAASA,eAAe,QAAwB,iBAAiB;AACjE,SACEC,yBAAyB,QAEpB,wBAAwB;AAC/B,SACEC,gBAAgB,QAEX,yBAAyB;AAChC,SACEC,0BAA0B,EAC1BC,mBAAmB,QAEd,uBAAuB;AAC9B,SACEC,4BAA4B,QAEvB,4BAA4B;AACnC,SACEC,sBAAsB,QAEjB,oCAAoC;AAC3C,SACEC,kCAAkC,QAE7B,gCAAgC;AACvC,SACEC,yBAAyB,QAEpB,kCAAkC;AACzC,OAAO,KAAKC,MAAM,MAAM,UAAU;AAElC,SACET,eAAe,EACfC,yBAAyB,EACzBC,gBAAgB,EAChBC,0BAA0B,EAC1BC,mBAAmB,EACnBC,4BAA4B,EAC5BC,sBAAsB,EACtBC,kCAAkC,EAClCC,yBAAyB,EACzBC,MAAM"}
@@ -5,19 +5,83 @@ import * as z from "zod";
5
5
  * A pair that associate a tokenized Verified Credential with the claims presented or requested to present.
6
6
  */
7
7
 
8
+ const Fields = z.object({
9
+ path: z.array(z.string().min(1)),
10
+ // Array of JSONPath string expressions
11
+ id: z.string().optional(),
12
+ // Unique string ID
13
+ purpose: z.string().optional(),
14
+ // Purpose of the field
15
+ name: z.string().optional(),
16
+ // Human-friendly name
17
+ filter: z.any().optional(),
18
+ // JSON Schema descriptor for filtering
19
+ optional: z.boolean().optional(),
20
+ // Boolean indicating if the field is optional
21
+ intent_to_retain: z.boolean().optional() // Boolean indicating that the Verifier intends to retain the Claim's data being requested
22
+ });
23
+
24
+ // Define the Constraints Object Schema
25
+ const Constraints = z.object({
26
+ fields: z.array(Fields).optional(),
27
+ // Array of Field Objects
28
+ limit_disclosure: z.enum(["required", "preferred"]).optional() // Limit disclosure property
29
+ });
30
+
31
+ // Define the Input Descriptor Object Schema
32
+
33
+ export const InputDescriptor = z.object({
34
+ id: z.string().min(1),
35
+ // Mandatory unique string ID
36
+ name: z.string().optional(),
37
+ // Human-friendly name
38
+ purpose: z.string().optional(),
39
+ // Purpose of the schema
40
+ format: z.record(z.string(), z.any()).optional(),
41
+ // Object with Claim Format Designations
42
+ constraints: Constraints,
43
+ // Constraints Object (mandatory)
44
+ group: z.string().optional() // Match one of the grouping strings listed in the "from" values of a Submission Requirement Rule
45
+ });
46
+
47
+ const SubmissionRequirement = z.object({
48
+ name: z.string().optional(),
49
+ purpose: z.string().optional(),
50
+ rule: z.string(),
51
+ // "all": all group's rules must be present, or "pick": at least group's "count" rules must be present
52
+ from: z.string().optional(),
53
+ // MUST contain either a "from" or "from_nested" property
54
+ from_nested: z.array(z.object({
55
+ name: z.string().optional(),
56
+ purpose: z.string().optional(),
57
+ rule: z.string(),
58
+ from: z.string()
59
+ })).optional(),
60
+ count: z.number().optional()
61
+ //"count", "min", and "max" may be present with a "pick" rule
62
+ });
63
+
64
+ export const PresentationDefinition = z.object({
65
+ id: z.string(),
66
+ name: z.string().optional(),
67
+ purpose: z.string().optional(),
68
+ input_descriptors: z.array(InputDescriptor),
69
+ submission_requirements: z.array(SubmissionRequirement).optional()
70
+ });
8
71
  export const RequestObject = z.object({
9
72
  iss: z.string().optional(),
10
73
  //optional by RFC 7519, mandatory for Potential
11
- iat: UnixTime,
74
+ iat: UnixTime.optional(),
12
75
  exp: UnixTime.optional(),
13
76
  state: z.string(),
14
77
  nonce: z.string(),
15
78
  response_uri: z.string(),
16
79
  response_type: z.literal("vp_token"),
17
- response_mode: z.literal("direct_post.jwt"),
80
+ response_mode: z.enum(["direct_post.jwt", "direct_post"]),
18
81
  client_id: z.string(),
19
82
  client_id_scheme: z.string(),
20
83
  // previous z.literal("entity_id"),
21
- scope: z.string()
84
+ scope: z.string().optional(),
85
+ presentation_definition: PresentationDefinition.optional()
22
86
  });
23
87
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["UnixTime","z","RequestObject","object","iss","string","optional","iat","exp","state","nonce","response_uri","response_type","literal","response_mode","client_id","client_id_scheme","scope"],"sourceRoot":"../../../../src","sources":["credential/presentation/types.ts"],"mappings":"AACA,SAASA,QAAQ,QAAQ,oBAAoB;AAC7C,OAAO,KAAKC,CAAC,MAAM,KAAK;;AAExB;AACA;AACA;;AAQA,OAAO,MAAMC,aAAa,GAAGD,CAAC,CAACE,MAAM,CAAC;EACpCC,GAAG,EAAEH,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAAE;EAC5BC,GAAG,EAAEP,QAAQ;EACbQ,GAAG,EAAER,QAAQ,CAACM,QAAQ,CAAC,CAAC;EACxBG,KAAK,EAAER,CAAC,CAACI,MAAM,CAAC,CAAC;EACjBK,KAAK,EAAET,CAAC,CAACI,MAAM,CAAC,CAAC;EACjBM,YAAY,EAAEV,CAAC,CAACI,MAAM,CAAC,CAAC;EACxBO,aAAa,EAAEX,CAAC,CAACY,OAAO,CAAC,UAAU,CAAC;EACpCC,aAAa,EAAEb,CAAC,CAACY,OAAO,CAAC,iBAAiB,CAAC;EAC3CE,SAAS,EAAEd,CAAC,CAACI,MAAM,CAAC,CAAC;EACrBW,gBAAgB,EAAEf,CAAC,CAACI,MAAM,CAAC,CAAC;EAAE;EAC9BY,KAAK,EAAEhB,CAAC,CAACI,MAAM,CAAC;AAClB,CAAC,CAAC"}
1
+ {"version":3,"names":["UnixTime","z","Fields","object","path","array","string","min","id","optional","purpose","name","filter","any","boolean","intent_to_retain","Constraints","fields","limit_disclosure","enum","InputDescriptor","format","record","constraints","group","SubmissionRequirement","rule","from","from_nested","count","number","PresentationDefinition","input_descriptors","submission_requirements","RequestObject","iss","iat","exp","state","nonce","response_uri","response_type","literal","response_mode","client_id","client_id_scheme","scope","presentation_definition"],"sourceRoot":"../../../../src","sources":["credential/presentation/types.ts"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { UnixTime } from "../../sd-jwt/types";
2
2
  import { JWK } from "../../utils/jwk";
3
3
  import * as z from "zod";
4
+ import { PresentationDefinition } from "../../credential/presentation/types";
4
5
  export const TrustMark = z.object({
5
6
  id: z.string(),
6
7
  trust_mark: z.string()
@@ -12,7 +13,9 @@ const RelyingPartyMetadata = z.object({
12
13
  jwks: z.object({
13
14
  keys: z.array(JWK)
14
15
  }),
15
- contacts: z.array(z.string()).optional()
16
+ contacts: z.array(z.string()).optional(),
17
+ presentation_definition: PresentationDefinition.optional(),
18
+ presentation_definition_uri: z.string().optional()
16
19
  });
17
20
  //.passthrough();
18
21
 
@@ -1 +1 @@
1
- {"version":3,"names":["UnixTime","JWK","z","TrustMark","object","id","string","trust_mark","RelyingPartyMetadata","application_type","optional","client_id","client_name","jwks","keys","array","contacts","CredentialDisplayMetadata","name","locale","logo","url","alt_text","background_color","text_color","CredentialIssuerDisplayMetadata","ClaimsMetadata","record","value_type","display","IssuanceErrorSupported","title","description","SupportedCredentialMetadata","format","union","literal","scope","claims","cryptographic_binding_methods_supported","credential_signing_alg_values_supported","authentic_source","issuance_errors_supported","EntityStatement","header","typ","alg","kid","payload","iss","sub","trust_marks","iat","number","exp","EntityConfigurationHeader","FederationEntityMetadata","federation_fetch_endpoint","federation_list_endpoint","federation_resolve_endpoint","federation_trust_mark_status_endpoint","federation_trust_mark_list_endpoint","organization_name","homepage_uri","policy_uri","logo_uri","passthrough","BaseEntityConfiguration","authority_hints","metadata","federation_entity","TrustAnchorEntityConfiguration","CredentialIssuerEntityConfiguration","and","openid_credential_issuer","credential_issuer","credential_endpoint","revocation_endpoint","status_attestation_endpoint","credential_configurations_supported","oauth_authorization_server","authorization_endpoint","pushed_authorization_request_endpoint","dpop_signing_alg_values_supported","token_endpoint","introspection_endpoint","client_registration_types_supported","code_challenge_methods_supported","authorization_details_types_supported","acr_values_supported","grant_types_supported","issuer","scopes_supported","request_parameter_supported","boolean","request_uri_parameter_supported","response_types_supported","response_modes_supported","subject_types_supported","token_endpoint_auth_methods_supported","token_endpoint_auth_signing_alg_values_supported","request_object_signing_alg_values_supported","wallet_relying_party","RelyingPartyEntityConfiguration","WalletProviderEntityConfiguration","wallet_provider","aal_values_supported","EntityConfiguration"],"sourceRoot":"../../../../src","sources":["entity/trust/types.ts"],"mappings":"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"}
1
+ {"version":3,"names":["UnixTime","JWK","z","PresentationDefinition","TrustMark","object","id","string","trust_mark","RelyingPartyMetadata","application_type","optional","client_id","client_name","jwks","keys","array","contacts","presentation_definition","presentation_definition_uri","CredentialDisplayMetadata","name","locale","logo","url","alt_text","background_color","text_color","CredentialIssuerDisplayMetadata","ClaimsMetadata","record","value_type","display","IssuanceErrorSupported","title","description","SupportedCredentialMetadata","format","union","literal","scope","claims","cryptographic_binding_methods_supported","credential_signing_alg_values_supported","authentic_source","issuance_errors_supported","EntityStatement","header","typ","alg","kid","payload","iss","sub","trust_marks","iat","number","exp","EntityConfigurationHeader","FederationEntityMetadata","federation_fetch_endpoint","federation_list_endpoint","federation_resolve_endpoint","federation_trust_mark_status_endpoint","federation_trust_mark_list_endpoint","organization_name","homepage_uri","policy_uri","logo_uri","passthrough","BaseEntityConfiguration","authority_hints","metadata","federation_entity","TrustAnchorEntityConfiguration","CredentialIssuerEntityConfiguration","and","openid_credential_issuer","credential_issuer","credential_endpoint","revocation_endpoint","status_attestation_endpoint","credential_configurations_supported","oauth_authorization_server","authorization_endpoint","pushed_authorization_request_endpoint","dpop_signing_alg_values_supported","token_endpoint","introspection_endpoint","client_registration_types_supported","code_challenge_methods_supported","authorization_details_types_supported","acr_values_supported","grant_types_supported","issuer","scopes_supported","request_parameter_supported","boolean","request_uri_parameter_supported","response_types_supported","response_modes_supported","subject_types_supported","token_endpoint_auth_methods_supported","token_endpoint_auth_signing_alg_values_supported","request_object_signing_alg_values_supported","wallet_relying_party","RelyingPartyEntityConfiguration","WalletProviderEntityConfiguration","wallet_provider","aal_values_supported","EntityConfiguration"],"sourceRoot":"../../../../src","sources":["entity/trust/types.ts"],"mappings":"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"}
@@ -16,7 +16,7 @@ export type CompleteUserAuthorizationWithFormPostJwtMode = (requestObject: Out<G
16
16
  appFetch?: GlobalFetch["fetch"];
17
17
  }) => Promise<AuthorizationResult>;
18
18
  export type GetRequestedCredentialToBePresented = (issuerRequestUri: Out<StartUserAuthorization>["issuerRequestUri"], clientId: Out<StartUserAuthorization>["clientId"], issuerConf: Out<GetIssuerConfig>["issuerConf"], appFetch?: GlobalFetch["fetch"]) => Promise<RequestObject>;
19
- export type BuildAuthorizationUrl = (issuerRequestUri: Out<StartUserAuthorization>["issuerRequestUri"], clientId: Out<StartUserAuthorization>["clientId"], issuerConf: Out<GetIssuerConfig>["issuerConf"], idpHint: string) => Promise<{
19
+ export type BuildAuthorizationUrl = (issuerRequestUri: Out<StartUserAuthorization>["issuerRequestUri"], clientId: Out<StartUserAuthorization>["clientId"], issuerConf: Out<GetIssuerConfig>["issuerConf"], idpHint?: string) => Promise<{
20
20
  authUrl: string;
21
21
  }>;
22
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"04-complete-user-authorization.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/04-complete-user-authorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAG5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAMtD;;GAEG;AACH,MAAM,MAAM,sCAAsC,GAAG,CACnD,eAAe,EAAE,MAAM,KACpB,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAElC,MAAM,MAAM,4CAA4C,GAAG,CACzD,aAAa,EAAE,GAAG,CAAC,mCAAmC,CAAC,EACvD,OAAO,EAAE;IACP,gBAAgB,EAAE,aAAa,CAAC;IAChC,gBAAgB,EAAE,aAAa,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAElC,MAAM,MAAM,mCAAmC,GAAG,CAChD,gBAAgB,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,kBAAkB,CAAC,EACjE,QAAQ,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,EACjD,UAAU,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,EAC9C,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,KAC5B,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5B,MAAM,MAAM,qBAAqB,GAAG,CAClC,gBAAgB,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,kBAAkB,CAAC,EACjE,QAAQ,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,EACjD,UAAU,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,EAC9C,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,EAAE,qBAiBnC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sCAAsC,EAAE,sCAKlD,CAAC;AAEJ;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mCAAmC,EAAE,mCAwB/C,CAAC;AAEJ;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,4CAA4C,EAAE,4CAuGxD,CAAC;AAEJ;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,YAC5B,OAAO,KACf,mBAaF,CAAC"}
1
+ {"version":3,"file":"04-complete-user-authorization.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/04-complete-user-authorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAG5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAMtD;;GAEG;AACH,MAAM,MAAM,sCAAsC,GAAG,CACnD,eAAe,EAAE,MAAM,KACpB,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAElC,MAAM,MAAM,4CAA4C,GAAG,CACzD,aAAa,EAAE,GAAG,CAAC,mCAAmC,CAAC,EACvD,OAAO,EAAE;IACP,gBAAgB,EAAE,aAAa,CAAC;IAChC,gBAAgB,EAAE,aAAa,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAElC,MAAM,MAAM,mCAAmC,GAAG,CAChD,gBAAgB,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,kBAAkB,CAAC,EACjE,QAAQ,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,EACjD,UAAU,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,EAC9C,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,KAC5B,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5B,MAAM,MAAM,qBAAqB,GAAG,CAClC,gBAAgB,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,kBAAkB,CAAC,EACjE,QAAQ,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,EACjD,UAAU,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,EAC9C,OAAO,CAAC,EAAE,MAAM,KACb,OAAO,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,EAAE,qBAiBnC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sCAAsC,EAAE,sCAKlD,CAAC;AAEJ;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mCAAmC,EAAE,mCAwB/C,CAAC;AAEJ;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,4CAA4C,EAAE,4CAuGxD,CAAC;AAEJ;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,YAC5B,OAAO,KACf,mBAaF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"01-start-flow.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/01-start-flow.ts"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CA0B/C,CAAC"}
1
+ {"version":3,"file":"01-start-flow.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/01-start-flow.ts"],"names":[],"mappings":"AAUA;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CA+B/C,CAAC"}
@@ -1,14 +1,12 @@
1
1
  import { type CryptoContext } from "@pagopa/io-react-native-jwt";
2
- import type { FetchJwks } from "./03-retrieve-jwks";
3
2
  import { type Out } from "../../utils/misc";
4
3
  import type { StartFlow } from "./01-start-flow";
5
- import { RequestObject } from "./types";
6
4
  export type GetRequestObject = (requestUri: Out<StartFlow>["requestURI"], context: {
7
5
  wiaCryptoContext: CryptoContext;
8
6
  appFetch?: GlobalFetch["fetch"];
9
7
  walletInstanceAttestation: string;
10
- }, jwkKeys?: Out<FetchJwks>["keys"]) => Promise<{
11
- requestObject: RequestObject;
8
+ }) => Promise<{
9
+ requestObjectEncodedJwt: string;
12
10
  }>;
13
11
  /**
14
12
  * Obtain the Request Object for RP authentication
@@ -22,4 +20,4 @@ export type GetRequestObject = (requestUri: Out<StartFlow>["requestURI"], contex
22
20
  * @returns The Request Object that describes the presentation
23
21
  */
24
22
  export declare const getRequestObject: GetRequestObject;
25
- //# sourceMappingURL=04-get-request-object.d.ts.map
23
+ //# sourceMappingURL=03-get-request-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"03-get-request-object.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/03-get-request-object.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,MAAM,gBAAgB,GAAG,CAC7B,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EACxC,OAAO,EAAE;IACP,gBAAgB,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;CACnC,KACE,OAAO,CAAC;IAAE,uBAAuB,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAElD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBA2B9B,CAAC"}
@@ -12,15 +12,16 @@ export type FetchJwks<T extends Array<unknown> = []> = (...args: T) => Promise<{
12
12
  }>;
13
13
  /**
14
14
  * Retrieves the JSON Web Key Set (JWKS) from the specified client's well-known endpoint.
15
+ * It is formed using `{issUrl.base}/.well-known/jar-issuer${issUrl.pah}` as explained in SD-JWT VC issuer metadata section
15
16
  *
16
- * @param clientUrl - The base URL of the client entity from which to retrieve the JWKS.
17
+ * @param requestObjectEncodedJwt - Request Object in JWT format.
17
18
  * @param options - Optional context containing a custom fetch implementation.
18
19
  * @param options.context - Optional context object.
19
20
  * @param options.context.appFetch - Optional custom fetch function to use instead of the global `fetch`.
20
21
  * @returns A promise resolving to an object containing an array of JWKs.
21
22
  * @throws Will throw an error if the JWKS retrieval fails.
22
23
  */
23
- export declare const fetchJwksFromUri: FetchJwks<[
24
+ export declare const fetchJwksFromRequestObject: FetchJwks<[
24
25
  string,
25
26
  {
26
27
  context?: {
@@ -36,6 +37,6 @@ export declare const fetchJwksFromUri: FetchJwks<[
36
37
  * @throws Will throw an error if the configuration is invalid or if JWKS is not found.
37
38
  */
38
39
  export declare const fetchJwksFromConfig: FetchJwks<[
39
- RelyingPartyEntityConfiguration
40
+ RelyingPartyEntityConfiguration["payload"]["metadata"]
40
41
  ]>;
41
- //# sourceMappingURL=03-retrieve-jwks.d.ts.map
42
+ //# sourceMappingURL=04-retrieve-rp-jwks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"04-retrieve-rp-jwks.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/04-retrieve-rp-jwks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAI3E;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IAC7E,IAAI,EAAE,GAAG,EAAE,CAAC;CACb,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,CAChD;IAAC,MAAM;IAAE;QAAE,OAAO,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;SAAE,CAAA;KAAE;CAAC,CAqC5D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,CACzC;IAAC,+BAA+B,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC;CAAC,CAWzD,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { RequestObject } from "./types";
2
+ import type { FetchJwks } from "./04-retrieve-rp-jwks";
3
+ import { type Out } from "../../utils/misc";
4
+ export type VerifyRequestObjectSignature = (requestObjectEncodedJwt: string, jwkKeys?: Out<FetchJwks>["keys"]) => Promise<{
5
+ requestObject: RequestObject;
6
+ }>;
7
+ export declare const verifyRequestObjectSignature: VerifyRequestObjectSignature;
8
+ //# sourceMappingURL=05-verify-request-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"05-verify-request-object.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/05-verify-request-object.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,MAAM,4BAA4B,GAAG,CACzC,uBAAuB,EAAE,MAAM,EAC/B,OAAO,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAC7B,OAAO,CAAC;IAAE,aAAa,EAAE,aAAa,CAAA;CAAE,CAAC,CAAC;AAE/C,eAAO,MAAM,4BAA4B,EAAE,4BAsBxC,CAAC"}