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

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.
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":"AACA,SAASA,QAAQ,QAAQ,oBAAoB;AAC7C,OAAO,KAAKC,CAAC,MAAM,KAAK;;AAExB;AACA;AACA;;AAOA,MAAMC,MAAM,GAAGD,CAAC,CAACE,MAAM,CAAC;EACtBC,IAAI,EAAEH,CAAC,CAACI,KAAK,CAACJ,CAAC,CAACK,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,CAAC,CAAC;EAAE;EAClCC,EAAE,EAAEP,CAAC,CAACK,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;EAAE;EAC3BC,OAAO,EAAET,CAAC,CAACK,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;EAAE;EAChCE,IAAI,EAAEV,CAAC,CAACK,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;EAAE;EAC7BG,MAAM,EAAEX,CAAC,CAACY,GAAG,CAAC,CAAC,CAACJ,QAAQ,CAAC,CAAC;EAAE;EAC5BA,QAAQ,EAAER,CAAC,CAACa,OAAO,CAAC,CAAC,CAACL,QAAQ,CAAC,CAAC;EAAE;EAClCM,gBAAgB,EAAEd,CAAC,CAACa,OAAO,CAAC,CAAC,CAACL,QAAQ,CAAC,CAAC,CAAE;AAC5C,CAAC,CAAC;;AAEF;AACA,MAAMO,WAAW,GAAGf,CAAC,CAACE,MAAM,CAAC;EAC3Bc,MAAM,EAAEhB,CAAC,CAACI,KAAK,CAACH,MAAM,CAAC,CAACO,QAAQ,CAAC,CAAC;EAAE;EACpCS,gBAAgB,EAAEjB,CAAC,CAACkB,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAACV,QAAQ,CAAC,CAAC,CAAE;AAClE,CAAC,CAAC;;AAEF;;AAEA,OAAO,MAAMW,eAAe,GAAGnB,CAAC,CAACE,MAAM,CAAC;EACtCK,EAAE,EAAEP,CAAC,CAACK,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,CAAC;EAAE;EACvBI,IAAI,EAAEV,CAAC,CAACK,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;EAAE;EAC7BC,OAAO,EAAET,CAAC,CAACK,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;EAAE;EAChCY,MAAM,EAAEpB,CAAC,CAACqB,MAAM,CAACrB,CAAC,CAACK,MAAM,CAAC,CAAC,EAAEL,CAAC,CAACY,GAAG,CAAC,CAAC,CAAC,CAACJ,QAAQ,CAAC,CAAC;EAAE;EAClDc,WAAW,EAAEP,WAAW;EAAE;EAC1BQ,KAAK,EAAEvB,CAAC,CAACK,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC,CAAE;AAChC,CAAC,CAAC;;AAEF,MAAMgB,qBAAqB,GAAGxB,CAAC,CAACE,MAAM,CAAC;EACrCQ,IAAI,EAAEV,CAAC,CAACK,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;EAC3BC,OAAO,EAAET,CAAC,CAACK,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;EAC9BiB,IAAI,EAAEzB,CAAC,CAACK,MAAM,CAAC,CAAC;EAAE;EAClBqB,IAAI,EAAE1B,CAAC,CAACK,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;EAAE;EAC7BmB,WAAW,EAAE3B,CAAC,CACXI,KAAK,CACJJ,CAAC,CAACE,MAAM,CAAC;IACPQ,IAAI,EAAEV,CAAC,CAACK,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;IAC3BC,OAAO,EAAET,CAAC,CAACK,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;IAC9BiB,IAAI,EAAEzB,CAAC,CAACK,MAAM,CAAC,CAAC;IAChBqB,IAAI,EAAE1B,CAAC,CAACK,MAAM,CAAC;EACjB,CAAC,CACH,CAAC,CACAG,QAAQ,CAAC,CAAC;EACboB,KAAK,EAAE5B,CAAC,CAAC6B,MAAM,CAAC,CAAC,CAACrB,QAAQ,CAAC;EAC3B;AACF,CAAC,CAAC;;AAGF,OAAO,MAAMsB,sBAAsB,GAAG9B,CAAC,CAACE,MAAM,CAAC;EAC7CK,EAAE,EAAEP,CAAC,CAACK,MAAM,CAAC,CAAC;EACdK,IAAI,EAAEV,CAAC,CAACK,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;EAC3BC,OAAO,EAAET,CAAC,CAACK,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;EAC9BuB,iBAAiB,EAAE/B,CAAC,CAACI,KAAK,CAACe,eAAe,CAAC;EAC3Ca,uBAAuB,EAAEhC,CAAC,CAACI,KAAK,CAACoB,qBAAqB,CAAC,CAAChB,QAAQ,CAAC;AACnE,CAAC,CAAC;AAGF,OAAO,MAAMyB,aAAa,GAAGjC,CAAC,CAACE,MAAM,CAAC;EACpCgC,GAAG,EAAElC,CAAC,CAACK,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;EAAE;EAC5B2B,GAAG,EAAEpC,QAAQ,CAACS,QAAQ,CAAC,CAAC;EACxB4B,GAAG,EAAErC,QAAQ,CAACS,QAAQ,CAAC,CAAC;EACxB6B,KAAK,EAAErC,CAAC,CAACK,MAAM,CAAC,CAAC;EACjBiC,KAAK,EAAEtC,CAAC,CAACK,MAAM,CAAC,CAAC;EACjBkC,YAAY,EAAEvC,CAAC,CAACK,MAAM,CAAC,CAAC;EACxBmC,aAAa,EAAExC,CAAC,CAACyC,OAAO,CAAC,UAAU,CAAC;EACpCC,aAAa,EAAE1C,CAAC,CAACkB,IAAI,CAAC,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;EACzDyB,SAAS,EAAE3C,CAAC,CAACK,MAAM,CAAC,CAAC;EACrBuC,gBAAgB,EAAE5C,CAAC,CAACK,MAAM,CAAC,CAAC;EAAE;EAC9BwC,KAAK,EAAE7C,CAAC,CAACK,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;EAC5BsC,uBAAuB,EAAEhB,sBAAsB,CAACtB,QAAQ,CAAC;AAC3D,CAAC,CAAC"}
@@ -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"}