@pagopa/io-react-native-wallet 2.2.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/README.md +4 -3
  2. package/lib/commonjs/credential/index.js +3 -1
  3. package/lib/commonjs/credential/index.js.map +1 -1
  4. package/lib/commonjs/credential/issuance/03-start-user-authorization.js +24 -6
  5. package/lib/commonjs/credential/issuance/03-start-user-authorization.js.map +1 -1
  6. package/lib/commonjs/credential/issuance/04-complete-user-authorization.js +26 -2
  7. package/lib/commonjs/credential/issuance/04-complete-user-authorization.js.map +1 -1
  8. package/lib/commonjs/credential/issuance/README.md +155 -18
  9. package/lib/commonjs/credential/issuance/index.js +9 -1
  10. package/lib/commonjs/credential/issuance/index.js.map +1 -1
  11. package/lib/commonjs/credential/issuance/mrtd-pop/01-verify-and-parse-challenge-info.js +57 -0
  12. package/lib/commonjs/credential/issuance/mrtd-pop/01-verify-and-parse-challenge-info.js.map +1 -0
  13. package/lib/commonjs/credential/issuance/mrtd-pop/02-init-challenge.js +61 -0
  14. package/lib/commonjs/credential/issuance/mrtd-pop/02-init-challenge.js.map +1 -0
  15. package/lib/commonjs/credential/issuance/mrtd-pop/03-validate-challenge.js +95 -0
  16. package/lib/commonjs/credential/issuance/mrtd-pop/03-validate-challenge.js.map +1 -0
  17. package/lib/commonjs/credential/issuance/mrtd-pop/README.md +92 -0
  18. package/lib/commonjs/credential/issuance/mrtd-pop/index.js +33 -0
  19. package/lib/commonjs/credential/issuance/mrtd-pop/index.js.map +1 -0
  20. package/lib/commonjs/credential/issuance/mrtd-pop/types.js +57 -0
  21. package/lib/commonjs/credential/issuance/mrtd-pop/types.js.map +1 -0
  22. package/lib/commonjs/credential/offer/01-start-flow.js +75 -0
  23. package/lib/commonjs/credential/offer/01-start-flow.js.map +1 -0
  24. package/lib/commonjs/credential/offer/02-fetch-credential-offer.js +45 -0
  25. package/lib/commonjs/credential/offer/02-fetch-credential-offer.js.map +1 -0
  26. package/lib/commonjs/credential/offer/README.md +174 -0
  27. package/lib/commonjs/credential/offer/errors.js +22 -0
  28. package/lib/commonjs/credential/offer/errors.js.map +1 -0
  29. package/lib/commonjs/credential/offer/index.js +25 -0
  30. package/lib/commonjs/credential/offer/index.js.map +1 -0
  31. package/lib/commonjs/credential/offer/types.js +51 -0
  32. package/lib/commonjs/credential/offer/types.js.map +1 -0
  33. package/lib/commonjs/credential/presentation/01-start-flow.js +1 -1
  34. package/lib/commonjs/credentials-catalogue/README.md +15 -0
  35. package/lib/commonjs/credentials-catalogue/fetch-and-parse-catalogue.js +42 -0
  36. package/lib/commonjs/credentials-catalogue/fetch-and-parse-catalogue.js.map +1 -0
  37. package/lib/commonjs/credentials-catalogue/index.js +13 -0
  38. package/lib/commonjs/credentials-catalogue/index.js.map +1 -0
  39. package/lib/commonjs/credentials-catalogue/types.js +99 -0
  40. package/lib/commonjs/credentials-catalogue/types.js.map +1 -0
  41. package/lib/commonjs/index.js +3 -1
  42. package/lib/commonjs/index.js.map +1 -1
  43. package/lib/commonjs/utils/auth.js +9 -1
  44. package/lib/commonjs/utils/auth.js.map +1 -1
  45. package/lib/commonjs/utils/par.js +7 -2
  46. package/lib/commonjs/utils/par.js.map +1 -1
  47. package/lib/commonjs/utils/zod.js +28 -0
  48. package/lib/commonjs/utils/zod.js.map +1 -0
  49. package/lib/module/credential/index.js +2 -1
  50. package/lib/module/credential/index.js.map +1 -1
  51. package/lib/module/credential/issuance/03-start-user-authorization.js +24 -6
  52. package/lib/module/credential/issuance/03-start-user-authorization.js.map +1 -1
  53. package/lib/module/credential/issuance/04-complete-user-authorization.js +25 -2
  54. package/lib/module/credential/issuance/04-complete-user-authorization.js.map +1 -1
  55. package/lib/module/credential/issuance/README.md +155 -18
  56. package/lib/module/credential/issuance/index.js +3 -2
  57. package/lib/module/credential/issuance/index.js.map +1 -1
  58. package/lib/module/credential/issuance/mrtd-pop/01-verify-and-parse-challenge-info.js +50 -0
  59. package/lib/module/credential/issuance/mrtd-pop/01-verify-and-parse-challenge-info.js.map +1 -0
  60. package/lib/module/credential/issuance/mrtd-pop/02-init-challenge.js +52 -0
  61. package/lib/module/credential/issuance/mrtd-pop/02-init-challenge.js.map +1 -0
  62. package/lib/module/credential/issuance/mrtd-pop/03-validate-challenge.js +85 -0
  63. package/lib/module/credential/issuance/mrtd-pop/03-validate-challenge.js.map +1 -0
  64. package/lib/module/credential/issuance/mrtd-pop/README.md +92 -0
  65. package/lib/module/credential/issuance/mrtd-pop/index.js +5 -0
  66. package/lib/module/credential/issuance/mrtd-pop/index.js.map +1 -0
  67. package/lib/module/credential/issuance/mrtd-pop/types.js +46 -0
  68. package/lib/module/credential/issuance/mrtd-pop/types.js.map +1 -0
  69. package/lib/module/credential/offer/01-start-flow.js +66 -0
  70. package/lib/module/credential/offer/01-start-flow.js.map +1 -0
  71. package/lib/module/credential/offer/02-fetch-credential-offer.js +38 -0
  72. package/lib/module/credential/offer/02-fetch-credential-offer.js.map +1 -0
  73. package/lib/module/credential/offer/README.md +174 -0
  74. package/lib/module/credential/offer/errors.js +14 -0
  75. package/lib/module/credential/offer/errors.js.map +1 -0
  76. package/lib/module/credential/offer/index.js +5 -0
  77. package/lib/module/credential/offer/index.js.map +1 -0
  78. package/lib/module/credential/offer/types.js +41 -0
  79. package/lib/module/credential/offer/types.js.map +1 -0
  80. package/lib/module/credential/presentation/01-start-flow.js +1 -1
  81. package/lib/module/credentials-catalogue/README.md +15 -0
  82. package/lib/module/credentials-catalogue/fetch-and-parse-catalogue.js +35 -0
  83. package/lib/module/credentials-catalogue/fetch-and-parse-catalogue.js.map +1 -0
  84. package/lib/module/credentials-catalogue/index.js +2 -0
  85. package/lib/module/credentials-catalogue/index.js.map +1 -0
  86. package/lib/module/credentials-catalogue/types.js +89 -0
  87. package/lib/module/credentials-catalogue/types.js.map +1 -0
  88. package/lib/module/index.js +2 -1
  89. package/lib/module/index.js.map +1 -1
  90. package/lib/module/utils/auth.js +8 -0
  91. package/lib/module/utils/auth.js.map +1 -1
  92. package/lib/module/utils/par.js +7 -2
  93. package/lib/module/utils/par.js.map +1 -1
  94. package/lib/module/utils/zod.js +20 -0
  95. package/lib/module/utils/zod.js.map +1 -0
  96. package/lib/typescript/credential/index.d.ts +2 -1
  97. package/lib/typescript/credential/index.d.ts.map +1 -1
  98. package/lib/typescript/credential/issuance/01-start-flow.d.ts +1 -1
  99. package/lib/typescript/credential/issuance/03-start-user-authorization.d.ts +14 -4
  100. package/lib/typescript/credential/issuance/03-start-user-authorization.d.ts.map +1 -1
  101. package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts +9 -1
  102. package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts.map +1 -1
  103. package/lib/typescript/credential/issuance/index.d.ts +4 -3
  104. package/lib/typescript/credential/issuance/index.d.ts.map +1 -1
  105. package/lib/typescript/credential/issuance/mrtd-pop/01-verify-and-parse-challenge-info.d.ts +25 -0
  106. package/lib/typescript/credential/issuance/mrtd-pop/01-verify-and-parse-challenge-info.d.ts.map +1 -0
  107. package/lib/typescript/credential/issuance/mrtd-pop/02-init-challenge.d.ts +23 -0
  108. package/lib/typescript/credential/issuance/mrtd-pop/02-init-challenge.d.ts.map +1 -0
  109. package/lib/typescript/credential/issuance/mrtd-pop/03-validate-challenge.d.ts +39 -0
  110. package/lib/typescript/credential/issuance/mrtd-pop/03-validate-challenge.d.ts.map +1 -0
  111. package/lib/typescript/credential/issuance/mrtd-pop/index.d.ts +7 -0
  112. package/lib/typescript/credential/issuance/mrtd-pop/index.d.ts.map +1 -0
  113. package/lib/typescript/credential/issuance/mrtd-pop/types.d.ts +201 -0
  114. package/lib/typescript/credential/issuance/mrtd-pop/types.d.ts.map +1 -0
  115. package/lib/typescript/credential/offer/01-start-flow.d.ts +172 -0
  116. package/lib/typescript/credential/offer/01-start-flow.d.ts.map +1 -0
  117. package/lib/typescript/credential/offer/02-fetch-credential-offer.d.ts +20 -0
  118. package/lib/typescript/credential/offer/02-fetch-credential-offer.d.ts.map +1 -0
  119. package/lib/typescript/credential/offer/errors.d.ts +10 -0
  120. package/lib/typescript/credential/offer/errors.d.ts.map +1 -0
  121. package/lib/typescript/credential/offer/index.d.ts +7 -0
  122. package/lib/typescript/credential/offer/index.d.ts.map +1 -0
  123. package/lib/typescript/credential/offer/types.d.ts +264 -0
  124. package/lib/typescript/credential/offer/types.d.ts.map +1 -0
  125. package/lib/typescript/credential/presentation/01-start-flow.d.ts +1 -1
  126. package/lib/typescript/credentials-catalogue/fetch-and-parse-catalogue.d.ts +15 -0
  127. package/lib/typescript/credentials-catalogue/fetch-and-parse-catalogue.d.ts.map +1 -0
  128. package/lib/typescript/credentials-catalogue/index.d.ts +3 -0
  129. package/lib/typescript/credentials-catalogue/index.d.ts.map +1 -0
  130. package/lib/typescript/credentials-catalogue/types.d.ts +844 -0
  131. package/lib/typescript/credentials-catalogue/types.d.ts.map +1 -0
  132. package/lib/typescript/index.d.ts +2 -1
  133. package/lib/typescript/index.d.ts.map +1 -1
  134. package/lib/typescript/utils/auth.d.ts +11 -0
  135. package/lib/typescript/utils/auth.d.ts.map +1 -1
  136. package/lib/typescript/utils/par.d.ts +34 -4
  137. package/lib/typescript/utils/par.d.ts.map +1 -1
  138. package/lib/typescript/utils/zod.d.ts +15 -0
  139. package/lib/typescript/utils/zod.d.ts.map +1 -0
  140. package/package.json +21 -2
  141. package/src/credential/index.ts +2 -1
  142. package/src/credential/issuance/01-start-flow.ts +1 -1
  143. package/src/credential/issuance/03-start-user-authorization.ts +30 -7
  144. package/src/credential/issuance/04-complete-user-authorization.ts +43 -1
  145. package/src/credential/issuance/README.md +155 -18
  146. package/src/credential/issuance/index.ts +7 -1
  147. package/src/credential/issuance/mrtd-pop/01-verify-and-parse-challenge-info.ts +70 -0
  148. package/src/credential/issuance/mrtd-pop/02-init-challenge.ts +82 -0
  149. package/src/credential/issuance/mrtd-pop/03-validate-challenge.ts +140 -0
  150. package/src/credential/issuance/mrtd-pop/README.md +92 -0
  151. package/src/credential/issuance/mrtd-pop/index.ts +27 -0
  152. package/src/credential/issuance/mrtd-pop/types.ts +65 -0
  153. package/src/credential/offer/01-start-flow.ts +89 -0
  154. package/src/credential/offer/02-fetch-credential-offer.ts +54 -0
  155. package/src/credential/offer/README.md +174 -0
  156. package/src/credential/offer/errors.ts +17 -0
  157. package/src/credential/offer/index.ts +16 -0
  158. package/src/credential/offer/types.ts +59 -0
  159. package/src/credential/presentation/01-start-flow.ts +1 -1
  160. package/src/credentials-catalogue/README.md +15 -0
  161. package/src/credentials-catalogue/fetch-and-parse-catalogue.ts +54 -0
  162. package/src/credentials-catalogue/index.ts +2 -0
  163. package/src/credentials-catalogue/types.ts +97 -0
  164. package/src/index.ts +2 -0
  165. package/src/utils/auth.ts +12 -0
  166. package/src/utils/par.ts +12 -4
  167. package/src/utils/zod.ts +28 -0
@@ -0,0 +1,174 @@
1
+ # Credential Offer
2
+
3
+ This flow handles the initial step of credential issuance by processing Credential Offers from Credential Issuers. The Credential Offer contains information about what credentials are available and how they can be obtained. Each step in the flow is imported from the related file which is named with a sequential number.
4
+
5
+ A Credential Offer can be received by the Wallet in two ways: **by value** (complete offer embedded in the URL) or **by reference** (URL pointing to the offer endpoint). The offer specifies which credentials are available and what authorization flows are supported by the issuer.
6
+
7
+ The implementation follows the [OpenID for Verifiable Credential Issuance 1.0](https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html#name-credential-offer-endpoint) specification and supports both Authorization Code flow and Pre-Authorized Code flow.
8
+
9
+ ## Sequence Diagram
10
+
11
+ ```mermaid
12
+ sequenceDiagram
13
+ autonumber
14
+ participant U as User
15
+ participant W as Wallet
16
+ participant CI as Credential Issuer
17
+
18
+ CI->>U: QR Code / Deep Link with Credential Offer
19
+ U->>W: Scan QR / Click Link
20
+ W->>W: startFlowFromQR: Parse offer parameters
21
+ alt Credential Offer by Reference
22
+ W->>CI: fetchCredentialOffer: Fetch offer from URI
23
+ CI->>W: Return Credential Offer JSON
24
+ end
25
+ W->>W: Validate Credential Offer schema
26
+ W->>W: Determine available grant types
27
+ Note over W: Flow continues with credential issuance
28
+ ```
29
+
30
+ ## Grant Types
31
+
32
+ The Credential Offer supports two OAuth 2.0 grant types that determine how authorization is handled:
33
+
34
+ ### Authorization Code Flow
35
+
36
+ Used for interactive flows where user authentication and consent are required at the Authorization Server.
37
+
38
+ - **`issuer_state`** (optional): Binds the authorization request to a specific issuer context
39
+ - **`authorization_server`** (optional): Identifies which authorization server to use when multiple are available
40
+
41
+ ### Pre-Authorized Code Flow
42
+
43
+ Used when the user has already been authenticated and authorized out-of-band. The issuer provides a pre-authorized code that can be exchanged directly for credentials.
44
+
45
+ - **`pre-authorized_code`**: Short-lived single-use authorization code
46
+ - **`tx_code`** (optional): Additional transaction code requirements for security
47
+ - **`authorization_server`** (optional): Identifies which authorization server to use
48
+
49
+ ## Transaction Code Requirements
50
+
51
+ When a transaction code is required for Pre-Authorized Code flow, the following parameters control the user experience:
52
+
53
+ | Parameter | Type | Description |
54
+ | ------------- | ----------------------- | ---------------------------------------------------- |
55
+ | `input_mode` | `"numeric"` \| `"text"` | Character set for the code (default: `"numeric"`) |
56
+ | `length` | number | Expected code length to optimize input UI |
57
+ | `description` | string | User guidance (max 300 chars) for obtaining the code |
58
+
59
+ ## Credential Offer Transmission
60
+
61
+ ### By Value
62
+
63
+ The complete Credential Offer is embedded in the URL parameter:
64
+
65
+ ```
66
+ openid-credential-offer://?credential_offer=%7B%22credential_issuer%22...
67
+ ```
68
+
69
+ ### By Reference
70
+
71
+ A URL points to an endpoint serving the Credential Offer:
72
+
73
+ ```
74
+ openid-credential-offer://?credential_offer_uri=https%3A%2F%2Fserver.example.com%2Foffer
75
+ ```
76
+
77
+ When using by reference, the Wallet fetches the offer via HTTP GET with `Accept: application/json`.
78
+
79
+ ## Mapped Results
80
+
81
+ The following errors are mapped during credential offer processing:
82
+
83
+ | Error | Description |
84
+ | ----------------------------- | ---------------------------------------------------------------------------------- |
85
+ | `InvalidQRCodeError` | The QR code format is invalid or doesn't contain valid credential offer parameters |
86
+ | `InvalidCredentialOfferError` | The credential offer schema validation failed or contains invalid data |
87
+
88
+ ## Examples
89
+
90
+ <details>
91
+ <summary>Credential Offer processing flow</summary>
92
+
93
+ ```ts
94
+ // Parse QR code or deep link
95
+ const qrCode =
96
+ "openid-credential-offer://?credential_offer_uri=https%3A%2F%2Fissuer.example.com%2Foffer";
97
+ const { credential_offer_uri } = startFlowFromQR(qrCode);
98
+
99
+ // Fetch the credential offer if by reference
100
+ const offer = await fetchCredentialOffer(credential_offer_uri, { appFetch });
101
+
102
+ console.log(offer);
103
+ // {
104
+ // credential_issuer: "https://issuer.example.com",
105
+ // credential_configuration_ids: ["UniversityDegree", "DriverLicense"],
106
+ // grants: {
107
+ // authorization_code: {
108
+ // issuer_state: "xyz123"
109
+ // },
110
+ // "urn:ietf:params:oauth:grant-type:pre-authorized_code": {
111
+ // "pre-authorized_code": "SplxlOBeZQQYbYS6WxSbIA",
112
+ // tx_code: {
113
+ // length: 6,
114
+ // input_mode: "numeric",
115
+ // description: "Enter the code sent to your email"
116
+ // }
117
+ // }
118
+ // }
119
+ // }
120
+ ```
121
+
122
+ </details>
123
+
124
+ <details>
125
+ <summary>Pre-Authorized Code with Transaction Code</summary>
126
+
127
+ ```ts
128
+ const offer: CredentialOffer = {
129
+ credential_issuer: "https://university.example.edu",
130
+ credential_configuration_ids: ["DiplomaCredential"],
131
+ grants: {
132
+ "urn:ietf:params:oauth:grant-type:pre-authorized_code": {
133
+ "pre-authorized_code": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9",
134
+ tx_code: {
135
+ length: 4,
136
+ input_mode: "numeric",
137
+ description: "Check your email for the verification code",
138
+ },
139
+ },
140
+ },
141
+ };
142
+
143
+ // The user would need to:
144
+ // 1. Check their email for a 4-digit numeric code
145
+ // 2. Enter it in the wallet when prompted
146
+ // 3. The wallet uses both pre-authorized_code and tx_code in the token request
147
+ ```
148
+
149
+ </details>
150
+
151
+ <details>
152
+ <summary>Authorization Code Flow</summary>
153
+
154
+ ```ts
155
+ const offer: CredentialOffer = {
156
+ credential_issuer: "https://dmv.example.gov",
157
+ credential_configuration_ids: ["org.iso.18013.5.1.mDL"],
158
+ grants: {
159
+ authorization_code: {
160
+ issuer_state: "af0ifjsldkj",
161
+ authorization_server: "https://auth.dmv.example.gov",
162
+ },
163
+ },
164
+ };
165
+
166
+ // This would lead to:
167
+ // 1. User authentication at the authorization server
168
+ // 2. User consent for credential issuance
169
+ // 3. Authorization code returned to wallet
170
+ // 4. Wallet exchanges code for access token
171
+ // 5. Wallet uses access token to request credential
172
+ ```
173
+
174
+ </details>
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.InvalidQRCodeError = exports.InvalidCredentialOfferError = void 0;
7
+ var _errors = require("../../utils/errors");
8
+ class InvalidCredentialOfferError extends _errors.IoWalletError {
9
+ code = "ERR_INVALID_CREDENTIAL_OFFER";
10
+ constructor(message) {
11
+ super(message);
12
+ }
13
+ }
14
+ exports.InvalidCredentialOfferError = InvalidCredentialOfferError;
15
+ class InvalidQRCodeError extends _errors.IoWalletError {
16
+ code = "ERR_INVALID_QR_CODE";
17
+ constructor(message) {
18
+ super(message);
19
+ }
20
+ }
21
+ exports.InvalidQRCodeError = InvalidQRCodeError;
22
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_errors","require","InvalidCredentialOfferError","IoWalletError","code","constructor","message","exports","InvalidQRCodeError"],"sourceRoot":"../../../../src","sources":["credential/offer/errors.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,2BAA2B,SAASC,qBAAa,CAAC;EAC7DC,IAAI,GAAG,8BAA8B;EAErCC,WAAWA,CAACC,OAAgB,EAAE;IAC5B,KAAK,CAACA,OAAO,CAAC;EAChB;AACF;AAACC,OAAA,CAAAL,2BAAA,GAAAA,2BAAA;AAEM,MAAMM,kBAAkB,SAASL,qBAAa,CAAC;EACpDC,IAAI,GAAG,qBAAqB;EAE5BC,WAAWA,CAACC,OAAgB,EAAE;IAC5B,KAAK,CAACA,OAAO,CAAC;EAChB;AACF;AAACC,OAAA,CAAAC,kBAAA,GAAAA,kBAAA"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Errors = void 0;
7
+ Object.defineProperty(exports, "fetchCredentialOffer", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _fetchCredentialOffer.fetchCredentialOffer;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "startFlowFromQR", {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _startFlow.startFlowFromQR;
17
+ }
18
+ });
19
+ var _startFlow = require("./01-start-flow");
20
+ var _fetchCredentialOffer = require("./02-fetch-credential-offer");
21
+ var Errors = _interopRequireWildcard(require("./errors"));
22
+ exports.Errors = Errors;
23
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_startFlow","require","_fetchCredentialOffer","Errors","_interopRequireWildcard","exports","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sourceRoot":"../../../../src","sources":["credential/offer/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AAIA,IAAAE,MAAA,GAAAC,uBAAA,CAAAH,OAAA;AAAmCI,OAAA,CAAAF,MAAA,GAAAA,MAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TransactionCodeSchema = exports.PreAuthorizedCodeGrantSchema = exports.GrantsSchema = exports.CredentialOfferSchema = exports.AuthorizationCodeGrantSchema = void 0;
7
+ var _zod = require("zod");
8
+ /**
9
+ * OAuth 2.0 Authorization Code flow parameters.
10
+ */
11
+ const AuthorizationCodeGrantSchema = _zod.z.object({
12
+ issuer_state: _zod.z.string().optional(),
13
+ authorization_server: _zod.z.string().url().optional()
14
+ });
15
+ exports.AuthorizationCodeGrantSchema = AuthorizationCodeGrantSchema;
16
+ /**
17
+ * Transaction Code requirements for Pre-Authorized Code flow.
18
+ */
19
+ const TransactionCodeSchema = _zod.z.object({
20
+ input_mode: _zod.z.enum(["numeric", "text"]).optional(),
21
+ length: _zod.z.number().int().positive().optional(),
22
+ description: _zod.z.string().max(300).optional()
23
+ });
24
+ exports.TransactionCodeSchema = TransactionCodeSchema;
25
+ /**
26
+ * Pre-Authorized Code flow parameters.
27
+ */
28
+ const PreAuthorizedCodeGrantSchema = _zod.z.object({
29
+ "pre-authorized_code": _zod.z.string(),
30
+ tx_code: TransactionCodeSchema.optional(),
31
+ authorization_server: _zod.z.string().url().optional()
32
+ });
33
+ exports.PreAuthorizedCodeGrantSchema = PreAuthorizedCodeGrantSchema;
34
+ /**
35
+ * Supported grant types for Credential Offer.
36
+ */
37
+ const GrantsSchema = _zod.z.object({
38
+ authorization_code: AuthorizationCodeGrantSchema.optional(),
39
+ "urn:ietf:params:oauth:grant-type:pre-authorized_code": PreAuthorizedCodeGrantSchema.optional()
40
+ });
41
+ exports.GrantsSchema = GrantsSchema;
42
+ /**
43
+ * Credential Offer object as defined in OpenID4VCI Section 4.1.1.
44
+ */
45
+ const CredentialOfferSchema = _zod.z.object({
46
+ credential_issuer: _zod.z.string().url(),
47
+ credential_configuration_ids: _zod.z.array(_zod.z.string()).min(1),
48
+ grants: GrantsSchema.optional()
49
+ });
50
+ exports.CredentialOfferSchema = CredentialOfferSchema;
51
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_zod","require","AuthorizationCodeGrantSchema","z","object","issuer_state","string","optional","authorization_server","url","exports","TransactionCodeSchema","input_mode","enum","length","number","int","positive","description","max","PreAuthorizedCodeGrantSchema","tx_code","GrantsSchema","authorization_code","CredentialOfferSchema","credential_issuer","credential_configuration_ids","array","min","grants"],"sourceRoot":"../../../../src","sources":["credential/offer/types.ts"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACO,MAAMC,4BAA4B,GAAGC,MAAC,CAACC,MAAM,CAAC;EACnDC,YAAY,EAAEF,MAAC,CAACG,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACnCC,oBAAoB,EAAEL,MAAC,CAACG,MAAM,CAAC,CAAC,CAACG,GAAG,CAAC,CAAC,CAACF,QAAQ,CAAC;AAClD,CAAC,CAAC;AAACG,OAAA,CAAAR,4BAAA,GAAAA,4BAAA;AAMH;AACA;AACA;AACO,MAAMS,qBAAqB,GAAGR,MAAC,CAACC,MAAM,CAAC;EAC5CQ,UAAU,EAAET,MAAC,CAACU,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAACN,QAAQ,CAAC,CAAC;EAClDO,MAAM,EAAEX,MAAC,CAACY,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,CAACV,QAAQ,CAAC,CAAC;EAC9CW,WAAW,EAAEf,MAAC,CAACG,MAAM,CAAC,CAAC,CAACa,GAAG,CAAC,GAAG,CAAC,CAACZ,QAAQ,CAAC;AAC5C,CAAC,CAAC;AAACG,OAAA,CAAAC,qBAAA,GAAAA,qBAAA;AAIH;AACA;AACA;AACO,MAAMS,4BAA4B,GAAGjB,MAAC,CAACC,MAAM,CAAC;EACnD,qBAAqB,EAAED,MAAC,CAACG,MAAM,CAAC,CAAC;EACjCe,OAAO,EAAEV,qBAAqB,CAACJ,QAAQ,CAAC,CAAC;EACzCC,oBAAoB,EAAEL,MAAC,CAACG,MAAM,CAAC,CAAC,CAACG,GAAG,CAAC,CAAC,CAACF,QAAQ,CAAC;AAClD,CAAC,CAAC;AAACG,OAAA,CAAAU,4BAAA,GAAAA,4BAAA;AAMH;AACA;AACA;AACO,MAAME,YAAY,GAAGnB,MAAC,CAACC,MAAM,CAAC;EACnCmB,kBAAkB,EAAErB,4BAA4B,CAACK,QAAQ,CAAC,CAAC;EAC3D,sDAAsD,EACpDa,4BAA4B,CAACb,QAAQ,CAAC;AAC1C,CAAC,CAAC;AAACG,OAAA,CAAAY,YAAA,GAAAA,YAAA;AAIH;AACA;AACA;AACO,MAAME,qBAAqB,GAAGrB,MAAC,CAACC,MAAM,CAAC;EAC5CqB,iBAAiB,EAAEtB,MAAC,CAACG,MAAM,CAAC,CAAC,CAACG,GAAG,CAAC,CAAC;EACnCiB,4BAA4B,EAAEvB,MAAC,CAACwB,KAAK,CAACxB,MAAC,CAACG,MAAM,CAAC,CAAC,CAAC,CAACsB,GAAG,CAAC,CAAC,CAAC;EACxDC,MAAM,EAAEP,YAAY,CAACf,QAAQ,CAAC;AAChC,CAAC,CAAC;AAACG,OAAA,CAAAc,qBAAA,GAAAA,qBAAA"}
@@ -17,7 +17,7 @@ const PresentationParams = z.object({
17
17
 
18
18
  /**
19
19
  * The beginning of the presentation flow.
20
- * To be implemented accordind to the user touchpoint
20
+ * To be implemented according to the user touchpoint
21
21
  *
22
22
  * @param params Presentation parameters, depending on the starting touchpoint
23
23
  * @returns The url for the Relying Party to connect with
@@ -0,0 +1,15 @@
1
+ # Digital Credentials Catalogue
2
+
3
+ Module that manages the [**Digital Credentials Catalogue**](https://italia.github.io/eid-wallet-it-docs/releases/1.1.0/en/registry-catalogue.html) published by the Trust Anchor.
4
+
5
+ The module allows:
6
+ - Fetching, verifying and parsing the catalogue's JWT.
7
+
8
+ ## Usage
9
+
10
+ ```ts
11
+ // Fetch the catalogue
12
+ const TRUST_ANCHOR_BASE_URL = "https://pre.ta.wallet.ipzs.it";
13
+ const credentialsCatalogue =
14
+ await CredentialsCatalogue.fetchAndParseCatalogue(TRUST_ANCHOR_BASE_URL);
15
+ ```
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.fetchAndParseCatalogue = void 0;
7
+ var _ioReactNativeJwt = require("@pagopa/io-react-native-jwt");
8
+ var _misc = require("../utils/misc");
9
+ var _errors = require("../utils/errors");
10
+ var _types = require("./types");
11
+ var _buildChain = require("../trust/build-chain");
12
+ /**
13
+ * Fetch and parse the Digital Credential Catalogue from the Trust Anchor.
14
+ * The catalogue's JWT signature is verified against the Trust Anchor's JWKs.
15
+ *
16
+ * @param trustAnchorUrl Base URL of the Trust Anchor
17
+ * @param context.appFetch (optional) fetch API implementation. Default: built-in fetch
18
+ * @returns The Digital Credential Catalogue payload
19
+ */
20
+ const fetchAndParseCatalogue = async function (trustAnchorBaseUrl) {
21
+ let {
22
+ appFetch = fetch
23
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
24
+ const trustAnchorConfig = await (0, _buildChain.getTrustAnchorEntityConfiguration)(trustAnchorBaseUrl);
25
+ const responseText = await appFetch(`${trustAnchorConfig.payload.sub}/.well-known/credential-catalogue`, {
26
+ method: "GET"
27
+ }).then((0, _misc.hasStatusOrThrow)(200)).then(res => res.text());
28
+ const responseJwt = (0, _ioReactNativeJwt.decode)(responseText);
29
+ const catalogueKid = responseJwt.protectedHeader.kid;
30
+ const trustAnchorJwk = trustAnchorConfig.payload.jwks.keys.find(jwk => jwk.kid === catalogueKid);
31
+ if (!trustAnchorJwk) {
32
+ throw new _errors.IoWalletError(`Could not find JWK with kid ${catalogueKid} in Trust Anchor's Entity Configuration`);
33
+ }
34
+ await (0, _ioReactNativeJwt.verify)(responseText, trustAnchorJwk);
35
+ const parsedDigitalCredentialsCatalogue = _types.DigitalCredentialsCatalogue.parse({
36
+ header: responseJwt.protectedHeader,
37
+ payload: responseJwt.payload
38
+ });
39
+ return parsedDigitalCredentialsCatalogue.payload;
40
+ };
41
+ exports.fetchAndParseCatalogue = fetchAndParseCatalogue;
42
+ //# sourceMappingURL=fetch-and-parse-catalogue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ioReactNativeJwt","require","_misc","_errors","_types","_buildChain","fetchAndParseCatalogue","trustAnchorBaseUrl","appFetch","fetch","arguments","length","undefined","trustAnchorConfig","getTrustAnchorEntityConfiguration","responseText","payload","sub","method","then","hasStatusOrThrow","res","text","responseJwt","decodeJwt","catalogueKid","protectedHeader","kid","trustAnchorJwk","jwks","keys","find","jwk","IoWalletError","verify","parsedDigitalCredentialsCatalogue","DigitalCredentialsCatalogue","parse","header","exports"],"sourceRoot":"../../../src","sources":["credentials-catalogue/fetch-and-parse-catalogue.ts"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMK,sBAAsB,GAAG,eAAAA,CACpCC,kBAA0B,EAE0B;EAAA,IADpD;IAAEC,QAAQ,GAAGC;EAA2B,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAE9C,MAAMG,iBAAiB,GACrB,MAAM,IAAAC,6CAAiC,EAACP,kBAAkB,CAAC;EAE7D,MAAMQ,YAAY,GAAG,MAAMP,QAAQ,CAChC,GAAEK,iBAAiB,CAACG,OAAO,CAACC,GAAI,mCAAkC,EACnE;IAAEC,MAAM,EAAE;EAAM,CAClB,CAAC,CACEC,IAAI,CAAC,IAAAC,sBAAgB,EAAC,GAAG,CAAC,CAAC,CAC3BD,IAAI,CAAEE,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC,CAAC,CAAC;EAE5B,MAAMC,WAAW,GAAG,IAAAC,wBAAS,EAACT,YAAY,CAAC;EAC3C,MAAMU,YAAY,GAAGF,WAAW,CAACG,eAAe,CAACC,GAAG;EAEpD,MAAMC,cAAc,GAAGf,iBAAiB,CAACG,OAAO,CAACa,IAAI,CAACC,IAAI,CAACC,IAAI,CAC5DC,GAAG,IAAKA,GAAG,CAACL,GAAG,KAAKF,YACvB,CAAC;EAED,IAAI,CAACG,cAAc,EAAE;IACnB,MAAM,IAAIK,qBAAa,CACpB,+BAA8BR,YAAa,yCAC9C,CAAC;EACH;EAEA,MAAM,IAAAS,wBAAM,EAACnB,YAAY,EAAEa,cAAc,CAAC;EAE1C,MAAMO,iCAAiC,GAAGC,kCAA2B,CAACC,KAAK,CAAC;IAC1EC,MAAM,EAAEf,WAAW,CAACG,eAAe;IACnCV,OAAO,EAAEO,WAAW,CAACP;EACvB,CAAC,CAAC;EAEF,OAAOmB,iCAAiC,CAACnB,OAAO;AAClD,CAAC;AAACuB,OAAA,CAAAjC,sBAAA,GAAAA,sBAAA"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "fetchAndParseCatalogue", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _fetchAndParseCatalogue.fetchAndParseCatalogue;
10
+ }
11
+ });
12
+ var _fetchAndParseCatalogue = require("./fetch-and-parse-catalogue");
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_fetchAndParseCatalogue","require"],"sourceRoot":"../../../src","sources":["credentials-catalogue/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,uBAAA,GAAAC,OAAA"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DigitalCredentialsCatalogue = exports.DigitalCredential = void 0;
7
+ var z = _interopRequireWildcard(require("zod"));
8
+ var _types = require("../sd-jwt/types");
9
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
+ const CredentialPurpose = z.object({
12
+ id: z.string(),
13
+ description: z.string(),
14
+ category: z.string(),
15
+ subcategory: z.string(),
16
+ claims_required: z.array(z.string()),
17
+ claim_recommended: z.array(z.string())
18
+ });
19
+ const CredentialIssuer = z.object({
20
+ id: z.string(),
21
+ organization_name: z.string(),
22
+ organization_code: z.string(),
23
+ organization_country: z.string(),
24
+ contacts: z.array(z.string()).optional(),
25
+ homepage_uri: z.string().optional(),
26
+ logo_uri: z.string().optional(),
27
+ policy_uri: z.string().optional(),
28
+ tos_uri: z.string().optional()
29
+ });
30
+ const AuthenticSource = z.object({
31
+ id: z.string(),
32
+ organization_name: z.string(),
33
+ organization_code: z.string(),
34
+ organization_country: z.string(),
35
+ source_type: z.enum(["public", "private"]),
36
+ contacts: z.array(z.string()).optional(),
37
+ homepage_uri: z.string().optional(),
38
+ logo_uri: z.string().optional(),
39
+ user_information: z.string().optional()
40
+ });
41
+ const CredentialFormat = z.object({
42
+ configuration_id: z.string(),
43
+ format: z.enum(["dc+sd-jwt", "mso_mdoc"]),
44
+ vct: z.string().url().optional(),
45
+ docType: z.string().optional(),
46
+ schema_uri: z.string().url().optional(),
47
+ "schema_uri#integrity": z.string().optional()
48
+ });
49
+ const Claim = z.object({
50
+ name: z.string(),
51
+ taxonomy_ref: z.string(),
52
+ display_name: z.string()
53
+ });
54
+ const DigitalCredential = z.object({
55
+ version: z.string(),
56
+ credential_type: z.string(),
57
+ legal_type: z.string(),
58
+ name: z.string(),
59
+ description: z.string(),
60
+ validity_info: z.object({
61
+ max_validity_days: z.number(),
62
+ status_methods: z.array(z.string()),
63
+ allowed_states: z.array(z.string())
64
+ }),
65
+ authentication: z.object({
66
+ user_auth_required: z.boolean(),
67
+ min_loa: z.string(),
68
+ supported_eid_schemes: z.array(z.string())
69
+ }),
70
+ purposes: z.array(CredentialPurpose),
71
+ issuers: z.array(CredentialIssuer),
72
+ authentic_sources: z.array(AuthenticSource),
73
+ formats: z.array(CredentialFormat),
74
+ claims: z.array(Claim)
75
+ });
76
+
77
+ /**
78
+ * The Digital Credentials Catalogue published by the Trust Anchor
79
+ *
80
+ * @version 1.1.0
81
+ * @see https://italia.github.io/eid-wallet-it-docs/releases/1.1.0/en/registry-catalogue.html
82
+ */
83
+ exports.DigitalCredential = DigitalCredential;
84
+ const DigitalCredentialsCatalogue = z.object({
85
+ header: z.object({
86
+ typ: z.string(),
87
+ alg: z.string(),
88
+ kid: z.string()
89
+ }),
90
+ payload: z.object({
91
+ catalog_version: z.string(),
92
+ taxonomy_uri: z.string().url(),
93
+ credentials: z.array(DigitalCredential),
94
+ iat: _types.UnixTime,
95
+ exp: _types.UnixTime
96
+ })
97
+ });
98
+ exports.DigitalCredentialsCatalogue = DigitalCredentialsCatalogue;
99
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["z","_interopRequireWildcard","require","_types","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","CredentialPurpose","object","id","string","description","category","subcategory","claims_required","array","claim_recommended","CredentialIssuer","organization_name","organization_code","organization_country","contacts","optional","homepage_uri","logo_uri","policy_uri","tos_uri","AuthenticSource","source_type","enum","user_information","CredentialFormat","configuration_id","format","vct","url","docType","schema_uri","Claim","name","taxonomy_ref","display_name","DigitalCredential","version","credential_type","legal_type","validity_info","max_validity_days","number","status_methods","allowed_states","authentication","user_auth_required","boolean","min_loa","supported_eid_schemes","purposes","issuers","authentic_sources","formats","claims","exports","DigitalCredentialsCatalogue","header","typ","alg","kid","payload","catalog_version","taxonomy_uri","credentials","iat","UnixTime","exp"],"sourceRoot":"../../../src","sources":["credentials-catalogue/types.ts"],"mappings":"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"}
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "AuthorizationDetails", {
15
15
  return _par.AuthorizationDetails;
16
16
  }
17
17
  });
18
- exports.WalletInstanceAttestation = exports.WalletInstance = exports.Trust = exports.SdJwt = exports.PID = exports.Mdoc = exports.Logging = exports.Errors = exports.Credential = void 0;
18
+ exports.WalletInstanceAttestation = exports.WalletInstance = exports.Trust = exports.SdJwt = exports.PID = exports.Mdoc = exports.Logging = exports.Errors = exports.CredentialsCatalogue = exports.Credential = void 0;
19
19
  Object.defineProperty(exports, "createCryptoContextFor", {
20
20
  enumerable: true,
21
21
  get: function () {
@@ -32,6 +32,8 @@ var _jwk = require("./utils/jwk");
32
32
  require("react-native-url-polyfill/auto");
33
33
  var Credential = _interopRequireWildcard(require("./credential"));
34
34
  exports.Credential = Credential;
35
+ var CredentialsCatalogue = _interopRequireWildcard(require("./credentials-catalogue"));
36
+ exports.CredentialsCatalogue = CredentialsCatalogue;
35
37
  var PID = _interopRequireWildcard(require("./pid"));
36
38
  exports.PID = PID;
37
39
  var SdJwt = _interopRequireWildcard(require("./sd-jwt"));
@@ -1 +1 @@
1
- {"version":3,"names":["_jwk","require","Credential","_interopRequireWildcard","exports","PID","SdJwt","Mdoc","Errors","WalletInstanceAttestation","Trust","WalletInstance","Logging","_par","_crypto","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,IAAA,GAAAC,OAAA;AAGAA,OAAA;AAEA,IAAAC,UAAA,GAAAC,uBAAA,CAAAF,OAAA;AAA2CG,OAAA,CAAAF,UAAA,GAAAA,UAAA;AAC3C,IAAAG,GAAA,GAAAF,uBAAA,CAAAF,OAAA;AAA6BG,OAAA,CAAAC,GAAA,GAAAA,GAAA;AAC7B,IAAAC,KAAA,GAAAH,uBAAA,CAAAF,OAAA;AAAkCG,OAAA,CAAAE,KAAA,GAAAA,KAAA;AAClC,IAAAC,IAAA,GAAAJ,uBAAA,CAAAF,OAAA;AAA+BG,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAC/B,IAAAC,MAAA,GAAAL,uBAAA,CAAAF,OAAA;AAAyCG,OAAA,CAAAI,MAAA,GAAAA,MAAA;AACzC,IAAAC,yBAAA,GAAAN,uBAAA,CAAAF,OAAA;AAA2EG,OAAA,CAAAK,yBAAA,GAAAA,yBAAA;AAC3E,IAAAC,KAAA,GAAAP,uBAAA,CAAAF,OAAA;AAAiCG,OAAA,CAAAM,KAAA,GAAAA,KAAA;AACjC,IAAAC,cAAA,GAAAR,uBAAA,CAAAF,OAAA;AAAoDG,OAAA,CAAAO,cAAA,GAAAA,cAAA;AACpD,IAAAC,OAAA,GAAAT,uBAAA,CAAAF,OAAA;AAA2CG,OAAA,CAAAQ,OAAA,GAAAA,OAAA;AAC3C,IAAAC,IAAA,GAAAZ,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA;AAAwD,SAAAc,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAb,wBAAAiB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA"}
1
+ {"version":3,"names":["_jwk","require","Credential","_interopRequireWildcard","exports","CredentialsCatalogue","PID","SdJwt","Mdoc","Errors","WalletInstanceAttestation","Trust","WalletInstance","Logging","_par","_crypto","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,IAAA,GAAAC,OAAA;AAGAA,OAAA;AAEA,IAAAC,UAAA,GAAAC,uBAAA,CAAAF,OAAA;AAA2CG,OAAA,CAAAF,UAAA,GAAAA,UAAA;AAC3C,IAAAG,oBAAA,GAAAF,uBAAA,CAAAF,OAAA;AAAgEG,OAAA,CAAAC,oBAAA,GAAAA,oBAAA;AAChE,IAAAC,GAAA,GAAAH,uBAAA,CAAAF,OAAA;AAA6BG,OAAA,CAAAE,GAAA,GAAAA,GAAA;AAC7B,IAAAC,KAAA,GAAAJ,uBAAA,CAAAF,OAAA;AAAkCG,OAAA,CAAAG,KAAA,GAAAA,KAAA;AAClC,IAAAC,IAAA,GAAAL,uBAAA,CAAAF,OAAA;AAA+BG,OAAA,CAAAI,IAAA,GAAAA,IAAA;AAC/B,IAAAC,MAAA,GAAAN,uBAAA,CAAAF,OAAA;AAAyCG,OAAA,CAAAK,MAAA,GAAAA,MAAA;AACzC,IAAAC,yBAAA,GAAAP,uBAAA,CAAAF,OAAA;AAA2EG,OAAA,CAAAM,yBAAA,GAAAA,yBAAA;AAC3E,IAAAC,KAAA,GAAAR,uBAAA,CAAAF,OAAA;AAAiCG,OAAA,CAAAO,KAAA,GAAAA,KAAA;AACjC,IAAAC,cAAA,GAAAT,uBAAA,CAAAF,OAAA;AAAoDG,OAAA,CAAAQ,cAAA,GAAAA,cAAA;AACpD,IAAAC,OAAA,GAAAV,uBAAA,CAAAF,OAAA;AAA2CG,OAAA,CAAAS,OAAA,GAAAA,OAAA;AAC3C,IAAAC,IAAA,GAAAb,OAAA;AACA,IAAAc,OAAA,GAAAd,OAAA;AAAwD,SAAAe,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAd,wBAAAkB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.AuthorizationResultShape = exports.AuthorizationErrorShape = void 0;
6
+ exports.AuthorizationResultShape = exports.AuthorizationErrorShape = exports.AuthorizationChallengeResultShape = void 0;
7
7
  var z = _interopRequireWildcard(require("zod"));
8
8
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9
9
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -41,4 +41,12 @@ const AuthorizationErrorShape = z.object({
41
41
  * Type of the identification result.
42
42
  */
43
43
  exports.AuthorizationErrorShape = AuthorizationErrorShape;
44
+ /**
45
+ * MRTD PoP Challenge Info response structure
46
+ */
47
+
48
+ const AuthorizationChallengeResultShape = z.object({
49
+ challenge_info: z.string()
50
+ });
51
+ exports.AuthorizationChallengeResultShape = AuthorizationChallengeResultShape;
44
52
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["z","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AuthorizationResultShape","object","code","string","state","iss","optional","exports","AuthorizationErrorShape","error","error_description","error_uri"],"sourceRoot":"../../../src","sources":["utils/auth.ts"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAyB,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAEzB;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACO,MAAMW,wBAAwB,GAAGzB,CAAC,CAAC0B,MAAM,CAAC;EAC/CC,IAAI,EAAE3B,CAAC,CAAC4B,MAAM,CAAC,CAAC;EAChBC,KAAK,EAAE7B,CAAC,CAAC4B,MAAM,CAAC,CAAC;EACjBE,GAAG,EAAE9B,CAAC,CAAC4B,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC;AAC3B,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AALAC,OAAA,CAAAP,wBAAA,GAAAA,wBAAA;AAMO,MAAMQ,uBAAuB,GAAGjC,CAAC,CAAC0B,MAAM,CAAC;EAC9CQ,KAAK,EAAElC,CAAC,CAAC4B,MAAM,CAAC,CAAC;EAAE;EACnBO,iBAAiB,EAAEnC,CAAC,CAAC4B,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;EACxCK,SAAS,EAAEpC,CAAC,CAAC4B,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;EAChCF,KAAK,EAAE7B,CAAC,CAAC4B,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC;AAC7B,CAAC,CAAC;;AAEF;AACA;AACA;AAFAC,OAAA,CAAAC,uBAAA,GAAAA,uBAAA"}
1
+ {"version":3,"names":["z","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AuthorizationResultShape","object","code","string","state","iss","optional","exports","AuthorizationErrorShape","error","error_description","error_uri","AuthorizationChallengeResultShape","challenge_info"],"sourceRoot":"../../../src","sources":["utils/auth.ts"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAyB,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAEzB;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACO,MAAMW,wBAAwB,GAAGzB,CAAC,CAAC0B,MAAM,CAAC;EAC/CC,IAAI,EAAE3B,CAAC,CAAC4B,MAAM,CAAC,CAAC;EAChBC,KAAK,EAAE7B,CAAC,CAAC4B,MAAM,CAAC,CAAC;EACjBE,GAAG,EAAE9B,CAAC,CAAC4B,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC;AAC3B,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AALAC,OAAA,CAAAP,wBAAA,GAAAA,wBAAA;AAMO,MAAMQ,uBAAuB,GAAGjC,CAAC,CAAC0B,MAAM,CAAC;EAC9CQ,KAAK,EAAElC,CAAC,CAAC4B,MAAM,CAAC,CAAC;EAAE;EACnBO,iBAAiB,EAAEnC,CAAC,CAAC4B,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;EACxCK,SAAS,EAAEpC,CAAC,CAAC4B,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;EAChCF,KAAK,EAAE7B,CAAC,CAAC4B,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC;AAC7B,CAAC,CAAC;;AAEF;AACA;AACA;AAFAC,OAAA,CAAAC,uBAAA,GAAAA,uBAAA;AAKA;AACA;AACA;;AAEO,MAAMI,iCAAiC,GAAGrC,CAAC,CAAC0B,MAAM,CAAC;EACxDY,cAAc,EAAEtC,CAAC,CAAC4B,MAAM,CAAC;AAC3B,CAAC,CAAC;AAACI,OAAA,CAAAK,iCAAA,GAAAA,iCAAA"}
@@ -14,10 +14,15 @@ var _errors = require("./errors");
14
14
  var _logging = require("./logging");
15
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
- const AuthorizationDetail = z.object({
17
+ const AuthorizationDetail = z.union([z.object({
18
18
  type: z.literal("openid_credential"),
19
19
  credential_configuration_id: z.string()
20
- });
20
+ }), z.object({
21
+ type: z.literal("it_l2+document_proof"),
22
+ idphinting: z.string(),
23
+ challenge_method: z.literal("mrtd+ias"),
24
+ challenge_redirect_uri: z.string()
25
+ })]);
21
26
  exports.AuthorizationDetail = AuthorizationDetail;
22
27
  const AuthorizationDetails = z.array(AuthorizationDetail);
23
28
  exports.AuthorizationDetails = AuthorizationDetails;
@@ -1 +1 @@
1
- {"version":3,"names":["_ioReactNativeJwt","require","_uuid","z","_interopRequireWildcard","WalletInstanceAttestation","_misc","_pop","_errors","_logging","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AuthorizationDetail","object","type","literal","credential_configuration_id","string","exports","AuthorizationDetails","array","ParResponse","request_uri","expires_in","number","makeParRequest","_ref","wiaCryptoContext","appFetch","parEndpoint","walletInstanceAttestation","_ref2","codeVerifier","responseMode","clientId","redirectUri","authorizationDetails","scope","aud","wiaPublicKey","getPublicKey","iss","decode","payload","cnf","jwk","kid","signedWiaPoP","createPopToken","jti","uuidv4","codeChallengeMethod","codeChallenge","sha256ToBase64","signedJwtForPar","SignJWT","setProtectedHeader","typ","setPayload","response_type","response_mode","client_id","state","generateRandomAlphaNumericString","code_challenge","code_challenge_method","redirect_uri","authorization_details","setIssuedAt","setExpirationTime","sign","formBody","URLSearchParams","request","Logger","log","LogLevel","DEBUG","method","headers","body","toString","then","hasStatusOrThrow","IssuerResponseError","res","json","parse","result"],"sourceRoot":"../../../src","sources":["utils/par.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_ioReactNativeJwt","require","_uuid","z","_interopRequireWildcard","WalletInstanceAttestation","_misc","_pop","_errors","_logging","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AuthorizationDetail","union","object","type","literal","credential_configuration_id","string","idphinting","challenge_method","challenge_redirect_uri","exports","AuthorizationDetails","array","ParResponse","request_uri","expires_in","number","makeParRequest","_ref","wiaCryptoContext","appFetch","parEndpoint","walletInstanceAttestation","_ref2","codeVerifier","responseMode","clientId","redirectUri","authorizationDetails","scope","aud","wiaPublicKey","getPublicKey","iss","decode","payload","cnf","jwk","kid","signedWiaPoP","createPopToken","jti","uuidv4","codeChallengeMethod","codeChallenge","sha256ToBase64","signedJwtForPar","SignJWT","setProtectedHeader","typ","setPayload","response_type","response_mode","client_id","state","generateRandomAlphaNumericString","code_challenge","code_challenge_method","redirect_uri","authorization_details","setIssuedAt","setExpirationTime","sign","formBody","URLSearchParams","request","Logger","log","LogLevel","DEBUG","method","headers","body","toString","then","hasStatusOrThrow","IssuerResponseError","res","json","parse","result"],"sourceRoot":"../../../src","sources":["utils/par.ts"],"mappings":"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"}