@pagopa/io-react-native-wallet 3.1.2 → 3.3.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 (360) hide show
  1. package/lib/commonjs/credential/issuance/README.md +44 -17
  2. package/lib/commonjs/credential/issuance/common/02-start-user-authorization.js +4 -3
  3. package/lib/commonjs/credential/issuance/common/02-start-user-authorization.js.map +1 -1
  4. package/lib/commonjs/credential/issuance/common/06-verify-and-parse-credential.sdjwt.js +37 -8
  5. package/lib/commonjs/credential/issuance/common/06-verify-and-parse-credential.sdjwt.js.map +1 -1
  6. package/lib/commonjs/credential/issuance/mrtd-pop/02-init-challenge.js +46 -38
  7. package/lib/commonjs/credential/issuance/mrtd-pop/02-init-challenge.js.map +1 -1
  8. package/lib/commonjs/credential/issuance/mrtd-pop/03-validate-challenge.js +58 -51
  9. package/lib/commonjs/credential/issuance/mrtd-pop/03-validate-challenge.js.map +1 -1
  10. package/lib/commonjs/credential/issuance/mrtd-pop/index.js +21 -5
  11. package/lib/commonjs/credential/issuance/mrtd-pop/index.js.map +1 -1
  12. package/lib/commonjs/credential/issuance/v1.0.0/02-start-user-authorization.js +3 -3
  13. package/lib/commonjs/credential/issuance/v1.0.0/02-start-user-authorization.js.map +1 -1
  14. package/lib/commonjs/credential/issuance/v1.0.0/03-complete-user-authorization.js +5 -2
  15. package/lib/commonjs/credential/issuance/v1.0.0/03-complete-user-authorization.js.map +1 -1
  16. package/lib/commonjs/credential/issuance/v1.0.0/05-obtain-credential.js +5 -1
  17. package/lib/commonjs/credential/issuance/v1.0.0/05-obtain-credential.js.map +1 -1
  18. package/lib/commonjs/credential/issuance/v1.0.0/index.js +2 -1
  19. package/lib/commonjs/credential/issuance/v1.0.0/index.js.map +1 -1
  20. package/lib/commonjs/credential/issuance/v1.0.0/mappers.js +1 -1
  21. package/lib/commonjs/credential/issuance/v1.0.0/mappers.js.map +1 -1
  22. package/lib/commonjs/credential/issuance/v1.3.3/01-evaluate-issuer-trust.js +0 -2
  23. package/lib/commonjs/credential/issuance/v1.3.3/01-evaluate-issuer-trust.js.map +1 -1
  24. package/lib/commonjs/credential/issuance/v1.3.3/02-start-user-authorization.js +20 -16
  25. package/lib/commonjs/credential/issuance/v1.3.3/02-start-user-authorization.js.map +1 -1
  26. package/lib/commonjs/credential/issuance/v1.3.3/03-complete-user-authorization.js +1 -1
  27. package/lib/commonjs/credential/issuance/v1.3.3/03-complete-user-authorization.js.map +1 -1
  28. package/lib/commonjs/credential/issuance/v1.3.3/04-authorize-access.js +20 -19
  29. package/lib/commonjs/credential/issuance/v1.3.3/04-authorize-access.js.map +1 -1
  30. package/lib/commonjs/credential/issuance/v1.3.3/05-obtain-credential.js +150 -57
  31. package/lib/commonjs/credential/issuance/v1.3.3/05-obtain-credential.js.map +1 -1
  32. package/lib/commonjs/credential/issuance/v1.3.3/06-verify-and-parse-credential.js +4 -1
  33. package/lib/commonjs/credential/issuance/v1.3.3/06-verify-and-parse-credential.js.map +1 -1
  34. package/lib/commonjs/credential/issuance/v1.3.3/index.js +2 -1
  35. package/lib/commonjs/credential/issuance/v1.3.3/index.js.map +1 -1
  36. package/lib/commonjs/credential/issuance/v1.3.3/mappers.js +1 -1
  37. package/lib/commonjs/credential/issuance/v1.3.3/mappers.js.map +1 -1
  38. package/lib/commonjs/credential/presentation/api/types.js.map +1 -1
  39. package/lib/commonjs/credential/presentation/{v1.3.3/utils.mdoc.js → common/utils/mdoc.js} +2 -2
  40. package/lib/commonjs/credential/presentation/common/utils/mdoc.js.map +1 -0
  41. package/lib/commonjs/credential/presentation/v1.0.0/05-verify-request-object.js +18 -12
  42. package/lib/commonjs/credential/presentation/v1.0.0/05-verify-request-object.js.map +1 -1
  43. package/lib/commonjs/credential/presentation/v1.0.0/07-send-authorization-response.js +3 -0
  44. package/lib/commonjs/credential/presentation/v1.0.0/07-send-authorization-response.js.map +1 -1
  45. package/lib/commonjs/credential/presentation/v1.0.0/index.js +0 -2
  46. package/lib/commonjs/credential/presentation/v1.0.0/index.js.map +1 -1
  47. package/lib/commonjs/credential/presentation/v1.0.0/mappers.js +23 -13
  48. package/lib/commonjs/credential/presentation/v1.0.0/mappers.js.map +1 -1
  49. package/lib/commonjs/credential/presentation/v1.0.0/types.js +25 -17
  50. package/lib/commonjs/credential/presentation/v1.0.0/types.js.map +1 -1
  51. package/lib/commonjs/credential/presentation/v1.3.3/05-verify-request-object.js +29 -6
  52. package/lib/commonjs/credential/presentation/v1.3.3/05-verify-request-object.js.map +1 -1
  53. package/lib/commonjs/credential/presentation/v1.3.3/06-evaluate-dcql-query.js +2 -2
  54. package/lib/commonjs/credential/presentation/v1.3.3/06-evaluate-dcql-query.js.map +1 -1
  55. package/lib/commonjs/credential/presentation/v1.3.3/07-send-authorization-response.js +9 -6
  56. package/lib/commonjs/credential/presentation/v1.3.3/07-send-authorization-response.js.map +1 -1
  57. package/lib/commonjs/credential/presentation/v1.3.3/mappers.js +25 -13
  58. package/lib/commonjs/credential/presentation/v1.3.3/mappers.js.map +1 -1
  59. package/lib/commonjs/credential/presentation/v1.3.3/types.js +6 -3
  60. package/lib/commonjs/credential/presentation/v1.3.3/types.js.map +1 -1
  61. package/lib/commonjs/credential/status/README.md +3 -2
  62. package/lib/commonjs/credential/status/v1.3.3/01-status-list.js +27 -5
  63. package/lib/commonjs/credential/status/v1.3.3/01-status-list.js.map +1 -1
  64. package/lib/commonjs/credential/status/v1.3.3/02-verify-and-parse-status-list.js +17 -6
  65. package/lib/commonjs/credential/status/v1.3.3/02-verify-and-parse-status-list.js.map +1 -1
  66. package/lib/commonjs/credentials-catalogue/api/DigitalCredentialsCatalogue.js +26 -1
  67. package/lib/commonjs/credentials-catalogue/api/DigitalCredentialsCatalogue.js.map +1 -1
  68. package/lib/commonjs/credentials-catalogue/v1.3.3/fetch-and-parse-catalogue.js +4 -0
  69. package/lib/commonjs/credentials-catalogue/v1.3.3/fetch-and-parse-catalogue.js.map +1 -1
  70. package/lib/commonjs/credentials-catalogue/v1.3.3/fetch-translations.js +5 -3
  71. package/lib/commonjs/credentials-catalogue/v1.3.3/fetch-translations.js.map +1 -1
  72. package/lib/commonjs/credentials-catalogue/v1.3.3/mappers.js +9 -1
  73. package/lib/commonjs/credentials-catalogue/v1.3.3/mappers.js.map +1 -1
  74. package/lib/commonjs/credentials-catalogue/v1.3.3/types.js +49 -1
  75. package/lib/commonjs/credentials-catalogue/v1.3.3/types.js.map +1 -1
  76. package/lib/commonjs/mdoc/index.js +3 -24
  77. package/lib/commonjs/mdoc/index.js.map +1 -1
  78. package/lib/commonjs/sd-jwt/__test__/types.test.js +2 -14
  79. package/lib/commonjs/sd-jwt/__test__/types.test.js.map +1 -1
  80. package/lib/commonjs/sd-jwt/__test__/utils.test.js +0 -12
  81. package/lib/commonjs/sd-jwt/__test__/utils.test.js.map +1 -1
  82. package/lib/commonjs/sd-jwt/types.js +1 -14
  83. package/lib/commonjs/sd-jwt/types.js.map +1 -1
  84. package/lib/commonjs/utils/callbacks.js +45 -7
  85. package/lib/commonjs/utils/callbacks.js.map +1 -1
  86. package/lib/commonjs/utils/crypto.js +58 -5
  87. package/lib/commonjs/utils/crypto.js.map +1 -1
  88. package/lib/commonjs/utils/x509.js +34 -0
  89. package/lib/commonjs/utils/x509.js.map +1 -0
  90. package/lib/commonjs/wallet-instance-attestation/api/types.js +0 -2
  91. package/lib/commonjs/wallet-instance-attestation/api/types.js.map +1 -1
  92. package/lib/commonjs/wallet-instance-attestation/v1.3.3/mappers.js +1 -14
  93. package/lib/commonjs/wallet-instance-attestation/v1.3.3/mappers.js.map +1 -1
  94. package/lib/commonjs/wallet-instance-attestation/v1.3.3/types.js +2 -7
  95. package/lib/commonjs/wallet-instance-attestation/v1.3.3/types.js.map +1 -1
  96. package/lib/commonjs/wallet-unit-attestation/api/types.js +0 -11
  97. package/lib/commonjs/wallet-unit-attestation/api/types.js.map +1 -1
  98. package/lib/module/credential/issuance/README.md +44 -17
  99. package/lib/module/credential/issuance/common/02-start-user-authorization.js +4 -3
  100. package/lib/module/credential/issuance/common/02-start-user-authorization.js.map +1 -1
  101. package/lib/module/credential/issuance/common/06-verify-and-parse-credential.sdjwt.js +39 -10
  102. package/lib/module/credential/issuance/common/06-verify-and-parse-credential.sdjwt.js.map +1 -1
  103. package/lib/module/credential/issuance/mrtd-pop/02-init-challenge.js +47 -34
  104. package/lib/module/credential/issuance/mrtd-pop/02-init-challenge.js.map +1 -1
  105. package/lib/module/credential/issuance/mrtd-pop/03-validate-challenge.js +58 -47
  106. package/lib/module/credential/issuance/mrtd-pop/03-validate-challenge.js.map +1 -1
  107. package/lib/module/credential/issuance/mrtd-pop/index.js +20 -5
  108. package/lib/module/credential/issuance/mrtd-pop/index.js.map +1 -1
  109. package/lib/module/credential/issuance/v1.0.0/02-start-user-authorization.js +1 -1
  110. package/lib/module/credential/issuance/v1.0.0/02-start-user-authorization.js.map +1 -1
  111. package/lib/module/credential/issuance/v1.0.0/03-complete-user-authorization.js +6 -3
  112. package/lib/module/credential/issuance/v1.0.0/03-complete-user-authorization.js.map +1 -1
  113. package/lib/module/credential/issuance/v1.0.0/05-obtain-credential.js +4 -1
  114. package/lib/module/credential/issuance/v1.0.0/05-obtain-credential.js.map +1 -1
  115. package/lib/module/credential/issuance/v1.0.0/index.js +4 -3
  116. package/lib/module/credential/issuance/v1.0.0/index.js.map +1 -1
  117. package/lib/module/credential/issuance/v1.0.0/mappers.js +1 -1
  118. package/lib/module/credential/issuance/v1.0.0/mappers.js.map +1 -1
  119. package/lib/module/credential/issuance/v1.3.3/01-evaluate-issuer-trust.js +0 -2
  120. package/lib/module/credential/issuance/v1.3.3/01-evaluate-issuer-trust.js.map +1 -1
  121. package/lib/module/credential/issuance/v1.3.3/02-start-user-authorization.js +20 -16
  122. package/lib/module/credential/issuance/v1.3.3/02-start-user-authorization.js.map +1 -1
  123. package/lib/module/credential/issuance/v1.3.3/03-complete-user-authorization.js +1 -1
  124. package/lib/module/credential/issuance/v1.3.3/03-complete-user-authorization.js.map +1 -1
  125. package/lib/module/credential/issuance/v1.3.3/04-authorize-access.js +22 -19
  126. package/lib/module/credential/issuance/v1.3.3/04-authorize-access.js.map +1 -1
  127. package/lib/module/credential/issuance/v1.3.3/05-obtain-credential.js +147 -55
  128. package/lib/module/credential/issuance/v1.3.3/05-obtain-credential.js.map +1 -1
  129. package/lib/module/credential/issuance/v1.3.3/06-verify-and-parse-credential.js +4 -1
  130. package/lib/module/credential/issuance/v1.3.3/06-verify-and-parse-credential.js.map +1 -1
  131. package/lib/module/credential/issuance/v1.3.3/index.js +4 -3
  132. package/lib/module/credential/issuance/v1.3.3/index.js.map +1 -1
  133. package/lib/module/credential/issuance/v1.3.3/mappers.js +1 -1
  134. package/lib/module/credential/issuance/v1.3.3/mappers.js.map +1 -1
  135. package/lib/module/credential/presentation/api/types.js.map +1 -1
  136. package/lib/module/credential/presentation/{v1.3.3/utils.mdoc.js → common/utils/mdoc.js} +2 -2
  137. package/lib/module/credential/presentation/common/utils/mdoc.js.map +1 -0
  138. package/lib/module/credential/presentation/v1.0.0/05-verify-request-object.js +13 -7
  139. package/lib/module/credential/presentation/v1.0.0/05-verify-request-object.js.map +1 -1
  140. package/lib/module/credential/presentation/v1.0.0/07-send-authorization-response.js +4 -1
  141. package/lib/module/credential/presentation/v1.0.0/07-send-authorization-response.js.map +1 -1
  142. package/lib/module/credential/presentation/v1.0.0/index.js +0 -2
  143. package/lib/module/credential/presentation/v1.0.0/index.js.map +1 -1
  144. package/lib/module/credential/presentation/v1.0.0/mappers.js +23 -13
  145. package/lib/module/credential/presentation/v1.0.0/mappers.js.map +1 -1
  146. package/lib/module/credential/presentation/v1.0.0/types.js +23 -15
  147. package/lib/module/credential/presentation/v1.0.0/types.js.map +1 -1
  148. package/lib/module/credential/presentation/v1.3.3/05-verify-request-object.js +28 -6
  149. package/lib/module/credential/presentation/v1.3.3/05-verify-request-object.js.map +1 -1
  150. package/lib/module/credential/presentation/v1.3.3/06-evaluate-dcql-query.js +2 -3
  151. package/lib/module/credential/presentation/v1.3.3/06-evaluate-dcql-query.js.map +1 -1
  152. package/lib/module/credential/presentation/v1.3.3/07-send-authorization-response.js +9 -6
  153. package/lib/module/credential/presentation/v1.3.3/07-send-authorization-response.js.map +1 -1
  154. package/lib/module/credential/presentation/v1.3.3/mappers.js +25 -13
  155. package/lib/module/credential/presentation/v1.3.3/mappers.js.map +1 -1
  156. package/lib/module/credential/presentation/v1.3.3/types.js +5 -2
  157. package/lib/module/credential/presentation/v1.3.3/types.js.map +1 -1
  158. package/lib/module/credential/status/README.md +3 -2
  159. package/lib/module/credential/status/v1.3.3/01-status-list.js +27 -5
  160. package/lib/module/credential/status/v1.3.3/01-status-list.js.map +1 -1
  161. package/lib/module/credential/status/v1.3.3/02-verify-and-parse-status-list.js +17 -6
  162. package/lib/module/credential/status/v1.3.3/02-verify-and-parse-status-list.js.map +1 -1
  163. package/lib/module/credentials-catalogue/api/DigitalCredentialsCatalogue.js +24 -0
  164. package/lib/module/credentials-catalogue/api/DigitalCredentialsCatalogue.js.map +1 -1
  165. package/lib/module/credentials-catalogue/v1.3.3/fetch-and-parse-catalogue.js +5 -1
  166. package/lib/module/credentials-catalogue/v1.3.3/fetch-and-parse-catalogue.js.map +1 -1
  167. package/lib/module/credentials-catalogue/v1.3.3/fetch-translations.js +5 -3
  168. package/lib/module/credentials-catalogue/v1.3.3/fetch-translations.js.map +1 -1
  169. package/lib/module/credentials-catalogue/v1.3.3/mappers.js +9 -1
  170. package/lib/module/credentials-catalogue/v1.3.3/mappers.js.map +1 -1
  171. package/lib/module/credentials-catalogue/v1.3.3/types.js +47 -0
  172. package/lib/module/credentials-catalogue/v1.3.3/types.js.map +1 -1
  173. package/lib/module/mdoc/index.js +3 -24
  174. package/lib/module/mdoc/index.js.map +1 -1
  175. package/lib/module/sd-jwt/__test__/types.test.js +2 -14
  176. package/lib/module/sd-jwt/__test__/types.test.js.map +1 -1
  177. package/lib/module/sd-jwt/__test__/utils.test.js +0 -12
  178. package/lib/module/sd-jwt/__test__/utils.test.js.map +1 -1
  179. package/lib/module/sd-jwt/types.js +1 -14
  180. package/lib/module/sd-jwt/types.js.map +1 -1
  181. package/lib/module/utils/callbacks.js +45 -8
  182. package/lib/module/utils/callbacks.js.map +1 -1
  183. package/lib/module/utils/crypto.js +57 -6
  184. package/lib/module/utils/crypto.js.map +1 -1
  185. package/lib/module/utils/x509.js +28 -0
  186. package/lib/module/utils/x509.js.map +1 -0
  187. package/lib/module/wallet-instance-attestation/api/types.js +0 -2
  188. package/lib/module/wallet-instance-attestation/api/types.js.map +1 -1
  189. package/lib/module/wallet-instance-attestation/v1.3.3/mappers.js +1 -14
  190. package/lib/module/wallet-instance-attestation/v1.3.3/mappers.js.map +1 -1
  191. package/lib/module/wallet-instance-attestation/v1.3.3/types.js +2 -7
  192. package/lib/module/wallet-instance-attestation/v1.3.3/types.js.map +1 -1
  193. package/lib/module/wallet-unit-attestation/api/types.js +0 -11
  194. package/lib/module/wallet-unit-attestation/api/types.js.map +1 -1
  195. package/lib/typescript/credential/issuance/api/05-obtain-credential.d.ts +20 -0
  196. package/lib/typescript/credential/issuance/api/05-obtain-credential.d.ts.map +1 -1
  197. package/lib/typescript/credential/issuance/api/06-verify-and-parse-credential.d.ts +4 -0
  198. package/lib/typescript/credential/issuance/api/06-verify-and-parse-credential.d.ts.map +1 -1
  199. package/lib/typescript/credential/issuance/common/02-start-user-authorization.d.ts.map +1 -1
  200. package/lib/typescript/credential/issuance/common/06-verify-and-parse-credential.sdjwt.d.ts.map +1 -1
  201. package/lib/typescript/credential/issuance/mrtd-pop/02-init-challenge.d.ts +12 -1
  202. package/lib/typescript/credential/issuance/mrtd-pop/02-init-challenge.d.ts.map +1 -1
  203. package/lib/typescript/credential/issuance/mrtd-pop/03-validate-challenge.d.ts +12 -1
  204. package/lib/typescript/credential/issuance/mrtd-pop/03-validate-challenge.d.ts.map +1 -1
  205. package/lib/typescript/credential/issuance/mrtd-pop/index.d.ts +2 -1
  206. package/lib/typescript/credential/issuance/mrtd-pop/index.d.ts.map +1 -1
  207. package/lib/typescript/credential/issuance/v1.0.0/03-complete-user-authorization.d.ts.map +1 -1
  208. package/lib/typescript/credential/issuance/v1.0.0/05-obtain-credential.d.ts +1 -0
  209. package/lib/typescript/credential/issuance/v1.0.0/05-obtain-credential.d.ts.map +1 -1
  210. package/lib/typescript/credential/issuance/v1.0.0/index.d.ts.map +1 -1
  211. package/lib/typescript/credential/issuance/v1.0.0/mappers.d.ts.map +1 -1
  212. package/lib/typescript/credential/issuance/v1.3.3/01-evaluate-issuer-trust.d.ts.map +1 -1
  213. package/lib/typescript/credential/issuance/v1.3.3/02-start-user-authorization.d.ts.map +1 -1
  214. package/lib/typescript/credential/issuance/v1.3.3/04-authorize-access.d.ts.map +1 -1
  215. package/lib/typescript/credential/issuance/v1.3.3/05-obtain-credential.d.ts +23 -2
  216. package/lib/typescript/credential/issuance/v1.3.3/05-obtain-credential.d.ts.map +1 -1
  217. package/lib/typescript/credential/issuance/v1.3.3/06-verify-and-parse-credential.d.ts.map +1 -1
  218. package/lib/typescript/credential/issuance/v1.3.3/index.d.ts.map +1 -1
  219. package/lib/typescript/credential/issuance/v1.3.3/mappers.d.ts.map +1 -1
  220. package/lib/typescript/credential/presentation/api/04-verify-certificate-chain.d.ts +9 -2
  221. package/lib/typescript/credential/presentation/api/04-verify-certificate-chain.d.ts.map +1 -1
  222. package/lib/typescript/credential/presentation/api/05-verify-request-object.d.ts +2 -2
  223. package/lib/typescript/credential/presentation/api/05-verify-request-object.d.ts.map +1 -1
  224. package/lib/typescript/credential/presentation/api/07-send-authorization-response.d.ts +2 -2
  225. package/lib/typescript/credential/presentation/api/07-send-authorization-response.d.ts.map +1 -1
  226. package/lib/typescript/credential/presentation/api/types.d.ts +18 -0
  227. package/lib/typescript/credential/presentation/api/types.d.ts.map +1 -1
  228. package/lib/typescript/credential/presentation/{v1.3.3/utils.mdoc.d.ts → common/utils/mdoc.d.ts} +2 -2
  229. package/lib/typescript/credential/presentation/common/utils/mdoc.d.ts.map +1 -0
  230. package/lib/typescript/credential/presentation/v1.0.0/05-verify-request-object.d.ts.map +1 -1
  231. package/lib/typescript/credential/presentation/v1.0.0/07-send-authorization-response.d.ts.map +1 -1
  232. package/lib/typescript/credential/presentation/v1.0.0/index.d.ts.map +1 -1
  233. package/lib/typescript/credential/presentation/v1.0.0/mappers.d.ts +21 -13
  234. package/lib/typescript/credential/presentation/v1.0.0/mappers.d.ts.map +1 -1
  235. package/lib/typescript/credential/presentation/v1.0.0/types.d.ts +23 -15
  236. package/lib/typescript/credential/presentation/v1.0.0/types.d.ts.map +1 -1
  237. package/lib/typescript/credential/presentation/v1.3.3/05-verify-request-object.d.ts.map +1 -1
  238. package/lib/typescript/credential/presentation/v1.3.3/06-evaluate-dcql-query.d.ts.map +1 -1
  239. package/lib/typescript/credential/presentation/v1.3.3/07-send-authorization-response.d.ts.map +1 -1
  240. package/lib/typescript/credential/presentation/v1.3.3/mappers.d.ts +89 -79
  241. package/lib/typescript/credential/presentation/v1.3.3/mappers.d.ts.map +1 -1
  242. package/lib/typescript/credential/presentation/v1.3.3/types.d.ts +87 -79
  243. package/lib/typescript/credential/presentation/v1.3.3/types.d.ts.map +1 -1
  244. package/lib/typescript/credential/status/api/status-list.d.ts +8 -4
  245. package/lib/typescript/credential/status/api/status-list.d.ts.map +1 -1
  246. package/lib/typescript/credential/status/v1.3.3/01-status-list.d.ts.map +1 -1
  247. package/lib/typescript/credential/status/v1.3.3/02-verify-and-parse-status-list.d.ts.map +1 -1
  248. package/lib/typescript/credentials-catalogue/api/DigitalCredentialsCatalogue.d.ts +73 -0
  249. package/lib/typescript/credentials-catalogue/api/DigitalCredentialsCatalogue.d.ts.map +1 -1
  250. package/lib/typescript/credentials-catalogue/api/index.d.ts +6 -5
  251. package/lib/typescript/credentials-catalogue/api/index.d.ts.map +1 -1
  252. package/lib/typescript/credentials-catalogue/v1.0.0/mappers.d.ts +25 -0
  253. package/lib/typescript/credentials-catalogue/v1.0.0/mappers.d.ts.map +1 -1
  254. package/lib/typescript/credentials-catalogue/v1.3.3/fetch-and-parse-catalogue.d.ts.map +1 -1
  255. package/lib/typescript/credentials-catalogue/v1.3.3/fetch-translations.d.ts.map +1 -1
  256. package/lib/typescript/credentials-catalogue/v1.3.3/mappers.d.ts +51 -0
  257. package/lib/typescript/credentials-catalogue/v1.3.3/mappers.d.ts.map +1 -1
  258. package/lib/typescript/credentials-catalogue/v1.3.3/types.d.ts +33 -0
  259. package/lib/typescript/credentials-catalogue/v1.3.3/types.d.ts.map +1 -1
  260. package/lib/typescript/mdoc/index.d.ts +1 -1
  261. package/lib/typescript/mdoc/index.d.ts.map +1 -1
  262. package/lib/typescript/mdoc/utils.d.ts +0 -24
  263. package/lib/typescript/mdoc/utils.d.ts.map +1 -1
  264. package/lib/typescript/sd-jwt/types.d.ts +0 -12
  265. package/lib/typescript/sd-jwt/types.d.ts.map +1 -1
  266. package/lib/typescript/utils/callbacks.d.ts +7 -0
  267. package/lib/typescript/utils/callbacks.d.ts.map +1 -1
  268. package/lib/typescript/utils/crypto.d.ts +32 -15
  269. package/lib/typescript/utils/crypto.d.ts.map +1 -1
  270. package/lib/typescript/utils/x509.d.ts +10 -0
  271. package/lib/typescript/utils/x509.d.ts.map +1 -0
  272. package/lib/typescript/wallet-instance-attestation/api/types.d.ts +0 -2
  273. package/lib/typescript/wallet-instance-attestation/api/types.d.ts.map +1 -1
  274. package/lib/typescript/wallet-instance-attestation/v1.0.0/mappers.d.ts +0 -2
  275. package/lib/typescript/wallet-instance-attestation/v1.0.0/mappers.d.ts.map +1 -1
  276. package/lib/typescript/wallet-instance-attestation/v1.3.3/mappers.d.ts +2 -9
  277. package/lib/typescript/wallet-instance-attestation/v1.3.3/mappers.d.ts.map +1 -1
  278. package/lib/typescript/wallet-instance-attestation/v1.3.3/types.d.ts +2 -7
  279. package/lib/typescript/wallet-instance-attestation/v1.3.3/types.d.ts.map +1 -1
  280. package/lib/typescript/wallet-unit-attestation/api/types.d.ts +0 -11
  281. package/lib/typescript/wallet-unit-attestation/api/types.d.ts.map +1 -1
  282. package/lib/typescript/wallet-unit-attestation/v1.3.3/mappers.d.ts +0 -22
  283. package/lib/typescript/wallet-unit-attestation/v1.3.3/mappers.d.ts.map +1 -1
  284. package/lib/typescript/wallet-unit-attestation/v1.3.3/types.d.ts +0 -11
  285. package/lib/typescript/wallet-unit-attestation/v1.3.3/types.d.ts.map +1 -1
  286. package/package.json +6 -6
  287. package/src/credential/issuance/README.md +44 -17
  288. package/src/credential/issuance/api/05-obtain-credential.ts +24 -0
  289. package/src/credential/issuance/api/06-verify-and-parse-credential.ts +4 -0
  290. package/src/credential/issuance/common/02-start-user-authorization.ts +6 -3
  291. package/src/credential/issuance/common/06-verify-and-parse-credential.sdjwt.ts +42 -9
  292. package/src/credential/issuance/mrtd-pop/02-init-challenge.ts +69 -45
  293. package/src/credential/issuance/mrtd-pop/03-validate-challenge.ts +84 -62
  294. package/src/credential/issuance/mrtd-pop/index.ts +13 -5
  295. package/src/credential/issuance/v1.0.0/02-start-user-authorization.ts +1 -1
  296. package/src/credential/issuance/v1.0.0/03-complete-user-authorization.ts +8 -3
  297. package/src/credential/issuance/v1.0.0/05-obtain-credential.ts +6 -0
  298. package/src/credential/issuance/v1.0.0/index.ts +7 -3
  299. package/src/credential/issuance/v1.0.0/mappers.ts +4 -1
  300. package/src/credential/issuance/v1.3.3/01-evaluate-issuer-trust.ts +0 -2
  301. package/src/credential/issuance/v1.3.3/02-start-user-authorization.ts +24 -20
  302. package/src/credential/issuance/v1.3.3/03-complete-user-authorization.ts +1 -1
  303. package/src/credential/issuance/v1.3.3/04-authorize-access.ts +28 -23
  304. package/src/credential/issuance/v1.3.3/05-obtain-credential.ts +182 -87
  305. package/src/credential/issuance/v1.3.3/06-verify-and-parse-credential.ts +2 -1
  306. package/src/credential/issuance/v1.3.3/index.ts +7 -3
  307. package/src/credential/issuance/v1.3.3/mappers.ts +4 -1
  308. package/src/credential/presentation/api/04-verify-certificate-chain.ts +9 -2
  309. package/src/credential/presentation/api/05-verify-request-object.ts +2 -2
  310. package/src/credential/presentation/api/07-send-authorization-response.ts +2 -2
  311. package/src/credential/presentation/api/types.ts +16 -0
  312. package/src/credential/presentation/{v1.3.3/utils.mdoc.ts → common/utils/mdoc.ts} +2 -2
  313. package/src/credential/presentation/v1.0.0/05-verify-request-object.ts +21 -10
  314. package/src/credential/presentation/v1.0.0/07-send-authorization-response.ts +7 -0
  315. package/src/credential/presentation/v1.0.0/index.ts +0 -2
  316. package/src/credential/presentation/v1.0.0/mappers.ts +17 -17
  317. package/src/credential/presentation/v1.0.0/types.ts +23 -15
  318. package/src/credential/presentation/v1.3.3/05-verify-request-object.ts +63 -10
  319. package/src/credential/presentation/v1.3.3/06-evaluate-dcql-query.ts +3 -3
  320. package/src/credential/presentation/v1.3.3/07-send-authorization-response.ts +13 -4
  321. package/src/credential/presentation/v1.3.3/mappers.ts +19 -17
  322. package/src/credential/presentation/v1.3.3/types.ts +9 -3
  323. package/src/credential/status/README.md +3 -2
  324. package/src/credential/status/api/status-list.ts +10 -7
  325. package/src/credential/status/v1.3.3/01-status-list.ts +21 -7
  326. package/src/credential/status/v1.3.3/02-verify-and-parse-status-list.ts +19 -5
  327. package/src/credentials-catalogue/api/DigitalCredentialsCatalogue.ts +32 -0
  328. package/src/credentials-catalogue/api/index.ts +6 -3
  329. package/src/credentials-catalogue/v1.3.3/fetch-and-parse-catalogue.ts +6 -0
  330. package/src/credentials-catalogue/v1.3.3/fetch-translations.ts +6 -3
  331. package/src/credentials-catalogue/v1.3.3/mappers.ts +17 -1
  332. package/src/credentials-catalogue/v1.3.3/types.ts +51 -0
  333. package/src/mdoc/index.ts +5 -41
  334. package/src/sd-jwt/__test__/types.test.ts +1 -13
  335. package/src/sd-jwt/__test__/utils.test.ts +0 -12
  336. package/src/sd-jwt/types.ts +0 -13
  337. package/src/utils/callbacks.ts +57 -9
  338. package/src/utils/crypto.ts +86 -15
  339. package/src/utils/x509.ts +43 -0
  340. package/src/wallet-instance-attestation/api/types.ts +0 -2
  341. package/src/wallet-instance-attestation/v1.3.3/mappers.ts +3 -11
  342. package/src/wallet-instance-attestation/v1.3.3/types.ts +2 -7
  343. package/src/wallet-unit-attestation/api/types.ts +0 -11
  344. package/lib/commonjs/credential/issuance/common/authorization.js +0 -56
  345. package/lib/commonjs/credential/issuance/common/authorization.js.map +0 -1
  346. package/lib/commonjs/credential/presentation/v1.0.0/04-verify-certificate-chain.js +0 -12
  347. package/lib/commonjs/credential/presentation/v1.0.0/04-verify-certificate-chain.js.map +0 -1
  348. package/lib/commonjs/credential/presentation/v1.3.3/utils.mdoc.js.map +0 -1
  349. package/lib/module/credential/issuance/common/authorization.js +0 -48
  350. package/lib/module/credential/issuance/common/authorization.js.map +0 -1
  351. package/lib/module/credential/presentation/v1.0.0/04-verify-certificate-chain.js +0 -5
  352. package/lib/module/credential/presentation/v1.0.0/04-verify-certificate-chain.js.map +0 -1
  353. package/lib/module/credential/presentation/v1.3.3/utils.mdoc.js.map +0 -1
  354. package/lib/typescript/credential/issuance/common/authorization.d.ts +0 -21
  355. package/lib/typescript/credential/issuance/common/authorization.d.ts.map +0 -1
  356. package/lib/typescript/credential/presentation/v1.0.0/04-verify-certificate-chain.d.ts +0 -3
  357. package/lib/typescript/credential/presentation/v1.0.0/04-verify-certificate-chain.d.ts.map +0 -1
  358. package/lib/typescript/credential/presentation/v1.3.3/utils.mdoc.d.ts.map +0 -1
  359. package/src/credential/issuance/common/authorization.ts +0 -89
  360. package/src/credential/presentation/v1.0.0/04-verify-certificate-chain.ts +0 -10
@@ -1,6 +1,7 @@
1
1
  import { decode as decodeJwt, verify } from "@pagopa/io-react-native-jwt";
2
+ import { IoWalletError } from "../../../utils/errors";
2
3
  import { InvalidRequestObjectError } from "../common/errors";
3
- import { RequestObjectPayload } from "./types";
4
+ import { RawRequestObject } from "./types";
4
5
  import { mapToRequestObject } from "./mappers";
5
6
  import { getJwksFromRpConfig } from "./utils.jwks";
6
7
  export const verifyRequestObject = async (requestObjectEncodedJwt, _ref) => {
@@ -9,6 +10,9 @@ export const verifyRequestObject = async (requestObjectEncodedJwt, _ref) => {
9
10
  rpConf,
10
11
  state
11
12
  } = _ref;
13
+ if (!rpConf) {
14
+ throw new IoWalletError("Relying Party Configuration is required for OpenID Federation clients");
15
+ }
12
16
  const requestObjectJwt = decodeJwt(requestObjectEncodedJwt);
13
17
  const pubKey = getSigPublicKey(rpConf, requestObjectJwt.protectedHeader.kid);
14
18
  try {
@@ -19,17 +23,19 @@ export const verifyRequestObject = async (requestObjectEncodedJwt, _ref) => {
19
23
  } catch (_) {
20
24
  throw new InvalidRequestObjectError("The Request Object signature verification failed");
21
25
  }
22
- const requestObject = validateRequestObjectShape(requestObjectJwt.payload);
23
- const isClientIdMatch = clientId === requestObject.client_id && clientId === rpConf.subject;
26
+ const rawRequestObject = validateRequestObjectShape({
27
+ header: requestObjectJwt.protectedHeader,
28
+ payload: requestObjectJwt.payload
29
+ });
30
+ const isClientIdMatch = clientId === rawRequestObject.payload.client_id && clientId === rpConf.subject;
24
31
  if (!isClientIdMatch) {
25
32
  throw new InvalidRequestObjectError("Client ID does not match Request Object or Entity Configuration");
26
33
  }
27
- const isStateMatch = state ? state === requestObject.state : true;
28
- if (!isStateMatch) {
34
+ if (state && state !== rawRequestObject.payload.state) {
29
35
  throw new InvalidRequestObjectError("The provided state does not match the Request Object's");
30
36
  }
31
37
  return {
32
- requestObject: mapToRequestObject(requestObject)
38
+ requestObject: mapToRequestObject(rawRequestObject)
33
39
  };
34
40
  };
35
41
 
@@ -41,7 +47,7 @@ export const verifyRequestObject = async (requestObjectEncodedJwt, _ref) => {
41
47
  * @throws {InvalidRequestObjectError} when the Request Object cannot be parsed
42
48
  */
43
49
  const validateRequestObjectShape = payload => {
44
- const requestObjectParse = RequestObjectPayload.safeParse(payload);
50
+ const requestObjectParse = RawRequestObject.safeParse(payload);
45
51
  if (requestObjectParse.success) {
46
52
  return requestObjectParse.data;
47
53
  }
@@ -1 +1 @@
1
- {"version":3,"names":["decode","decodeJwt","verify","InvalidRequestObjectError","RequestObjectPayload","mapToRequestObject","getJwksFromRpConfig","verifyRequestObject","requestObjectEncodedJwt","_ref","clientId","rpConf","state","requestObjectJwt","pubKey","getSigPublicKey","protectedHeader","kid","issuer","_","requestObject","validateRequestObjectShape","payload","isClientIdMatch","client_id","subject","isStateMatch","requestObjectParse","safeParse","success","data","formatFlattenedZodErrors","error","flatten","keys","find","k","Error","errors","Object","entries","fieldErrors","map","_ref2","key","join"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.0.0/05-verify-request-object.ts"],"mappings":"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"}
1
+ {"version":3,"names":["decode","decodeJwt","verify","IoWalletError","InvalidRequestObjectError","RawRequestObject","mapToRequestObject","getJwksFromRpConfig","verifyRequestObject","requestObjectEncodedJwt","_ref","clientId","rpConf","state","requestObjectJwt","pubKey","getSigPublicKey","protectedHeader","kid","issuer","_","rawRequestObject","validateRequestObjectShape","header","payload","isClientIdMatch","client_id","subject","requestObject","requestObjectParse","safeParse","success","data","formatFlattenedZodErrors","error","flatten","keys","find","k","Error","errors","Object","entries","fieldErrors","map","_ref2","key","join"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.0.0/05-verify-request-object.ts"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { EncryptJwe } from "@pagopa/io-react-native-jwt";
2
2
  import { NoSuitableKeysFoundInEntityConfiguration } from "../common/errors";
3
3
  import { hasStatusOrThrow } from "../../../utils/misc";
4
- import { RelyingPartyResponseError, RelyingPartyResponseErrorCodes, ResponseErrorBuilder, UnexpectedStatusCodeError } from "../../../utils/errors";
4
+ import { IoWalletError, RelyingPartyResponseError, RelyingPartyResponseErrorCodes, ResponseErrorBuilder, UnexpectedStatusCodeError } from "../../../utils/errors";
5
5
  import { prepareVpToken } from "../../../sd-jwt";
6
6
  import { AuthorizationResponse } from "./types";
7
7
  import { getJwksFromRpConfig } from "./utils.jwks";
@@ -90,6 +90,9 @@ export const sendAuthorizationResponse = async function (requestObject, remotePr
90
90
  let {
91
91
  appFetch = fetch
92
92
  } = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
93
+ if (!rpConf) {
94
+ throw new IoWalletError("Relying Party Configuration is required for OpenID Federation clients");
95
+ }
93
96
  const {
94
97
  presentations
95
98
  } = remotePresentation;
@@ -1 +1 @@
1
- {"version":3,"names":["EncryptJwe","NoSuitableKeysFoundInEntityConfiguration","hasStatusOrThrow","RelyingPartyResponseError","RelyingPartyResponseErrorCodes","ResponseErrorBuilder","UnexpectedStatusCodeError","prepareVpToken","AuthorizationResponse","getJwksFromRpConfig","buildDirectPostBody","createCryptoContextFor","choosePublicKeyToEncrypt","rpJwkKeys","encKey","find","jwk","use","buildDirectPostJwtBody","requestObject","rpConf","payload","authzResponsePayload","JSON","stringify","state","keys","encPublicJwk","authorization_encrypted_response_alg","authorization_encrypted_response_enc","defaultAlg","kty","encryptedResponse","alg","enc","kid","encrypt","formBody","URLSearchParams","response","toString","prepareRemotePresentations","credentials","authRequestObject","presentations","Promise","all","map","item","vp_token","nonce","clientId","credential","presentationFrame","keyTag","requestedClaims","requiredDisclosures","_ref","name","credentialId","id","vpToken","format","sendAuthorizationResponse","remotePresentation","appFetch","fetch","arguments","length","undefined","requestBody","reduce","acc","presentation","response_uri","method","headers","body","then","res","json","parse","catch","handleAuthorizationResponseError","sendAuthorizationErrorResponse","_ref2","error","errorDescription","error_description","e","handle","code","InvalidAuthorizationResponse","message","RelyingPartyGenericError","buildFrom"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.0.0/07-send-authorization-response.ts"],"mappings":"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"}
1
+ {"version":3,"names":["EncryptJwe","NoSuitableKeysFoundInEntityConfiguration","hasStatusOrThrow","IoWalletError","RelyingPartyResponseError","RelyingPartyResponseErrorCodes","ResponseErrorBuilder","UnexpectedStatusCodeError","prepareVpToken","AuthorizationResponse","getJwksFromRpConfig","buildDirectPostBody","createCryptoContextFor","choosePublicKeyToEncrypt","rpJwkKeys","encKey","find","jwk","use","buildDirectPostJwtBody","requestObject","rpConf","payload","authzResponsePayload","JSON","stringify","state","keys","encPublicJwk","authorization_encrypted_response_alg","authorization_encrypted_response_enc","defaultAlg","kty","encryptedResponse","alg","enc","kid","encrypt","formBody","URLSearchParams","response","toString","prepareRemotePresentations","credentials","authRequestObject","presentations","Promise","all","map","item","vp_token","nonce","clientId","credential","presentationFrame","keyTag","requestedClaims","requiredDisclosures","_ref","name","credentialId","id","vpToken","format","sendAuthorizationResponse","remotePresentation","appFetch","fetch","arguments","length","undefined","requestBody","reduce","acc","presentation","response_uri","method","headers","body","then","res","json","parse","catch","handleAuthorizationResponseError","sendAuthorizationErrorResponse","_ref2","error","errorDescription","error_description","e","handle","code","InvalidAuthorizationResponse","message","RelyingPartyGenericError","buildFrom"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.0.0/07-send-authorization-response.ts"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { startFlowFromQR } from "./01-start-flow";
2
2
  import { evaluateRelyingPartyTrust } from "./02-evaluate-rp-trust";
3
3
  import { getRequestObject } from "./03-get-request-object";
4
- import { verifyAuthRequestCertificateChain } from "./04-verify-certificate-chain";
5
4
  import { verifyRequestObject } from "./05-verify-request-object";
6
5
  import { evaluateDcqlQuery } from "./06-evaluate-dcql-query";
7
6
  import { prepareRemotePresentations, sendAuthorizationResponse, sendAuthorizationErrorResponse } from "./07-send-authorization-response";
@@ -9,7 +8,6 @@ export const RemotePresentation = {
9
8
  startFlowFromQR,
10
9
  evaluateRelyingPartyTrust,
11
10
  getRequestObject,
12
- verifyAuthRequestCertificateChain,
13
11
  verifyRequestObject,
14
12
  evaluateDcqlQuery,
15
13
  prepareRemotePresentations,
@@ -1 +1 @@
1
- {"version":3,"names":["startFlowFromQR","evaluateRelyingPartyTrust","getRequestObject","verifyAuthRequestCertificateChain","verifyRequestObject","evaluateDcqlQuery","prepareRemotePresentations","sendAuthorizationResponse","sendAuthorizationErrorResponse","RemotePresentation"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.0.0/index.ts"],"mappings":"AACA,SAASA,eAAe,QAAQ,iBAAiB;AACjD,SAASC,yBAAyB,QAAQ,wBAAwB;AAClE,SAASC,gBAAgB,QAAQ,yBAAyB;AAC1D,SAASC,iCAAiC,QAAQ,+BAA+B;AACjF,SAASC,mBAAmB,QAAQ,4BAA4B;AAChE,SAASC,iBAAiB,QAAQ,0BAA0B;AAC5D,SACEC,0BAA0B,EAC1BC,yBAAyB,EACzBC,8BAA8B,QACzB,kCAAkC;AAEzC,OAAO,MAAMC,kBAAyC,GAAG;EACvDT,eAAe;EACfC,yBAAyB;EACzBC,gBAAgB;EAChBC,iCAAiC;EACjCC,mBAAmB;EACnBC,iBAAiB;EACjBC,0BAA0B;EAC1BC,yBAAyB;EACzBC;AACF,CAAC"}
1
+ {"version":3,"names":["startFlowFromQR","evaluateRelyingPartyTrust","getRequestObject","verifyRequestObject","evaluateDcqlQuery","prepareRemotePresentations","sendAuthorizationResponse","sendAuthorizationErrorResponse","RemotePresentation"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.0.0/index.ts"],"mappings":"AACA,SAASA,eAAe,QAAQ,iBAAiB;AACjD,SAASC,yBAAyB,QAAQ,wBAAwB;AAClE,SAASC,gBAAgB,QAAQ,yBAAyB;AAC1D,SAASC,mBAAmB,QAAQ,4BAA4B;AAChE,SAASC,iBAAiB,QAAQ,0BAA0B;AAC5D,SACEC,0BAA0B,EAC1BC,yBAAyB,EACzBC,8BAA8B,QACzB,kCAAkC;AAEzC,OAAO,MAAMC,kBAAyC,GAAG;EACvDR,eAAe;EACfC,yBAAyB;EACzBC,gBAAgB;EAChBC,mBAAmB;EACnBC,iBAAiB;EACjBC,0BAA0B;EAC1BC,yBAAyB;EACzBC;AACF,CAAC"}
@@ -1,25 +1,35 @@
1
1
  import { createMapper } from "../../../utils/mappers";
2
- export const mapToRelyingPartyConfig = createMapper(x => {
2
+ export const mapToRelyingPartyConfig = createMapper(_ref => {
3
+ let {
4
+ payload
5
+ } = _ref;
3
6
  const {
4
7
  federation_entity,
5
8
  openid_credential_verifier
6
- } = x.payload.metadata;
9
+ } = payload.metadata;
7
10
  return {
8
- subject: x.payload.sub,
11
+ subject: payload.sub,
9
12
  jwks: openid_credential_verifier.jwks,
10
13
  authorization_encrypted_response_alg: openid_credential_verifier.authorization_encrypted_response_alg,
11
14
  authorization_encrypted_response_enc: openid_credential_verifier.authorization_encrypted_response_enc,
12
15
  federation_entity
13
16
  };
14
17
  });
15
- export const mapToRequestObject = createMapper(x => ({
16
- iss: x.iss,
17
- client_id: x.client_id,
18
- dcql_query: x.dcql_query,
19
- nonce: x.nonce,
20
- response_uri: x.response_uri,
21
- state: x.state,
22
- response_mode: x.response_mode,
23
- response_type: x.response_type
24
- }));
18
+ export const mapToRequestObject = createMapper(_ref2 => {
19
+ let {
20
+ header,
21
+ payload
22
+ } = _ref2;
23
+ return {
24
+ iss: payload.iss,
25
+ client_id: payload.client_id,
26
+ dcql_query: payload.dcql_query,
27
+ nonce: payload.nonce,
28
+ response_uri: payload.response_uri,
29
+ state: payload.state,
30
+ response_mode: payload.response_mode,
31
+ response_type: payload.response_type,
32
+ trust_chain: header.trust_chain
33
+ };
34
+ });
25
35
  //# sourceMappingURL=mappers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createMapper","mapToRelyingPartyConfig","x","federation_entity","openid_credential_verifier","payload","metadata","subject","sub","jwks","authorization_encrypted_response_alg","authorization_encrypted_response_enc","mapToRequestObject","iss","client_id","dcql_query","nonce","response_uri","state","response_mode","response_type"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.0.0/mappers.ts"],"mappings":"AAAA,SAASA,YAAY,QAAQ,wBAAwB;AAMrD,OAAO,MAAMC,uBAAuB,GAAGD,YAAY,CAGhDE,CAAC,IAAK;EACP,MAAM;IAAEC,iBAAiB;IAAEC;EAA2B,CAAC,GAAGF,CAAC,CAACG,OAAO,CAACC,QAAQ;EAC5E,OAAO;IACLC,OAAO,EAAEL,CAAC,CAACG,OAAO,CAACG,GAAG;IACtBC,IAAI,EAAEL,0BAA0B,CAACK,IAAI;IACrCC,oCAAoC,EAClCN,0BAA0B,CAACM,oCAAoC;IACjEC,oCAAoC,EAClCP,0BAA0B,CAACO,oCAAoC;IACjER;EACF,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,MAAMS,kBAAkB,GAAGZ,YAAY,CAG3CE,CAAC,KAAM;EACRW,GAAG,EAAEX,CAAC,CAACW,GAAG;EACVC,SAAS,EAAEZ,CAAC,CAACY,SAAS;EACtBC,UAAU,EAAEb,CAAC,CAACa,UAAU;EACxBC,KAAK,EAAEd,CAAC,CAACc,KAAK;EACdC,YAAY,EAAEf,CAAC,CAACe,YAAY;EAC5BC,KAAK,EAAEhB,CAAC,CAACgB,KAAK;EACdC,aAAa,EAAEjB,CAAC,CAACiB,aAAa;EAC9BC,aAAa,EAAElB,CAAC,CAACkB;AACnB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"names":["createMapper","mapToRelyingPartyConfig","_ref","payload","federation_entity","openid_credential_verifier","metadata","subject","sub","jwks","authorization_encrypted_response_alg","authorization_encrypted_response_enc","mapToRequestObject","_ref2","header","iss","client_id","dcql_query","nonce","response_uri","state","response_mode","response_type","trust_chain"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.0.0/mappers.ts"],"mappings":"AAAA,SAASA,YAAY,QAAQ,wBAAwB;AAMrD,OAAO,MAAMC,uBAAuB,GAAGD,YAAY,CAGjDE,IAAA,IAAiB;EAAA,IAAhB;IAAEC;EAAQ,CAAC,GAAAD,IAAA;EACZ,MAAM;IAAEE,iBAAiB;IAAEC;EAA2B,CAAC,GAAGF,OAAO,CAACG,QAAQ;EAC1E,OAAO;IACLC,OAAO,EAAEJ,OAAO,CAACK,GAAG;IACpBC,IAAI,EAAEJ,0BAA0B,CAACI,IAAI;IACrCC,oCAAoC,EAClCL,0BAA0B,CAACK,oCAAoC;IACjEC,oCAAoC,EAClCN,0BAA0B,CAACM,oCAAoC;IACjEP;EACF,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,MAAMQ,kBAAkB,GAAGZ,YAAY,CAC5Ca,KAAA;EAAA,IAAC;IAAEC,MAAM;IAAEX;EAAQ,CAAC,GAAAU,KAAA;EAAA,OAAM;IACxBE,GAAG,EAAEZ,OAAO,CAACY,GAAG;IAChBC,SAAS,EAAEb,OAAO,CAACa,SAAS;IAC5BC,UAAU,EAAEd,OAAO,CAACc,UAAU;IAC9BC,KAAK,EAAEf,OAAO,CAACe,KAAK;IACpBC,YAAY,EAAEhB,OAAO,CAACgB,YAAY;IAClCC,KAAK,EAAEjB,OAAO,CAACiB,KAAK;IACpBC,aAAa,EAAElB,OAAO,CAACkB,aAAa;IACpCC,aAAa,EAAEnB,OAAO,CAACmB,aAAa;IACpCC,WAAW,EAAET,MAAM,CAACS;EACtB,CAAC;AAAA,CACH,CAAC"}
@@ -1,21 +1,29 @@
1
1
  import * as z from "zod";
2
2
  import { UnixTime } from "../../../utils/zod";
3
3
  import { ErrorResponse } from "../api/types";
4
- export const RequestObjectPayload = z.object({
5
- iss: z.string(),
6
- iat: UnixTime,
7
- exp: UnixTime,
8
- state: z.string(),
9
- nonce: z.string(),
10
- response_uri: z.string(),
11
- request_uri_method: z.string().optional(),
12
- response_type: z.literal("vp_token"),
13
- response_mode: z.literal("direct_post.jwt"),
14
- client_id: z.string(),
15
- dcql_query: z.record(z.string(), z.any()),
16
- // Validation happens within the `dcql` library, no need to duplicate it here
17
- scope: z.string().optional(),
18
- wallet_nonce: z.string().optional()
4
+ export const RawRequestObject = z.object({
5
+ header: z.object({
6
+ alg: z.string(),
7
+ kid: z.string(),
8
+ typ: z.literal("oauth-authz-req+jwt"),
9
+ trust_chain: z.array(z.string()).optional()
10
+ }),
11
+ payload: z.object({
12
+ iss: z.string(),
13
+ iat: UnixTime,
14
+ exp: UnixTime,
15
+ state: z.string(),
16
+ nonce: z.string(),
17
+ response_uri: z.string(),
18
+ request_uri_method: z.string().optional(),
19
+ response_type: z.literal("vp_token"),
20
+ response_mode: z.literal("direct_post.jwt"),
21
+ client_id: z.string(),
22
+ dcql_query: z.record(z.string(), z.any()),
23
+ // Validation happens within the `dcql` library, no need to duplicate it here
24
+ scope: z.string().optional(),
25
+ wallet_nonce: z.string().optional()
26
+ })
19
27
  });
20
28
 
21
29
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["z","UnixTime","ErrorResponse","RequestObjectPayload","object","iss","string","iat","exp","state","nonce","response_uri","request_uri_method","optional","response_type","literal","response_mode","client_id","dcql_query","record","any","scope","wallet_nonce","DirectAuthorizationBodyPayload","union","vp_token","error","error_description","AuthorizationResponse","status","response_code","redirect_uri"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.0.0/types.ts"],"mappings":"AAAA,OAAO,KAAKA,CAAC,MAAM,KAAK;AACxB,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,aAAa,QAAQ,cAAc;AAG5C,OAAO,MAAMC,oBAAoB,GAAGH,CAAC,CAACI,MAAM,CAAC;EAC3CC,GAAG,EAAEL,CAAC,CAACM,MAAM,CAAC,CAAC;EACfC,GAAG,EAAEN,QAAQ;EACbO,GAAG,EAAEP,QAAQ;EACbQ,KAAK,EAAET,CAAC,CAACM,MAAM,CAAC,CAAC;EACjBI,KAAK,EAAEV,CAAC,CAACM,MAAM,CAAC,CAAC;EACjBK,YAAY,EAAEX,CAAC,CAACM,MAAM,CAAC,CAAC;EACxBM,kBAAkB,EAAEZ,CAAC,CAACM,MAAM,CAAC,CAAC,CAACO,QAAQ,CAAC,CAAC;EACzCC,aAAa,EAAEd,CAAC,CAACe,OAAO,CAAC,UAAU,CAAC;EACpCC,aAAa,EAAEhB,CAAC,CAACe,OAAO,CAAC,iBAAiB,CAAC;EAC3CE,SAAS,EAAEjB,CAAC,CAACM,MAAM,CAAC,CAAC;EACrBY,UAAU,EAAElB,CAAC,CAACmB,MAAM,CAACnB,CAAC,CAACM,MAAM,CAAC,CAAC,EAAEN,CAAC,CAACoB,GAAG,CAAC,CAAC,CAAC;EAAE;EAC3CC,KAAK,EAAErB,CAAC,CAACM,MAAM,CAAC,CAAC,CAACO,QAAQ,CAAC,CAAC;EAC5BS,YAAY,EAAEtB,CAAC,CAACM,MAAM,CAAC,CAAC,CAACO,QAAQ,CAAC;AACpC,CAAC,CAAC;;AAEF;AACA;AACA;;AAIA,OAAO,MAAMU,8BAA8B,GAAGvB,CAAC,CAACwB,KAAK,CAAC,CACpDxB,CAAC,CAACI,MAAM,CAAC;EACPqB,QAAQ,EAAEzB,CAAC,CAACmB,MAAM,CAACnB,CAAC,CAACM,MAAM,CAAC,CAAC,EAAEN,CAAC,CAACM,MAAM,CAAC,CAAC;AAC3C,CAAC,CAAC,EACFN,CAAC,CAACI,MAAM,CAAC;EAAEsB,KAAK,EAAExB,aAAa;EAAEyB,iBAAiB,EAAE3B,CAAC,CAACM,MAAM,CAAC;AAAE,CAAC,CAAC,CAClE,CAAC;AAGF,OAAO,MAAMsB,qBAAqB,GAAG5B,CAAC,CAACI,MAAM,CAAC;EAC5CyB,MAAM,EAAE7B,CAAC,CAACM,MAAM,CAAC,CAAC,CAACO,QAAQ,CAAC,CAAC;EAC7BiB,aAAa,EAAE9B,CAAC,CAACM,MAAM,CAAC,CAAC,CAACO,QAAQ,CAAC,CAAC;EACpCkB,YAAY,EAAE/B,CAAC,CAACM,MAAM,CAAC,CAAC,CAACO,QAAQ,CAAC;AACpC,CAAC,CAAC"}
1
+ {"version":3,"names":["z","UnixTime","ErrorResponse","RawRequestObject","object","header","alg","string","kid","typ","literal","trust_chain","array","optional","payload","iss","iat","exp","state","nonce","response_uri","request_uri_method","response_type","response_mode","client_id","dcql_query","record","any","scope","wallet_nonce","DirectAuthorizationBodyPayload","union","vp_token","error","error_description","AuthorizationResponse","status","response_code","redirect_uri"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.0.0/types.ts"],"mappings":"AAAA,OAAO,KAAKA,CAAC,MAAM,KAAK;AACxB,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,aAAa,QAAQ,cAAc;AAG5C,OAAO,MAAMC,gBAAgB,GAAGH,CAAC,CAACI,MAAM,CAAC;EACvCC,MAAM,EAAEL,CAAC,CAACI,MAAM,CAAC;IACfE,GAAG,EAAEN,CAAC,CAACO,MAAM,CAAC,CAAC;IACfC,GAAG,EAAER,CAAC,CAACO,MAAM,CAAC,CAAC;IACfE,GAAG,EAAET,CAAC,CAACU,OAAO,CAAC,qBAAqB,CAAC;IACrCC,WAAW,EAAEX,CAAC,CAACY,KAAK,CAACZ,CAAC,CAACO,MAAM,CAAC,CAAC,CAAC,CAACM,QAAQ,CAAC;EAC5C,CAAC,CAAC;EACFC,OAAO,EAAEd,CAAC,CAACI,MAAM,CAAC;IAChBW,GAAG,EAAEf,CAAC,CAACO,MAAM,CAAC,CAAC;IACfS,GAAG,EAAEf,QAAQ;IACbgB,GAAG,EAAEhB,QAAQ;IACbiB,KAAK,EAAElB,CAAC,CAACO,MAAM,CAAC,CAAC;IACjBY,KAAK,EAAEnB,CAAC,CAACO,MAAM,CAAC,CAAC;IACjBa,YAAY,EAAEpB,CAAC,CAACO,MAAM,CAAC,CAAC;IACxBc,kBAAkB,EAAErB,CAAC,CAACO,MAAM,CAAC,CAAC,CAACM,QAAQ,CAAC,CAAC;IACzCS,aAAa,EAAEtB,CAAC,CAACU,OAAO,CAAC,UAAU,CAAC;IACpCa,aAAa,EAAEvB,CAAC,CAACU,OAAO,CAAC,iBAAiB,CAAC;IAC3Cc,SAAS,EAAExB,CAAC,CAACO,MAAM,CAAC,CAAC;IACrBkB,UAAU,EAAEzB,CAAC,CAAC0B,MAAM,CAAC1B,CAAC,CAACO,MAAM,CAAC,CAAC,EAAEP,CAAC,CAAC2B,GAAG,CAAC,CAAC,CAAC;IAAE;IAC3CC,KAAK,EAAE5B,CAAC,CAACO,MAAM,CAAC,CAAC,CAACM,QAAQ,CAAC,CAAC;IAC5BgB,YAAY,EAAE7B,CAAC,CAACO,MAAM,CAAC,CAAC,CAACM,QAAQ,CAAC;EACpC,CAAC;AACH,CAAC,CAAC;;AAEF;AACA;AACA;;AAIA,OAAO,MAAMiB,8BAA8B,GAAG9B,CAAC,CAAC+B,KAAK,CAAC,CACpD/B,CAAC,CAACI,MAAM,CAAC;EACP4B,QAAQ,EAAEhC,CAAC,CAAC0B,MAAM,CAAC1B,CAAC,CAACO,MAAM,CAAC,CAAC,EAAEP,CAAC,CAACO,MAAM,CAAC,CAAC;AAC3C,CAAC,CAAC,EACFP,CAAC,CAACI,MAAM,CAAC;EAAE6B,KAAK,EAAE/B,aAAa;EAAEgC,iBAAiB,EAAElC,CAAC,CAACO,MAAM,CAAC;AAAE,CAAC,CAAC,CAClE,CAAC;AAGF,OAAO,MAAM4B,qBAAqB,GAAGnC,CAAC,CAACI,MAAM,CAAC;EAC5CgC,MAAM,EAAEpC,CAAC,CAACO,MAAM,CAAC,CAAC,CAACM,QAAQ,CAAC,CAAC;EAC7BwB,aAAa,EAAErC,CAAC,CAACO,MAAM,CAAC,CAAC,CAACM,QAAQ,CAAC,CAAC;EACpCyB,YAAY,EAAEtC,CAAC,CAACO,MAAM,CAAC,CAAC,CAACM,QAAQ,CAAC;AACpC,CAAC,CAAC"}
@@ -1,6 +1,8 @@
1
- import { parseAuthorizeRequest as sdkParseAuthorizeRequest } from "@pagopa/io-wallet-oid4vp";
1
+ import { parseAuthorizeRequest as sdkParseAuthorizeRequest, ClientIdPrefix, extractClientIdPrefix } from "@pagopa/io-wallet-oid4vp";
2
+ import QuickCrypto from "react-native-quick-crypto";
2
3
  import { partialCallbacks } from "../../../utils/callbacks";
3
4
  import { sdkConfigV1_3 } from "../../../utils/config";
5
+ import { IoWalletError } from "../../../utils/errors";
4
6
  import { InvalidRequestObjectError } from "../common/errors";
5
7
  import { mapSdkRequestObjectError } from "./sdkErrorMapper";
6
8
  import { mapToRequestObject } from "./mappers";
@@ -16,13 +18,33 @@ export const verifyRequestObject = async (requestObjectEncodedJwt, _ref) => {
16
18
  verifyJwt: partialCallbacks.verifyJwt
17
19
  }
18
20
  }).catch(mapSdkRequestObjectError);
19
- const payload = parsedRequestObject.payload;
20
- const isClientIdMatch = clientId === payload.client_id && clientId === rpConf.subject;
21
- if (!isClientIdMatch) {
22
- throw new InvalidRequestObjectError("Client ID does not match Request Object or Entity Configuration");
21
+ const rawRequestObject = parsedRequestObject;
22
+ const clientIdPrefix = extractClientIdPrefix(clientId);
23
+ if (clientIdPrefix === ClientIdPrefix.X509_HASH) {
24
+ validateX509HashClient(rawRequestObject.header.x5c, clientId);
25
+ }
26
+ if (clientIdPrefix === ClientIdPrefix.OPENID_FEDERATION || clientIdPrefix === ClientIdPrefix.NONE) {
27
+ validateOpenIDFederationClient(rawRequestObject, clientId, rpConf);
23
28
  }
24
29
  return {
25
- requestObject: mapToRequestObject(payload)
30
+ requestObject: mapToRequestObject(rawRequestObject)
26
31
  };
27
32
  };
33
+ const validateOpenIDFederationClient = (requestObject, clientId, rpConf) => {
34
+ if (!rpConf) {
35
+ throw new IoWalletError("Relying Party Configuration is required for OpenID Federation clients");
36
+ }
37
+ const isClientIdMatch = clientId === requestObject.payload.client_id && stripOpenIdFederationPrefix(clientId) === rpConf.subject;
38
+ if (!isClientIdMatch) {
39
+ throw new InvalidRequestObjectError("Client ID does not match Request Object or Entity Configuration");
40
+ }
41
+ };
42
+ const validateX509HashClient = (certificateChain, clientId) => {
43
+ const [, x509Hash] = clientId.split(":");
44
+ const calculatedHash = QuickCrypto.createHash("sha-256").update(certificateChain[0], "base64").digest("base64url");
45
+ if (x509Hash !== calculatedHash) {
46
+ throw new InvalidRequestObjectError("x509_hash does not match the hash of the x5c leaf certificate");
47
+ }
48
+ };
49
+ const stripOpenIdFederationPrefix = clientId => clientId.replace("openid_federation:", "");
28
50
  //# sourceMappingURL=05-verify-request-object.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["parseAuthorizeRequest","sdkParseAuthorizeRequest","partialCallbacks","sdkConfigV1_3","InvalidRequestObjectError","mapSdkRequestObjectError","mapToRequestObject","verifyRequestObject","requestObjectEncodedJwt","_ref","clientId","rpConf","parsedRequestObject","config","requestObjectJwt","callbacks","verifyJwt","catch","payload","isClientIdMatch","client_id","subject","requestObject"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.3.3/05-verify-request-object.ts"],"mappings":"AACA,SAASA,qBAAqB,IAAIC,wBAAwB,QAAQ,0BAA0B;AAC5F,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,yBAAyB,QAAQ,kBAAkB;AAC5D,SAASC,wBAAwB,QAAQ,kBAAkB;AAC3D,SAASC,kBAAkB,QAAQ,WAAW;AAE9C,OAAO,MAAMC,mBAAiE,GAC5E,MAAAA,CAAOC,uBAAuB,EAAAC,IAAA,KAA2B;EAAA,IAAzB;IAAEC,QAAQ;IAAEC;EAAO,CAAC,GAAAF,IAAA;EAClD,MAAMG,mBAAmB,GAAG,MAAMX,wBAAwB,CAAC;IACzDY,MAAM,EAAEV,aAAa;IACrBW,gBAAgB,EAAEN,uBAAuB;IACzCO,SAAS,EAAE;MACTC,SAAS,EAAEd,gBAAgB,CAACc;IAC9B;EACF,CAAC,CAAC,CAACC,KAAK,CAACZ,wBAAwB,CAAC;EAElC,MAAMa,OAAO,GAAGN,mBAAmB,CAACM,OAAO;EAE3C,MAAMC,eAAe,GACnBT,QAAQ,KAAKQ,OAAO,CAACE,SAAS,IAAIV,QAAQ,KAAKC,MAAM,CAACU,OAAO;EAE/D,IAAI,CAACF,eAAe,EAAE;IACpB,MAAM,IAAIf,yBAAyB,CACjC,iEACF,CAAC;EACH;EAEA,OAAO;IACLkB,aAAa,EAAEhB,kBAAkB,CAACY,OAAO;EAC3C,CAAC;AACH,CAAC"}
1
+ {"version":3,"names":["parseAuthorizeRequest","sdkParseAuthorizeRequest","ClientIdPrefix","extractClientIdPrefix","QuickCrypto","partialCallbacks","sdkConfigV1_3","IoWalletError","InvalidRequestObjectError","mapSdkRequestObjectError","mapToRequestObject","verifyRequestObject","requestObjectEncodedJwt","_ref","clientId","rpConf","parsedRequestObject","config","requestObjectJwt","callbacks","verifyJwt","catch","rawRequestObject","clientIdPrefix","X509_HASH","validateX509HashClient","header","x5c","OPENID_FEDERATION","NONE","validateOpenIDFederationClient","requestObject","isClientIdMatch","payload","client_id","stripOpenIdFederationPrefix","subject","certificateChain","x509Hash","split","calculatedHash","createHash","update","digest","replace"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.3.3/05-verify-request-object.ts"],"mappings":"AACA,SACEA,qBAAqB,IAAIC,wBAAwB,EACjDC,cAAc,EACdC,qBAAqB,QAChB,0BAA0B;AACjC,OAAOC,WAAW,MAAM,2BAA2B;AACnD,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,yBAAyB,QAAQ,kBAAkB;AAC5D,SAASC,wBAAwB,QAAQ,kBAAkB;AAC3D,SAASC,kBAAkB,QAAQ,WAAW;AAG9C,OAAO,MAAMC,mBAAiE,GAC5E,MAAAA,CAAOC,uBAAuB,EAAAC,IAAA,KAA2B;EAAA,IAAzB;IAAEC,QAAQ;IAAEC;EAAO,CAAC,GAAAF,IAAA;EAClD,MAAMG,mBAAmB,GAAG,MAAMf,wBAAwB,CAAC;IACzDgB,MAAM,EAAEX,aAAa;IACrBY,gBAAgB,EAAEN,uBAAuB;IACzCO,SAAS,EAAE;MACTC,SAAS,EAAEf,gBAAgB,CAACe;IAC9B;EACF,CAAC,CAAC,CAACC,KAAK,CAACZ,wBAAwB,CAAC;EAElC,MAAMa,gBAAgB,GAAGN,mBAAuC;EAEhE,MAAMO,cAAc,GAAGpB,qBAAqB,CAACW,QAAQ,CAAC;EAEtD,IAAIS,cAAc,KAAKrB,cAAc,CAACsB,SAAS,EAAE;IAC/CC,sBAAsB,CAACH,gBAAgB,CAACI,MAAM,CAACC,GAAG,EAAEb,QAAQ,CAAC;EAC/D;EAEA,IACES,cAAc,KAAKrB,cAAc,CAAC0B,iBAAiB,IACnDL,cAAc,KAAKrB,cAAc,CAAC2B,IAAI,EACtC;IACAC,8BAA8B,CAACR,gBAAgB,EAAER,QAAQ,EAAEC,MAAM,CAAC;EACpE;EAEA,OAAO;IACLgB,aAAa,EAAErB,kBAAkB,CAACY,gBAAgB;EACpD,CAAC;AACH,CAAC;AAEH,MAAMQ,8BAA8B,GAAGA,CACrCC,aAA+B,EAC/BjB,QAAgB,EAChBC,MAAsC,KACnC;EACH,IAAI,CAACA,MAAM,EAAE;IACX,MAAM,IAAIR,aAAa,CACrB,uEACF,CAAC;EACH;EAEA,MAAMyB,eAAe,GACnBlB,QAAQ,KAAKiB,aAAa,CAACE,OAAO,CAACC,SAAS,IAC5CC,2BAA2B,CAACrB,QAAQ,CAAC,KAAKC,MAAM,CAACqB,OAAO;EAE1D,IAAI,CAACJ,eAAe,EAAE;IACpB,MAAM,IAAIxB,yBAAyB,CACjC,iEACF,CAAC;EACH;AACF,CAAC;AAED,MAAMiB,sBAAsB,GAAGA,CAC7BY,gBAA0B,EAC1BvB,QAAgB,KACb;EACH,MAAM,GAAGwB,QAAQ,CAAC,GAAGxB,QAAQ,CAACyB,KAAK,CAAC,GAAG,CAAC;EAExC,MAAMC,cAAc,GAAGpC,WAAW,CAACqC,UAAU,CAAC,SAAS,CAAC,CACrDC,MAAM,CAACL,gBAAgB,CAAC,CAAC,CAAC,EAAG,QAAQ,CAAC,CACtCM,MAAM,CAAC,WAAW,CAAC;EAEtB,IAAIL,QAAQ,KAAKE,cAAc,EAAE;IAC/B,MAAM,IAAIhC,yBAAyB,CACjC,+DACF,CAAC;EACH;AACF,CAAC;AAED,MAAM2B,2BAA2B,GAAIrB,QAAgB,IACnDA,QAAQ,CAAC8B,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC"}
@@ -1,10 +1,9 @@
1
1
  import { DcqlQuery, DcqlError } from "dcql";
2
2
  import { isValiError } from "valibot";
3
3
  import { CredentialsNotFoundError } from "../common/errors";
4
- import * as mdocUtils from "./utils.mdoc";
5
4
  import * as sdJwtUtils from "../common/utils/sd-jwt";
6
- import { getClaimsFromDcqlMatch } from "./utils.mdoc";
7
- import { extractFailedCredentialsDetails, getDcqlQueryMatches, getPresentationFrameFromDcqlMatch } from "../common/utils/dcql";
5
+ import * as mdocUtils from "../common/utils/mdoc";
6
+ import { extractFailedCredentialsDetails, getDcqlQueryMatches, getClaimsFromDcqlMatch, getPresentationFrameFromDcqlMatch } from "../common/utils/dcql";
8
7
  export const evaluateDcqlQuery = async function (query, credentialsSdJwt) {
9
8
  let credentialsMdoc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
10
9
  const credentials = (await Promise.all([sdJwtUtils.mapCredentialsToObj(credentialsSdJwt), mdocUtils.mapCredentialsToObj(credentialsMdoc)])).flat();
@@ -1 +1 @@
1
- {"version":3,"names":["DcqlQuery","DcqlError","isValiError","CredentialsNotFoundError","mdocUtils","sdJwtUtils","getClaimsFromDcqlMatch","extractFailedCredentialsDetails","getDcqlQueryMatches","getPresentationFrameFromDcqlMatch","evaluateDcqlQuery","query","credentialsSdJwt","credentialsMdoc","arguments","length","undefined","credentials","Promise","all","mapCredentialsToObj","flat","credentialsById","reduce","acc","c","vct","doctype","original_credential","parsedQuery","parse","validate","queryResult","can_be_satisfied","map","_ref","_queryResult$credenti","_match$valid_credenti","id","match","purposes","credential_sets","filter","set","_set$matching_options","matching_options","includes","credentialSet","_credentialSet$purpos","description","purpose","toString","required","Boolean","matchOutput","valid_credentials","meta","output","credential_format","keyTag","credential","requiredDisclosures","presentationFrame","format","getPresentationFrameFromClaims","Error","error","message","code","cause","issues"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.3.3/06-evaluate-dcql-query.ts"],"mappings":"AAAA,SAASA,SAAS,EAAEC,SAAS,QAAQ,MAAM;AAC3C,SAASC,WAAW,QAAQ,SAAS;AACrC,SAASC,wBAAwB,QAAQ,kBAAkB;AAE3D,OAAO,KAAKC,SAAS,MAAM,cAAc;AAEzC,OAAO,KAAKC,UAAU,MAAM,wBAAwB;AACpD,SAASC,sBAAsB,QAAQ,cAAc;AACrD,SACEC,+BAA+B,EAC/BC,mBAAmB,EACnBC,iCAAiC,QAC5B,sBAAsB;AAE7B,OAAO,MAAMC,iBAA6D,GACxE,eAAAA,CAAOC,KAAK,EAAEC,gBAAgB,EAA2B;EAAA,IAAzBC,eAAe,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAClD,MAAMG,WAAW,GAAG,CAClB,MAAMC,OAAO,CAACC,GAAG,CAAC,CAChBd,UAAU,CAACe,mBAAmB,CAACR,gBAAgB,CAAC,EAChDR,SAAS,CAACgB,mBAAmB,CAACP,eAAe,CAAC,CAC/C,CAAC,EACFQ,IAAI,CAAC,CAAC;;EAER;EACA,MAAMC,eAAe,GAAGL,WAAW,CAACM,MAAM,CACxC,CAACC,GAAG,EAAEC,CAAC,MAAM;IACX,GAAGD,GAAG;IACN,CAAC,KAAK,IAAIC,CAAC,GAAGA,CAAC,CAACC,GAAG,GAAGD,CAAC,CAACE,OAAO,GAAGF,CAAC,CAACG;EACtC,CAAC,CAAC,EACF,CAAC,CACH,CAAC;EAED,IAAI;IACF;IACA,MAAMC,WAAW,GAAG7B,SAAS,CAAC8B,KAAK,CAACnB,KAAK,CAAC;IAC1CX,SAAS,CAAC+B,QAAQ,CAACF,WAAW,CAAC;IAE/B,MAAMG,WAAW,GAAGhC,SAAS,CAACW,KAAK,CAACkB,WAAW,EAAEZ,WAAW,CAAC;IAE7D,IAAI,CAACe,WAAW,CAACC,gBAAgB,EAAE;MACjC,MAAM,IAAI9B,wBAAwB,CAChCI,+BAA+B,CAACyB,WAAW,CAC7C,CAAC;IACH;IAEA,OAAOxB,mBAAmB,CAACwB,WAAW,CAAC,CAACE,GAAG,CAACC,IAAA,IAAiB;MAAA,IAAAC,qBAAA,EAAAC,qBAAA;MAAA,IAAhB,CAACC,EAAE,EAAEC,KAAK,CAAC,GAAAJ,IAAA;MACtD,MAAMK,QAAQ,IAAAJ,qBAAA,GAAGJ,WAAW,CAACS,eAAe,cAAAL,qBAAA,gBAAAA,qBAAA,GAA3BA,qBAAA,CACbM,MAAM,CAAEC,GAAG;QAAA,IAAAC,qBAAA;QAAA,QAAAA,qBAAA,GAAKD,GAAG,CAACE,gBAAgB,cAAAD,qBAAA,uBAApBA,qBAAA,CAAsBvB,IAAI,CAAC,CAAC,CAACyB,QAAQ,CAACR,EAAE,CAAC;MAAA,EAAC,cAAAF,qBAAA,uBAD7CA,qBAAA,CAEbF,GAAG,CAAqBa,aAAa;QAAA,IAAAC,qBAAA;QAAA,OAAM;UAC3CC,WAAW,GAAAD,qBAAA,GAAED,aAAa,CAACG,OAAO,cAAAF,qBAAA,uBAArBA,qBAAA,CAAuBG,QAAQ,CAAC,CAAC;UAC9CC,QAAQ,EAAEC,OAAO,CAACN,aAAa,CAACK,QAAQ;QAC1C,CAAC;MAAA,CAAC,CAAC;MAEL,MAAME,WAAW,IAAAjB,qBAAA,GAAGE,KAAK,CAACgB,iBAAiB,CAAC,CAAC,CAAC,cAAAlB,qBAAA,uBAA1BA,qBAAA,CAA4BmB,IAAI,CAACC,MAAM;MAE3D,IAAI,CAAAH,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEI,iBAAiB,MAAK,WAAW,EAAE;QAClD,MAAM;UAAEhC;QAAI,CAAC,GAAG4B,WAAW;QAC3B,MAAM,CAACK,MAAM,EAAEC,UAAU,CAAC,GAAGtC,eAAe,CAACI,GAAG,CAAE;QAElD,MAAMmC,mBAAmB,GAAGvD,sBAAsB,CAACiC,KAAK,CAAC;QACzD,MAAMuB,iBAAiB,GAAGrD,iCAAiC,CACzD8B,KAAK,EACLV,WACF,CAAC;QAED,OAAO;UACLS,EAAE;UACFZ,GAAG;UACHiC,MAAM;UACNI,MAAM,EAAET,WAAW,CAACI,iBAAiB;UACrCE,UAAU;UACVC,mBAAmB;UACnBC,iBAAiB;UACjB;UACA;UACAtB,QAAQ,EAAEA,QAAQ,IAAI,CAAC;YAAEY,QAAQ,EAAE;UAAK,CAAC;QAC3C,CAAC;MACH;MAEA,IAAI,CAAAE,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEI,iBAAiB,MAAK,UAAU,EAAE;QACjD,MAAM;UAAE/B;QAAQ,CAAC,GAAG2B,WAAW;QAC/B,MAAM,CAACK,MAAM,EAAEC,UAAU,CAAC,GAAGtC,eAAe,CAACK,OAAO,CAAE;QAEtD,MAAMkC,mBAAmB,GAAGzD,SAAS,CAACE,sBAAsB,CAACiC,KAAK,CAAC;QACnE,MAAMuB,iBAAiB,GAAG1D,SAAS,CAAC4D,8BAA8B,CAChEH,mBAAmB,EACnBlC,OACF,CAAC;QAED,OAAO;UACLW,EAAE;UACFX,OAAO;UACPgC,MAAM;UACNI,MAAM,EAAET,WAAW,CAACI,iBAAiB;UACrCE,UAAU;UACVC,mBAAmB;UACnBC,iBAAiB;UACjBtB,QAAQ,EAAEA,QAAQ,IAAI,CAAC;YAAEY,QAAQ,EAAE;UAAK,CAAC;QAC3C,CAAC;MACH;MAEA,MAAM,IAAIa,KAAK,CACZ,kCAAiCX,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEI,iBAAkB,EACnE,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOQ,KAAK,EAAE;IACd;IACA,IAAIhE,WAAW,CAACgE,KAAK,CAAC,EAAE;MACtB,MAAM,IAAIjE,SAAS,CAAC;QAClBkE,OAAO,EAAE,yCAAyC;QAClDC,IAAI,EAAE,aAAa;QACnBC,KAAK,EAAEH,KAAK,CAACI;MACf,CAAC,CAAC;IACJ;;IAEA;IACA,MAAMJ,KAAK;EACb;AACF,CAAC"}
1
+ {"version":3,"names":["DcqlQuery","DcqlError","isValiError","CredentialsNotFoundError","sdJwtUtils","mdocUtils","extractFailedCredentialsDetails","getDcqlQueryMatches","getClaimsFromDcqlMatch","getPresentationFrameFromDcqlMatch","evaluateDcqlQuery","query","credentialsSdJwt","credentialsMdoc","arguments","length","undefined","credentials","Promise","all","mapCredentialsToObj","flat","credentialsById","reduce","acc","c","vct","doctype","original_credential","parsedQuery","parse","validate","queryResult","can_be_satisfied","map","_ref","_queryResult$credenti","_match$valid_credenti","id","match","purposes","credential_sets","filter","set","_set$matching_options","matching_options","includes","credentialSet","_credentialSet$purpos","description","purpose","toString","required","Boolean","matchOutput","valid_credentials","meta","output","credential_format","keyTag","credential","requiredDisclosures","presentationFrame","format","getPresentationFrameFromClaims","Error","error","message","code","cause","issues"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.3.3/06-evaluate-dcql-query.ts"],"mappings":"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"}
@@ -73,14 +73,17 @@ export const sendAuthorizationResponse = async function (requestObject, remotePr
73
73
  appFetch = fetch
74
74
  } = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
75
75
  try {
76
- const {
77
- presentations
78
- } = remotePresentation;
76
+ if (!rpConf && !requestObject.client_metadata) {
77
+ throw new IoWalletError("At least one of rpConf or requestObject.client_metadata must be provided to send the authorization response");
78
+ }
79
+
80
+ // When the RP is not an OpenID Federation client, rpConf will be undefined
81
+ // so the keys are taken from the Request Object's client_metadata.
79
82
  const rpJwks = {
80
- jwks: rpConf.jwks,
81
- encrypted_response_enc_values_supported: rpConf.encrypted_response_enc_values_supported
83
+ jwks: (rpConf === null || rpConf === void 0 ? void 0 : rpConf.jwks) ?? requestObject.client_metadata.jwks,
84
+ encrypted_response_enc_values_supported: (rpConf === null || rpConf === void 0 ? void 0 : rpConf.encrypted_response_enc_values_supported) ?? requestObject.client_metadata.encrypted_response_enc_values_supported
82
85
  };
83
- const vp_token = presentations.reduce((acc, p) => {
86
+ const vp_token = remotePresentation.presentations.reduce((acc, p) => {
84
87
  (acc[p.credentialId] ??= []).push(p.vpToken);
85
88
  return acc;
86
89
  }, {});
@@ -1 +1 @@
1
- {"version":3,"names":["createAuthorizationResponse","sdkCreateAuthorizationResponse","fetchAuthorizationResponse","sdkFetchAuthorizationResponse","partialCallbacks","mapSdkAuthorizationResponseError","generateRandomAlphaNumericString","hasStatusOrThrow","IoWalletError","RelyingPartyResponseError","AuthorizationResponse","buildDirectPostBody","prepareVpToken","createCryptoContextFor","prepareVpTokenMdoc","prepareRemotePresentations","credentials","authRequestObject","generatedNonce","presentations","Promise","all","map","item","format","vp_token","nonce","clientId","credential","presentationFrame","keyTag","requestedClaims","requiredDisclosures","_ref","name","credentialId","id","vpToken","responseUri","doctype","_ref2","sendAuthorizationResponse","requestObject","remotePresentation","rpConf","appFetch","fetch","arguments","length","undefined","rpJwks","jwks","encrypted_response_enc_values_supported","reduce","acc","p","push","jarm","callbacks","encryptJwe","generateRandom","authorizationResponseJarm","responseJwe","presentationResponseUri","response_uri","err","sendAuthorizationErrorResponse","_ref3","error","errorDescription","requestBody","error_description","method","headers","body","then","res","json","parse"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.3.3/07-send-authorization-response.ts"],"mappings":"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"}
1
+ {"version":3,"names":["createAuthorizationResponse","sdkCreateAuthorizationResponse","fetchAuthorizationResponse","sdkFetchAuthorizationResponse","partialCallbacks","mapSdkAuthorizationResponseError","generateRandomAlphaNumericString","hasStatusOrThrow","IoWalletError","RelyingPartyResponseError","AuthorizationResponse","buildDirectPostBody","prepareVpToken","createCryptoContextFor","prepareVpTokenMdoc","prepareRemotePresentations","credentials","authRequestObject","generatedNonce","presentations","Promise","all","map","item","format","vp_token","nonce","clientId","credential","presentationFrame","keyTag","requestedClaims","requiredDisclosures","_ref","name","credentialId","id","vpToken","responseUri","doctype","_ref2","sendAuthorizationResponse","requestObject","remotePresentation","rpConf","appFetch","fetch","arguments","length","undefined","client_metadata","rpJwks","jwks","encrypted_response_enc_values_supported","reduce","acc","p","push","jarm","callbacks","encryptJwe","generateRandom","authorizationResponseJarm","responseJwe","presentationResponseUri","response_uri","err","sendAuthorizationErrorResponse","_ref3","error","errorDescription","requestBody","error_description","method","headers","body","then","res","json","parse"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.3.3/07-send-authorization-response.ts"],"mappings":"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"}
@@ -1,24 +1,36 @@
1
1
  import { createMapper } from "../../../utils/mappers";
2
- export const mapToRelyingPartyConfig = createMapper(x => {
2
+ export const mapToRelyingPartyConfig = createMapper(_ref => {
3
+ let {
4
+ payload
5
+ } = _ref;
3
6
  const {
4
7
  federation_entity,
5
8
  openid_credential_verifier
6
- } = x.payload.metadata;
9
+ } = payload.metadata;
7
10
  return {
8
- subject: x.payload.sub,
11
+ subject: payload.sub,
9
12
  jwks: openid_credential_verifier.jwks,
10
13
  federation_entity,
11
14
  encrypted_response_enc_values_supported: openid_credential_verifier.encrypted_response_enc_values_supported
12
15
  };
13
16
  });
14
- export const mapToRequestObject = createMapper(x => ({
15
- iss: x.iss,
16
- client_id: x.client_id,
17
- dcql_query: x.dcql_query,
18
- nonce: x.nonce,
19
- response_uri: x.response_uri,
20
- state: x.state,
21
- response_mode: x.response_mode,
22
- response_type: x.response_type
23
- }));
17
+ export const mapToRequestObject = createMapper(_ref2 => {
18
+ let {
19
+ payload,
20
+ header
21
+ } = _ref2;
22
+ return {
23
+ iss: payload.iss,
24
+ client_id: payload.client_id,
25
+ dcql_query: payload.dcql_query,
26
+ nonce: payload.nonce,
27
+ response_uri: payload.response_uri,
28
+ state: payload.state,
29
+ response_mode: payload.response_mode,
30
+ response_type: payload.response_type,
31
+ client_metadata: payload.client_metadata,
32
+ x5c: header.x5c,
33
+ trust_chain: header.trust_chain
34
+ };
35
+ });
24
36
  //# sourceMappingURL=mappers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createMapper","mapToRelyingPartyConfig","x","federation_entity","openid_credential_verifier","payload","metadata","subject","sub","jwks","encrypted_response_enc_values_supported","mapToRequestObject","iss","client_id","dcql_query","nonce","response_uri","state","response_mode","response_type"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.3.3/mappers.ts"],"mappings":"AACA,SAASA,YAAY,QAAQ,wBAAwB;AAKrD,OAAO,MAAMC,uBAAuB,GAAGD,YAAY,CAGhDE,CAAC,IAAK;EACP,MAAM;IAAEC,iBAAiB;IAAEC;EAA2B,CAAC,GAAGF,CAAC,CAACG,OAAO,CAACC,QAAQ;EAE5E,OAAO;IACLC,OAAO,EAAEL,CAAC,CAACG,OAAO,CAACG,GAAG;IACtBC,IAAI,EAAEL,0BAA0B,CAACK,IAAI;IACrCN,iBAAiB;IACjBO,uCAAuC,EACrCN,0BAA0B,CAACM;EAC/B,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,MAAMC,kBAAkB,GAAGX,YAAY,CAG3CE,CAAC,KAAM;EACRU,GAAG,EAAEV,CAAC,CAACU,GAAG;EACVC,SAAS,EAAEX,CAAC,CAACW,SAAS;EACtBC,UAAU,EAAEZ,CAAC,CAACY,UAAU;EACxBC,KAAK,EAAEb,CAAC,CAACa,KAAK;EACdC,YAAY,EAAEd,CAAC,CAACc,YAAY;EAC5BC,KAAK,EAAEf,CAAC,CAACe,KAAK;EACdC,aAAa,EAAEhB,CAAC,CAACgB,aAAa;EAC9BC,aAAa,EAAEjB,CAAC,CAACiB;AACnB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"names":["createMapper","mapToRelyingPartyConfig","_ref","payload","federation_entity","openid_credential_verifier","metadata","subject","sub","jwks","encrypted_response_enc_values_supported","mapToRequestObject","_ref2","header","iss","client_id","dcql_query","nonce","response_uri","state","response_mode","response_type","client_metadata","x5c","trust_chain"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.3.3/mappers.ts"],"mappings":"AACA,SAASA,YAAY,QAAQ,wBAAwB;AAKrD,OAAO,MAAMC,uBAAuB,GAAGD,YAAY,CAGjDE,IAAA,IAAiB;EAAA,IAAhB;IAAEC;EAAQ,CAAC,GAAAD,IAAA;EACZ,MAAM;IAAEE,iBAAiB;IAAEC;EAA2B,CAAC,GAAGF,OAAO,CAACG,QAAQ;EAE1E,OAAO;IACLC,OAAO,EAAEJ,OAAO,CAACK,GAAG;IACpBC,IAAI,EAAEJ,0BAA0B,CAACI,IAAI;IACrCL,iBAAiB;IACjBM,uCAAuC,EACrCL,0BAA0B,CAACK;EAC/B,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,MAAMC,kBAAkB,GAAGX,YAAY,CAC5CY,KAAA;EAAA,IAAC;IAAET,OAAO;IAAEU;EAAO,CAAC,GAAAD,KAAA;EAAA,OAAM;IACxBE,GAAG,EAAEX,OAAO,CAACW,GAAG;IAChBC,SAAS,EAAEZ,OAAO,CAACY,SAAS;IAC5BC,UAAU,EAAEb,OAAO,CAACa,UAAU;IAC9BC,KAAK,EAAEd,OAAO,CAACc,KAAK;IACpBC,YAAY,EAAEf,OAAO,CAACe,YAAY;IAClCC,KAAK,EAAEhB,OAAO,CAACgB,KAAK;IACpBC,aAAa,EAAEjB,OAAO,CAACiB,aAAa;IACpCC,aAAa,EAAElB,OAAO,CAACkB,aAAa;IACpCC,eAAe,EAAEnB,OAAO,CAACmB,eAAe;IACxCC,GAAG,EAAEV,MAAM,CAACU,GAAG;IACfC,WAAW,EAAEX,MAAM,CAACW;EACtB,CAAC;AAAA,CACH,CAAC"}
@@ -1,6 +1,9 @@
1
1
  import * as z from "zod";
2
- import { zOpenid4vpAuthorizationRequestPayload as sdkRequestObjectPayload } from "@pagopa/io-wallet-oid4vp";
3
- export const RequestObjectPayload = sdkRequestObjectPayload;
2
+ import { zOpenid4vpAuthorizationRequestHeaderV1_3, zOpenid4vpAuthorizationRequestPayload } from "@pagopa/io-wallet-oid4vp";
3
+ export const RawRequestObject = z.object({
4
+ header: zOpenid4vpAuthorizationRequestHeaderV1_3,
5
+ payload: zOpenid4vpAuthorizationRequestPayload
6
+ });
4
7
  export const AuthorizationResponse = z.object({
5
8
  status: z.string().optional(),
6
9
  response_code: z.string().optional(),
@@ -1 +1 @@
1
- {"version":3,"names":["z","zOpenid4vpAuthorizationRequestPayload","sdkRequestObjectPayload","RequestObjectPayload","AuthorizationResponse","object","status","string","optional","response_code","redirect_uri"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.3.3/types.ts"],"mappings":"AAAA,OAAO,KAAKA,CAAC,MAAM,KAAK;AACxB,SAASC,qCAAqC,IAAIC,uBAAuB,QAAQ,0BAA0B;AAG3G,OAAO,MAAMC,oBAAoB,GAAGD,uBAAuB;AAG3D,OAAO,MAAME,qBAAqB,GAAGJ,CAAC,CAACK,MAAM,CAAC;EAC5CC,MAAM,EAAEN,CAAC,CAACO,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC7BC,aAAa,EAAET,CAAC,CAACO,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACpCE,YAAY,EAAEV,CAAC,CAACO,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AACpC,CAAC,CAAC"}
1
+ {"version":3,"names":["z","zOpenid4vpAuthorizationRequestHeaderV1_3","zOpenid4vpAuthorizationRequestPayload","RawRequestObject","object","header","payload","AuthorizationResponse","status","string","optional","response_code","redirect_uri"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.3.3/types.ts"],"mappings":"AAAA,OAAO,KAAKA,CAAC,MAAM,KAAK;AACxB,SACEC,wCAAwC,EACxCC,qCAAqC,QAChC,0BAA0B;AAGjC,OAAO,MAAMC,gBAAgB,GAAGH,CAAC,CAACI,MAAM,CAAC;EACvCC,MAAM,EAAEJ,wCAAwC;EAChDK,OAAO,EAAEJ;AACX,CAAC,CAAC;AAGF,OAAO,MAAMK,qBAAqB,GAAGP,CAAC,CAACI,MAAM,CAAC;EAC5CI,MAAM,EAAER,CAAC,CAACS,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC7BC,aAAa,EAAEX,CAAC,CAACS,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACpCE,YAAY,EAAEZ,CAAC,CAACS,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AACpC,CAAC,CAAC"}
@@ -111,15 +111,16 @@ const res = await wallet.CredentialStatus.statusList.get(
111
111
  );
112
112
 
113
113
  // Verify and parse the status list response to get the credential status
114
- const { status } =
114
+ const { status, statusBit } =
115
115
  await wallet.CredentialStatus.statusList.verifyAndParse(
116
- issuerConf,
116
+ issuerConf.keys,
117
117
  res
118
118
  );
119
119
 
120
120
  return {
121
121
  statusList: res.statusList,
122
122
  status,
123
+ statusBit,
123
124
  };
124
125
  ```
125
126
 
@@ -1,4 +1,5 @@
1
1
  import { CBOR } from "@pagopa/io-react-native-iso18013";
2
+ import { decode as decodeJwt } from "@pagopa/io-react-native-jwt";
2
3
  import { getStatusListFromJWT } from "@sd-jwt/jwt-status-list";
3
4
  import { IoWalletError } from "../../../utils/errors";
4
5
  import { hasStatusOrThrow } from "../../../utils/misc";
@@ -26,11 +27,32 @@ export const getStatusList = async function (credential, format) {
26
27
  uri,
27
28
  idx
28
29
  } = await getStatusListEntry(credential, format);
29
- const statusList = await appFetch(uri, {
30
- headers: {
31
- Accept: "application/statuslist+jwt"
32
- }
33
- }).then(hasStatusOrThrow(200)).then(response => response.text());
30
+ const fetchStatusList = function () {
31
+ let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
32
+ return appFetch(uri, {
33
+ headers: {
34
+ Accept: "application/statuslist+jwt",
35
+ ...(options.cacheDisabled && {
36
+ "Cache-Control": "no-cache"
37
+ })
38
+ }
39
+ }).then(hasStatusOrThrow(200)).then(response => response.text());
40
+ };
41
+
42
+ // When the HTTP response includes cache headers, fetch will return a cached response and the JWT might be expired
43
+ let statusList = await fetchStatusList();
44
+ const decoded = decodeJwt(statusList);
45
+ const {
46
+ exp
47
+ } = decoded.payload;
48
+
49
+ // If the status list JWT is expired, try to fetch it again bypassing the HTTP cache.
50
+ // If it is still expired after the refetch, `verifyAndParseStatusList` will throw.
51
+ if (exp && exp < Math.floor(Date.now() / 1000)) {
52
+ statusList = await fetchStatusList({
53
+ cacheDisabled: true
54
+ });
55
+ }
34
56
  return {
35
57
  statusList,
36
58
  uri,
@@ -1 +1 @@
1
- {"version":3,"names":["CBOR","getStatusListFromJWT","IoWalletError","hasStatusOrThrow","getStatusListEntry","credential","format","statusListEntry","_decoded$issuerAuth","decoded","decode","issuerAuth","payload","status","status_list","getStatusList","appFetch","fetch","arguments","length","undefined","uri","idx","statusList","headers","Accept","then","response","text"],"sourceRoot":"../../../../../src","sources":["credential/status/v1.3.3/01-status-list.ts"],"mappings":"AAAA,SAASA,IAAI,QAAQ,kCAAkC;AACvD,SACEC,oBAAoB,QAEf,yBAAyB;AAChC,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,gBAAgB,QAAQ,qBAAqB;AAItD,MAAMC,kBAAkB,GAAG,MAAAA,CACzBC,UAAkB,EAClBC,MAAwB,KACK;EAC7B,IAAIC,eAA4C;EAEhD,IAAID,MAAM,KAAK,UAAU,EAAE;IAAA,IAAAE,mBAAA;IACzB;IACA,MAAMC,OAAO,GAAG,MAAMT,IAAI,CAACU,MAAM,CAACL,UAAU,CAAC;IAC7CE,eAAe,IAAAC,mBAAA,GAAGC,OAAO,CAACE,UAAU,cAAAH,mBAAA,gBAAAA,mBAAA,GAAlBA,mBAAA,CAAoBI,OAAO,cAAAJ,mBAAA,gBAAAA,mBAAA,GAA3BA,mBAAA,CAA6BK,MAAM,cAAAL,mBAAA,uBAAnCA,mBAAA,CAAqCM,WAAW;EACpE;EAEA,IAAIR,MAAM,KAAK,WAAW,EAAE;IAC1BC,eAAe,GAAGN,oBAAoB,CAACI,UAAU,CAAC;EACpD;EAEA,IAAI,CAACE,eAAe,EAAE;IACpB,MAAM,IAAIL,aAAa,CAAC,+CAA+C,CAAC;EAC1E;EAEA,OAAOK,eAAe;AACxB,CAAC;AAED,OAAO,MAAMQ,aAAmC,GAAG,eAAAA,CACjDV,UAAU,EACVC,MAAM,EAEH;EAAA,IADH;IAAEU,QAAQ,GAAGC;EAAM,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEzB,MAAM;IAAEG,GAAG;IAAEC;EAAI,CAAC,GAAG,MAAMlB,kBAAkB,CAACC,UAAU,EAAEC,MAAM,CAAC;EAEjE,MAAMiB,UAAU,GAAG,MAAMP,QAAQ,CAACK,GAAG,EAAE;IACrCG,OAAO,EAAE;MACPC,MAAM,EAAE;IACV;EACF,CAAC,CAAC,CACCC,IAAI,CAACvB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAC3BuB,IAAI,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,IAAI,CAAC,CAAC,CAAC;EAEtC,OAAO;IAAEL,UAAU;IAAEF,GAAG;IAAEC,GAAG;IAAEhB,MAAM,EAAE;EAAM,CAAC;AAChD,CAAC"}
1
+ {"version":3,"names":["CBOR","decode","decodeJwt","getStatusListFromJWT","IoWalletError","hasStatusOrThrow","getStatusListEntry","credential","format","statusListEntry","_decoded$issuerAuth","decoded","issuerAuth","payload","status","status_list","getStatusList","appFetch","fetch","arguments","length","undefined","uri","idx","fetchStatusList","options","headers","Accept","cacheDisabled","then","response","text","statusList","exp","Math","floor","Date","now"],"sourceRoot":"../../../../../src","sources":["credential/status/v1.3.3/01-status-list.ts"],"mappings":"AAAA,SAASA,IAAI,QAAQ,kCAAkC;AACvD,SAASC,MAAM,IAAIC,SAAS,QAAQ,6BAA6B;AACjE,SACEC,oBAAoB,QAEf,yBAAyB;AAChC,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,gBAAgB,QAAQ,qBAAqB;AAItD,MAAMC,kBAAkB,GAAG,MAAAA,CACzBC,UAAkB,EAClBC,MAAwB,KACK;EAC7B,IAAIC,eAA4C;EAEhD,IAAID,MAAM,KAAK,UAAU,EAAE;IAAA,IAAAE,mBAAA;IACzB;IACA,MAAMC,OAAO,GAAG,MAAMX,IAAI,CAACC,MAAM,CAACM,UAAU,CAAC;IAC7CE,eAAe,IAAAC,mBAAA,GAAGC,OAAO,CAACC,UAAU,cAAAF,mBAAA,gBAAAA,mBAAA,GAAlBA,mBAAA,CAAoBG,OAAO,cAAAH,mBAAA,gBAAAA,mBAAA,GAA3BA,mBAAA,CAA6BI,MAAM,cAAAJ,mBAAA,uBAAnCA,mBAAA,CAAqCK,WAAW;EACpE;EAEA,IAAIP,MAAM,KAAK,WAAW,EAAE;IAC1BC,eAAe,GAAGN,oBAAoB,CAACI,UAAU,CAAC;EACpD;EAEA,IAAI,CAACE,eAAe,EAAE;IACpB,MAAM,IAAIL,aAAa,CAAC,+CAA+C,CAAC;EAC1E;EAEA,OAAOK,eAAe;AACxB,CAAC;AAED,OAAO,MAAMO,aAAmC,GAAG,eAAAA,CACjDT,UAAU,EACVC,MAAM,EAEH;EAAA,IADH;IAAES,QAAQ,GAAGC;EAAM,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEzB,MAAM;IAAEG,GAAG;IAAEC;EAAI,CAAC,GAAG,MAAMjB,kBAAkB,CAACC,UAAU,EAAEC,MAAM,CAAC;EAEjE,MAAMgB,eAAe,GAAG,SAAAA,CAAA;IAAA,IAACC,OAAoC,GAAAN,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAChEF,QAAQ,CAACK,GAAG,EAAE;MACZI,OAAO,EAAE;QACPC,MAAM,EAAE,4BAA4B;QACpC,IAAIF,OAAO,CAACG,aAAa,IAAI;UAAE,eAAe,EAAE;QAAW,CAAC;MAC9D;IACF,CAAC,CAAC,CACCC,IAAI,CAACxB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAC3BwB,IAAI,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,IAAI,CAAC,CAAC,CAAC;EAAA;;EAExC;EACA,IAAIC,UAAU,GAAG,MAAMR,eAAe,CAAC,CAAC;EACxC,MAAMb,OAAO,GAAGT,SAAS,CAAC8B,UAAU,CAAC;EAErC,MAAM;IAAEC;EAAI,CAAC,GAAGtB,OAAO,CAACE,OAAO;;EAE/B;EACA;EACA,IAAIoB,GAAG,IAAIA,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE;IAC9CL,UAAU,GAAG,MAAMR,eAAe,CAAC;MAAEI,aAAa,EAAE;IAAK,CAAC,CAAC;EAC7D;EACA,OAAO;IAAEI,UAAU;IAAEV,GAAG;IAAEC,GAAG;IAAEf,MAAM,EAAE;EAAM,CAAC;AAChD,CAAC"}