@pagopa/io-react-native-wallet 0.28.2 → 0.30.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 (173) hide show
  1. package/README.md +43 -0
  2. package/lib/commonjs/credential/issuance/03-start-user-authorization.js +5 -0
  3. package/lib/commonjs/credential/issuance/03-start-user-authorization.js.map +1 -1
  4. package/lib/commonjs/credential/issuance/04-complete-user-authorization.js +12 -0
  5. package/lib/commonjs/credential/issuance/04-complete-user-authorization.js.map +1 -1
  6. package/lib/commonjs/credential/issuance/05-authorize-access.js +5 -0
  7. package/lib/commonjs/credential/issuance/05-authorize-access.js.map +1 -1
  8. package/lib/commonjs/credential/issuance/06-obtain-credential.js +13 -2
  9. package/lib/commonjs/credential/issuance/06-obtain-credential.js.map +1 -1
  10. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js +10 -0
  11. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
  12. package/lib/commonjs/credential/presentation/01-start-flow.js +9 -8
  13. package/lib/commonjs/credential/presentation/01-start-flow.js.map +1 -1
  14. package/lib/commonjs/credential/presentation/03-get-request-object.js +3 -2
  15. package/lib/commonjs/credential/presentation/03-get-request-object.js.map +1 -1
  16. package/lib/commonjs/credential/presentation/05-verify-request-object.js +57 -22
  17. package/lib/commonjs/credential/presentation/05-verify-request-object.js.map +1 -1
  18. package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js +43 -16
  19. package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js.map +1 -1
  20. package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js +16 -4
  21. package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
  22. package/lib/commonjs/credential/presentation/08-send-authorization-response.js +85 -3
  23. package/lib/commonjs/credential/presentation/08-send-authorization-response.js.map +1 -1
  24. package/lib/commonjs/credential/presentation/README.md +27 -9
  25. package/lib/commonjs/credential/presentation/errors.js +28 -23
  26. package/lib/commonjs/credential/presentation/errors.js.map +1 -1
  27. package/lib/commonjs/credential/presentation/index.js +6 -0
  28. package/lib/commonjs/credential/presentation/index.js.map +1 -1
  29. package/lib/commonjs/credential/presentation/types.js +14 -7
  30. package/lib/commonjs/credential/presentation/types.js.map +1 -1
  31. package/lib/commonjs/credential/status/02-status-attestation.js +2 -0
  32. package/lib/commonjs/credential/status/02-status-attestation.js.map +1 -1
  33. package/lib/commonjs/credential/status/03-verify-and-parse-status-attestation.js +3 -0
  34. package/lib/commonjs/credential/status/03-verify-and-parse-status-attestation.js.map +1 -1
  35. package/lib/commonjs/credential/trustmark/get-credential-trustmark.js +5 -0
  36. package/lib/commonjs/credential/trustmark/get-credential-trustmark.js.map +1 -1
  37. package/lib/commonjs/index.js +3 -1
  38. package/lib/commonjs/index.js.map +1 -1
  39. package/lib/commonjs/utils/decoder.js +2 -0
  40. package/lib/commonjs/utils/decoder.js.map +1 -1
  41. package/lib/commonjs/utils/error-codes.js +9 -1
  42. package/lib/commonjs/utils/error-codes.js.map +1 -1
  43. package/lib/commonjs/utils/errors.js +31 -14
  44. package/lib/commonjs/utils/errors.js.map +1 -1
  45. package/lib/commonjs/utils/logging.js +68 -0
  46. package/lib/commonjs/utils/logging.js.map +1 -0
  47. package/lib/commonjs/utils/misc.js +2 -0
  48. package/lib/commonjs/utils/misc.js.map +1 -1
  49. package/lib/commonjs/utils/par.js +2 -0
  50. package/lib/commonjs/utils/par.js.map +1 -1
  51. package/lib/commonjs/wallet-instance/index.js +4 -0
  52. package/lib/commonjs/wallet-instance/index.js.map +1 -1
  53. package/lib/commonjs/wallet-instance-attestation/issuing.js +5 -0
  54. package/lib/commonjs/wallet-instance-attestation/issuing.js.map +1 -1
  55. package/lib/module/credential/issuance/03-start-user-authorization.js +5 -0
  56. package/lib/module/credential/issuance/03-start-user-authorization.js.map +1 -1
  57. package/lib/module/credential/issuance/04-complete-user-authorization.js +12 -0
  58. package/lib/module/credential/issuance/04-complete-user-authorization.js.map +1 -1
  59. package/lib/module/credential/issuance/05-authorize-access.js +5 -0
  60. package/lib/module/credential/issuance/05-authorize-access.js.map +1 -1
  61. package/lib/module/credential/issuance/06-obtain-credential.js +13 -2
  62. package/lib/module/credential/issuance/06-obtain-credential.js.map +1 -1
  63. package/lib/module/credential/issuance/07-verify-and-parse-credential.js +10 -0
  64. package/lib/module/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
  65. package/lib/module/credential/presentation/01-start-flow.js +9 -8
  66. package/lib/module/credential/presentation/01-start-flow.js.map +1 -1
  67. package/lib/module/credential/presentation/03-get-request-object.js +3 -2
  68. package/lib/module/credential/presentation/03-get-request-object.js.map +1 -1
  69. package/lib/module/credential/presentation/05-verify-request-object.js +58 -23
  70. package/lib/module/credential/presentation/05-verify-request-object.js.map +1 -1
  71. package/lib/module/credential/presentation/07-evaluate-dcql-query.js +44 -17
  72. package/lib/module/credential/presentation/07-evaluate-dcql-query.js.map +1 -1
  73. package/lib/module/credential/presentation/07-evaluate-input-descriptor.js +17 -5
  74. package/lib/module/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
  75. package/lib/module/credential/presentation/08-send-authorization-response.js +82 -1
  76. package/lib/module/credential/presentation/08-send-authorization-response.js.map +1 -1
  77. package/lib/module/credential/presentation/README.md +27 -9
  78. package/lib/module/credential/presentation/errors.js +17 -19
  79. package/lib/module/credential/presentation/errors.js.map +1 -1
  80. package/lib/module/credential/presentation/index.js +2 -2
  81. package/lib/module/credential/presentation/index.js.map +1 -1
  82. package/lib/module/credential/presentation/types.js +12 -6
  83. package/lib/module/credential/presentation/types.js.map +1 -1
  84. package/lib/module/credential/status/02-status-attestation.js +2 -0
  85. package/lib/module/credential/status/02-status-attestation.js.map +1 -1
  86. package/lib/module/credential/status/03-verify-and-parse-status-attestation.js +3 -0
  87. package/lib/module/credential/status/03-verify-and-parse-status-attestation.js.map +1 -1
  88. package/lib/module/credential/trustmark/get-credential-trustmark.js +5 -0
  89. package/lib/module/credential/trustmark/get-credential-trustmark.js.map +1 -1
  90. package/lib/module/index.js +2 -1
  91. package/lib/module/index.js.map +1 -1
  92. package/lib/module/utils/decoder.js +2 -0
  93. package/lib/module/utils/decoder.js.map +1 -1
  94. package/lib/module/utils/error-codes.js +7 -0
  95. package/lib/module/utils/error-codes.js.map +1 -1
  96. package/lib/module/utils/errors.js +23 -14
  97. package/lib/module/utils/errors.js.map +1 -1
  98. package/lib/module/utils/logging.js +62 -0
  99. package/lib/module/utils/logging.js.map +1 -0
  100. package/lib/module/utils/misc.js +2 -0
  101. package/lib/module/utils/misc.js.map +1 -1
  102. package/lib/module/utils/par.js +2 -0
  103. package/lib/module/utils/par.js.map +1 -1
  104. package/lib/module/wallet-instance/index.js +4 -0
  105. package/lib/module/wallet-instance/index.js.map +1 -1
  106. package/lib/module/wallet-instance-attestation/issuing.js +5 -0
  107. package/lib/module/wallet-instance-attestation/issuing.js.map +1 -1
  108. package/lib/typescript/credential/issuance/03-start-user-authorization.d.ts.map +1 -1
  109. package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts.map +1 -1
  110. package/lib/typescript/credential/issuance/05-authorize-access.d.ts.map +1 -1
  111. package/lib/typescript/credential/issuance/06-obtain-credential.d.ts +1 -1
  112. package/lib/typescript/credential/issuance/06-obtain-credential.d.ts.map +1 -1
  113. package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts.map +1 -1
  114. package/lib/typescript/credential/presentation/01-start-flow.d.ts +17 -14
  115. package/lib/typescript/credential/presentation/01-start-flow.d.ts.map +1 -1
  116. package/lib/typescript/credential/presentation/03-get-request-object.d.ts +1 -3
  117. package/lib/typescript/credential/presentation/03-get-request-object.d.ts.map +1 -1
  118. package/lib/typescript/credential/presentation/05-verify-request-object.d.ts +2 -1
  119. package/lib/typescript/credential/presentation/05-verify-request-object.d.ts.map +1 -1
  120. package/lib/typescript/credential/presentation/07-evaluate-dcql-query.d.ts.map +1 -1
  121. package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts.map +1 -1
  122. package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts +30 -2
  123. package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts.map +1 -1
  124. package/lib/typescript/credential/presentation/errors.d.ts +17 -12
  125. package/lib/typescript/credential/presentation/errors.d.ts.map +1 -1
  126. package/lib/typescript/credential/presentation/index.d.ts +3 -3
  127. package/lib/typescript/credential/presentation/index.d.ts.map +1 -1
  128. package/lib/typescript/credential/presentation/types.d.ts +24 -17
  129. package/lib/typescript/credential/presentation/types.d.ts.map +1 -1
  130. package/lib/typescript/credential/status/02-status-attestation.d.ts.map +1 -1
  131. package/lib/typescript/credential/status/03-verify-and-parse-status-attestation.d.ts.map +1 -1
  132. package/lib/typescript/credential/trustmark/get-credential-trustmark.d.ts.map +1 -1
  133. package/lib/typescript/index.d.ts +2 -1
  134. package/lib/typescript/index.d.ts.map +1 -1
  135. package/lib/typescript/utils/decoder.d.ts.map +1 -1
  136. package/lib/typescript/utils/error-codes.d.ts +8 -0
  137. package/lib/typescript/utils/error-codes.d.ts.map +1 -1
  138. package/lib/typescript/utils/errors.d.ts +32 -18
  139. package/lib/typescript/utils/errors.d.ts.map +1 -1
  140. package/lib/typescript/utils/logging.d.ts +35 -0
  141. package/lib/typescript/utils/logging.d.ts.map +1 -0
  142. package/lib/typescript/utils/misc.d.ts.map +1 -1
  143. package/lib/typescript/utils/par.d.ts.map +1 -1
  144. package/lib/typescript/wallet-instance/index.d.ts.map +1 -1
  145. package/lib/typescript/wallet-instance-attestation/issuing.d.ts.map +1 -1
  146. package/package.json +1 -1
  147. package/src/credential/issuance/03-start-user-authorization.ts +18 -0
  148. package/src/credential/issuance/04-complete-user-authorization.ts +51 -0
  149. package/src/credential/issuance/05-authorize-access.ts +16 -0
  150. package/src/credential/issuance/06-obtain-credential.ts +31 -2
  151. package/src/credential/issuance/07-verify-and-parse-credential.ts +27 -1
  152. package/src/credential/presentation/01-start-flow.ts +12 -11
  153. package/src/credential/presentation/03-get-request-object.ts +5 -5
  154. package/src/credential/presentation/05-verify-request-object.ts +73 -15
  155. package/src/credential/presentation/07-evaluate-dcql-query.ts +43 -18
  156. package/src/credential/presentation/07-evaluate-input-descriptor.ts +25 -13
  157. package/src/credential/presentation/08-send-authorization-response.ts +110 -3
  158. package/src/credential/presentation/README.md +27 -9
  159. package/src/credential/presentation/errors.ts +24 -17
  160. package/src/credential/presentation/index.ts +4 -0
  161. package/src/credential/presentation/types.ts +22 -10
  162. package/src/credential/status/02-status-attestation.ts +3 -0
  163. package/src/credential/status/03-verify-and-parse-status-attestation.ts +10 -0
  164. package/src/credential/trustmark/get-credential-trustmark.ts +19 -0
  165. package/src/index.ts +2 -0
  166. package/src/utils/decoder.ts +5 -0
  167. package/src/utils/error-codes.ts +11 -0
  168. package/src/utils/errors.ts +59 -29
  169. package/src/utils/logging.ts +68 -0
  170. package/src/utils/misc.ts +5 -0
  171. package/src/utils/par.ts +6 -0
  172. package/src/wallet-instance/index.ts +17 -1
  173. package/src/wallet-instance-attestation/issuing.ts +19 -0
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Logger = exports.LogLevel = void 0;
7
+ /**
8
+ * Logger interface which can be provided to the Logger class as a custom implementation.
9
+ */
10
+ /**
11
+ * Supported debug levels.
12
+ */
13
+ let LogLevel = /*#__PURE__*/function (LogLevel) {
14
+ LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
15
+ LogLevel[LogLevel["INFO"] = 1] = "INFO";
16
+ LogLevel[LogLevel["WARN"] = 2] = "WARN";
17
+ LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
18
+ return LogLevel;
19
+ }({});
20
+ /**
21
+ * Logger singleton class which provides a simple logging interface with an init function to set the logging context and
22
+ * a static log function to log messages based on the debug level.
23
+ * This can be used as follows:
24
+ * const logger = Logger.getInstance();
25
+ * logger.initLogging(yourLoggingContext);
26
+ * logger.log(LogLevel.DEBUG, "Debug message");
27
+ */
28
+ exports.LogLevel = LogLevel;
29
+ class Logger {
30
+ static instance = null;
31
+ // Private constructor to prevent direct instantiation
32
+ constructor() {}
33
+
34
+ // Public static method to get the Logger instance
35
+ static getInstance() {
36
+ if (Logger.instance === null) {
37
+ Logger.instance = new Logger();
38
+ }
39
+ return Logger.instance;
40
+ }
41
+
42
+ // Method to initialize the logging context
43
+ initLogging(loggingCtx) {
44
+ Logger.loggingContext = loggingCtx;
45
+ }
46
+
47
+ // Method to log based on the level which wraps the null check for the logging context
48
+ static log(level, msg) {
49
+ if (Logger.loggingContext) {
50
+ switch (level) {
51
+ case LogLevel.DEBUG:
52
+ Logger.loggingContext.logDebug(msg);
53
+ break;
54
+ case LogLevel.INFO:
55
+ Logger.loggingContext.logInfo(msg);
56
+ break;
57
+ case LogLevel.WARN:
58
+ Logger.loggingContext.logWarn(msg);
59
+ break;
60
+ case LogLevel.ERROR:
61
+ Logger.loggingContext.logError(msg);
62
+ break;
63
+ }
64
+ }
65
+ }
66
+ }
67
+ exports.Logger = Logger;
68
+ //# sourceMappingURL=logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["LogLevel","exports","Logger","instance","constructor","getInstance","initLogging","loggingCtx","loggingContext","log","level","msg","DEBUG","logDebug","INFO","logInfo","WARN","logWarn","ERROR","logError"],"sourceRoot":"../../../src","sources":["utils/logging.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AAQA;AACA;AACA;AAFA,IAGYA,QAAQ,0BAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAOpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAC,OAAA,CAAAD,QAAA,GAAAA,QAAA;AAQO,MAAME,MAAM,CAAC;EAClB,OAAeC,QAAQ,GAAkB,IAAI;EAG7C;EACQC,WAAWA,CAAA,EAAG,CAAC;;EAEvB;EACA,OAAcC,WAAWA,CAAA,EAAW;IAClC,IAAIH,MAAM,CAACC,QAAQ,KAAK,IAAI,EAAE;MAC5BD,MAAM,CAACC,QAAQ,GAAG,IAAID,MAAM,CAAC,CAAC;IAChC;IACA,OAAOA,MAAM,CAACC,QAAQ;EACxB;;EAEA;EACOG,WAAWA,CAACC,UAA0B,EAAQ;IACnDL,MAAM,CAACM,cAAc,GAAGD,UAAU;EACpC;;EAEA;EACA,OAAcE,GAAGA,CAACC,KAAe,EAAEC,GAAW,EAAQ;IACpD,IAAIT,MAAM,CAACM,cAAc,EAAE;MACzB,QAAQE,KAAK;QACX,KAAKV,QAAQ,CAACY,KAAK;UACjBV,MAAM,CAACM,cAAc,CAACK,QAAQ,CAACF,GAAG,CAAC;UACnC;QACF,KAAKX,QAAQ,CAACc,IAAI;UAChBZ,MAAM,CAACM,cAAc,CAACO,OAAO,CAACJ,GAAG,CAAC;UAClC;QACF,KAAKX,QAAQ,CAACgB,IAAI;UAChBd,MAAM,CAACM,cAAc,CAACS,OAAO,CAACN,GAAG,CAAC;UAClC;QACF,KAAKX,QAAQ,CAACkB,KAAK;UACjBhB,MAAM,CAACM,cAAc,CAACW,QAAQ,CAACR,GAAG,CAAC;UACnC;MACJ;IACF;EACF;AACF;AAACV,OAAA,CAAAC,MAAA,GAAAA,MAAA"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.safeJsonParse = exports.parseRawHttpResponse = exports.hasStatusOrThrow = exports.getCredentialHashWithouDiscloures = exports.generateRandomAlphaNumericString = void 0;
7
7
  var _errors = require("./errors");
8
8
  var _jsSha = require("js-sha256");
9
+ var _logging = require("./logging");
9
10
  /**
10
11
  * Check if a response is in the expected status, otherwise throw an error
11
12
  * @param status - The expected status
@@ -16,6 +17,7 @@ var _jsSha = require("js-sha256");
16
17
  const hasStatusOrThrow = (status, customError) => async res => {
17
18
  if (res.status !== status) {
18
19
  const ErrorClass = customError ?? _errors.UnexpectedStatusCodeError;
20
+ _logging.Logger.log(_logging.LogLevel.ERROR, `Http request failed. Expected ${status}, got ${res.status}, url: ${res.url}`);
19
21
  throw new ErrorClass({
20
22
  message: `Http request failed. Expected ${status}, got ${res.status}, url: ${res.url}`,
21
23
  statusCode: res.status,
@@ -1 +1 @@
1
- {"version":3,"names":["_errors","require","_jsSha","hasStatusOrThrow","status","customError","res","ErrorClass","UnexpectedStatusCodeError","message","url","statusCode","reason","parseRawHttpResponse","exports","response","_response$headers$get","headers","get","includes","json","text","generateRandomAlphaNumericString","size","Array","from","Math","floor","random","toString","join","getCredentialHashWithouDiscloures","credential","tildeIndex","indexOf","IoWalletError","sha256","slice","safeJsonParse","withDefault","JSON","parse","_"],"sourceRoot":"../../../src","sources":["utils/misc.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,gBAAgB,GAC3BA,CAACC,MAAc,EAAEC,WAA8C,KAC/D,MAAOC,GAAa,IAAwB;EAC1C,IAAIA,GAAG,CAACF,MAAM,KAAKA,MAAM,EAAE;IACzB,MAAMG,UAAU,GAAGF,WAAW,IAAIG,iCAAyB;IAC3D,MAAM,IAAID,UAAU,CAAC;MACnBE,OAAO,EAAG,iCAAgCL,MAAO,SAAQE,GAAG,CAACF,MAAO,UAASE,GAAG,CAACI,GAAI,EAAC;MACtFC,UAAU,EAAEL,GAAG,CAACF,MAAM;MACtBQ,MAAM,EAAE,MAAMC,oBAAoB,CAACP,GAAG,CAAC,CAAE;IAC3C,CAAC,CAAC;EACJ;;EACA,OAAOA,GAAG;AACZ,CAAC;;AAEH;AACA;AACA;AAFAQ,OAAA,CAAAX,gBAAA,GAAAA,gBAAA;AAGO,MAAMU,oBAAoB,GAC/BE,QAAkB;EAAA,IAAAC,qBAAA;EAAA,OAElB,CAAAA,qBAAA,GAAAD,QAAQ,CAACE,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC,cAAAF,qBAAA,eAApCA,qBAAA,CAAsCG,QAAQ,CAAC,kBAAkB,CAAC,GAC7DJ,QAAQ,CAACK,IAAI,CAAC,CAAC,GAChBL,QAAQ,CAACM,IAAI,CAAC,CAAC;AAAA;;AAErB;AACA;AAAAP,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AAOA;AACA;AACA;AACA;AACA;AACO,MAAMS,gCAAgC,GAAIC,IAAY,IAC3DC,KAAK,CAACC,IAAI,CAACD,KAAK,CAACD,IAAI,CAAC,EAAE,MACtBG,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAACC,QAAQ,CAAC,EAAE,CAC5C,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;;AAEZ;AACA;AACA;AACA;AACA;AACA;AALAhB,OAAA,CAAAQ,gCAAA,GAAAA,gCAAA;AAMO,MAAMS,iCAAiC,GAAG,MAC/CC,UAAkB,IACE;EACpB,MAAMC,UAAU,GAAGD,UAAU,CAACE,OAAO,CAAC,GAAG,CAAC;EAC1C,IAAID,UAAU,KAAK,CAAC,CAAC,EAAE;IACrB,MAAM,IAAIE,qBAAa,CAAC,2BAA2B,CAAC;EACtD;EACA,OAAO,IAAAC,aAAM,EAACJ,UAAU,CAACK,KAAK,CAAC,CAAC,EAAEJ,UAAU,CAAC,CAAC;AAChD,CAAC;AAACnB,OAAA,CAAAiB,iCAAA,GAAAA,iCAAA;AAEK,MAAMO,aAAa,GAAGA,CAAIjB,IAAY,EAAEkB,WAAe,KAAe;EAC3E,IAAI;IACF,OAAOC,IAAI,CAACC,KAAK,CAACpB,IAAI,CAAC;EACzB,CAAC,CAAC,OAAOqB,CAAC,EAAE;IACV,OAAOH,WAAW,IAAI,IAAI;EAC5B;AACF,CAAC;AAACzB,OAAA,CAAAwB,aAAA,GAAAA,aAAA"}
1
+ {"version":3,"names":["_errors","require","_jsSha","_logging","hasStatusOrThrow","status","customError","res","ErrorClass","UnexpectedStatusCodeError","Logger","log","LogLevel","ERROR","url","message","statusCode","reason","parseRawHttpResponse","exports","response","_response$headers$get","headers","get","includes","json","text","generateRandomAlphaNumericString","size","Array","from","Math","floor","random","toString","join","getCredentialHashWithouDiscloures","credential","tildeIndex","indexOf","IoWalletError","sha256","slice","safeJsonParse","withDefault","JSON","parse","_"],"sourceRoot":"../../../src","sources":["utils/misc.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,gBAAgB,GAC3BA,CAACC,MAAc,EAAEC,WAA8C,KAC/D,MAAOC,GAAa,IAAwB;EAC1C,IAAIA,GAAG,CAACF,MAAM,KAAKA,MAAM,EAAE;IACzB,MAAMG,UAAU,GAAGF,WAAW,IAAIG,iCAAyB;IAC3DC,eAAM,CAACC,GAAG,CACRC,iBAAQ,CAACC,KAAK,EACb,iCAAgCR,MAAO,SAAQE,GAAG,CAACF,MAAO,UAASE,GAAG,CAACO,GAAI,EAC9E,CAAC;IACD,MAAM,IAAIN,UAAU,CAAC;MACnBO,OAAO,EAAG,iCAAgCV,MAAO,SAAQE,GAAG,CAACF,MAAO,UAASE,GAAG,CAACO,GAAI,EAAC;MACtFE,UAAU,EAAET,GAAG,CAACF,MAAM;MACtBY,MAAM,EAAE,MAAMC,oBAAoB,CAACX,GAAG,CAAC,CAAE;IAC3C,CAAC,CAAC;EACJ;;EACA,OAAOA,GAAG;AACZ,CAAC;;AAEH;AACA;AACA;AAFAY,OAAA,CAAAf,gBAAA,GAAAA,gBAAA;AAGO,MAAMc,oBAAoB,GAC/BE,QAAkB;EAAA,IAAAC,qBAAA;EAAA,OAElB,CAAAA,qBAAA,GAAAD,QAAQ,CAACE,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC,cAAAF,qBAAA,eAApCA,qBAAA,CAAsCG,QAAQ,CAAC,kBAAkB,CAAC,GAC7DJ,QAAQ,CAACK,IAAI,CAAC,CAAC,GAChBL,QAAQ,CAACM,IAAI,CAAC,CAAC;AAAA;;AAErB;AACA;AAAAP,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AAOA;AACA;AACA;AACA;AACA;AACO,MAAMS,gCAAgC,GAAIC,IAAY,IAC3DC,KAAK,CAACC,IAAI,CAACD,KAAK,CAACD,IAAI,CAAC,EAAE,MACtBG,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAACC,QAAQ,CAAC,EAAE,CAC5C,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;;AAEZ;AACA;AACA;AACA;AACA;AACA;AALAhB,OAAA,CAAAQ,gCAAA,GAAAA,gCAAA;AAMO,MAAMS,iCAAiC,GAAG,MAC/CC,UAAkB,IACE;EACpB,MAAMC,UAAU,GAAGD,UAAU,CAACE,OAAO,CAAC,GAAG,CAAC;EAC1C,IAAID,UAAU,KAAK,CAAC,CAAC,EAAE;IACrB,MAAM,IAAIE,qBAAa,CAAC,2BAA2B,CAAC;EACtD;EACA,OAAO,IAAAC,aAAM,EAACJ,UAAU,CAACK,KAAK,CAAC,CAAC,EAAEJ,UAAU,CAAC,CAAC;AAChD,CAAC;AAACnB,OAAA,CAAAiB,iCAAA,GAAAA,iCAAA;AAEK,MAAMO,aAAa,GAAGA,CAAIjB,IAAY,EAAEkB,WAAe,KAAe;EAC3E,IAAI;IACF,OAAOC,IAAI,CAACC,KAAK,CAACpB,IAAI,CAAC;EACzB,CAAC,CAAC,OAAOqB,CAAC,EAAE;IACV,OAAOH,WAAW,IAAI,IAAI;EAC5B;AACF,CAAC;AAACzB,OAAA,CAAAwB,aAAA,GAAAA,aAAA"}
@@ -11,6 +11,7 @@ var WalletInstanceAttestation = _interopRequireWildcard(require("../wallet-insta
11
11
  var _misc = require("./misc");
12
12
  var _pop = require("./pop");
13
13
  var _errors = require("./errors");
14
+ var _logging = require("./logging");
14
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); }
15
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; }
16
17
  const AuthorizationDetail = z.object({
@@ -81,6 +82,7 @@ const makeParRequest = _ref => {
81
82
  client_assertion_type: assertionType,
82
83
  client_assertion: walletInstanceAttestation + "~" + signedWiaPoP
83
84
  });
85
+ _logging.Logger.log(_logging.LogLevel.DEBUG, `Sending to PAR endpoint ${parEndpoint}: ${formBody}`);
84
86
  return await appFetch(parEndpoint, {
85
87
  method: "POST",
86
88
  headers: {
@@ -1 +1 @@
1
- {"version":3,"names":["_ioReactNativeJwt","require","_uuid","z","_interopRequireWildcard","WalletInstanceAttestation","_misc","_pop","_errors","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AuthorizationDetail","object","credential_configuration_id","string","format","union","literal","type","exports","AuthorizationDetails","array","makeParRequest","_ref","wiaCryptoContext","appFetch","clientId","codeVerifier","redirectUri","responseMode","parEndpoint","walletInstanceAttestation","authorizationDetails","assertionType","wiaPublicKey","getPublicKey","parUrl","URL","aud","protocol","hostname","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","authorization_details","redirect_uri","client_assertion_type","client_assertion","setIssuedAt","setExpirationTime","sign","formBody","URLSearchParams","request","method","headers","body","toString","then","hasStatusOrThrow","IssuerResponseError","res","json","result","request_uri"],"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","object","credential_configuration_id","string","format","union","literal","type","exports","AuthorizationDetails","array","makeParRequest","_ref","wiaCryptoContext","appFetch","clientId","codeVerifier","redirectUri","responseMode","parEndpoint","walletInstanceAttestation","authorizationDetails","assertionType","wiaPublicKey","getPublicKey","parUrl","URL","aud","protocol","hostname","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","authorization_details","redirect_uri","client_assertion_type","client_assertion","setIssuedAt","setExpirationTime","sign","formBody","URLSearchParams","request","Logger","log","LogLevel","DEBUG","method","headers","body","toString","then","hasStatusOrThrow","IssuerResponseError","res","json","result","request_uri"],"sourceRoot":"../../../src","sources":["utils/par.ts"],"mappings":"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"}
@@ -9,6 +9,7 @@ exports.getWalletInstanceStatus = getWalletInstanceStatus;
9
9
  exports.revokeWalletInstance = revokeWalletInstance;
10
10
  var _client = require("../client");
11
11
  var _errors = require("../utils/errors");
12
+ var _logging = require("../utils/logging");
12
13
  async function createWalletInstance(context) {
13
14
  const {
14
15
  integrityContext
@@ -17,8 +18,10 @@ async function createWalletInstance(context) {
17
18
 
18
19
  //1. Obtain nonce
19
20
  const challenge = await api.get("/nonce").then(response => response.nonce);
21
+ _logging.Logger.log(_logging.LogLevel.DEBUG, `Challenge obtained from ${context.walletProviderBaseUrl}: ${challenge}`);
20
22
  const keyAttestation = await integrityContext.getAttestation(challenge);
21
23
  const hardwareKeyTag = integrityContext.getHardwareKeyTag();
24
+ _logging.Logger.log(_logging.LogLevel.DEBUG, `Key attestation: ${keyAttestation}\nAssociated hardware key tag: ${hardwareKeyTag}`);
22
25
 
23
26
  //2. Create Wallet Instance
24
27
  await api.post("/wallet-instances", {
@@ -31,6 +34,7 @@ async function createWalletInstance(context) {
31
34
  return hardwareKeyTag;
32
35
  }
33
36
  const handleCreateWalletInstanceError = e => {
37
+ _logging.Logger.log(_logging.LogLevel.ERROR, `An error occurred while calling /wallet-instances endpoint: ${e}`);
34
38
  if (!(e instanceof _errors.WalletProviderResponseError)) {
35
39
  throw e;
36
40
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_client","require","_errors","createWalletInstance","context","integrityContext","api","getWalletProviderClient","challenge","get","then","response","nonce","keyAttestation","getAttestation","hardwareKeyTag","getHardwareKeyTag","post","body","key_attestation","hardware_key_tag","catch","handleCreateWalletInstanceError","e","WalletProviderResponseError","ResponseErrorBuilder","handle","code","WalletProviderResponseErrorCodes","WalletInstanceIntegrityFailed","message","WalletInstanceCreationFailed","buildFrom","revokeWalletInstance","put","path","id","status","getWalletInstanceStatus","getCurrentWalletInstanceStatus"],"sourceRoot":"../../../src","sources":["wallet-instance/index.ts"],"mappings":";;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAQO,eAAeE,oBAAoBA,CAACC,OAI1C,EAAE;EACD,MAAM;IAAEC;EAAiB,CAAC,GAAGD,OAAO;EAEpC,MAAME,GAAG,GAAG,IAAAC,+BAAuB,EAACH,OAAO,CAAC;;EAE5C;EACA,MAAMI,SAAS,GAAG,MAAMF,GAAG,CAACG,GAAG,CAAC,QAAQ,CAAC,CAACC,IAAI,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,KAAK,CAAC;EAE5E,MAAMC,cAAc,GAAG,MAAMR,gBAAgB,CAACS,cAAc,CAACN,SAAS,CAAC;EACvE,MAAMO,cAAc,GAAGV,gBAAgB,CAACW,iBAAiB,CAAC,CAAC;;EAE3D;EACA,MAAMV,GAAG,CACNW,IAAI,CAAC,mBAAmB,EAAE;IACzBC,IAAI,EAAE;MACJV,SAAS;MACTW,eAAe,EAAEN,cAAc;MAC/BO,gBAAgB,EAAEL;IACpB;EACF,CAAC,CAAC,CACDM,KAAK,CAACC,+BAA+B,CAAC;EAEzC,OAAOP,cAAc;AACvB;AAEA,MAAMO,+BAA+B,GAAIC,CAAU,IAAK;EACtD,IAAI,EAAEA,CAAC,YAAYC,mCAA2B,CAAC,EAAE;IAC/C,MAAMD,CAAC;EACT;EAEA,MAAM,IAAIE,4BAAoB,CAACD,mCAA2B,CAAC,CACxDE,MAAM,CAAC,GAAG,EAAE;IACXC,IAAI,EAAEC,wCAAgC,CAACC,6BAA6B;IACpEC,OAAO,EACL;EACJ,CAAC,CAAC,CACDJ,MAAM,CAAC,GAAG,EAAE;IACXC,IAAI,EAAEC,wCAAgC,CAACG,4BAA4B;IACnED,OAAO,EAAE;EACX,CAAC,CAAC,CACDE,SAAS,CAACT,CAAC,CAAC;AACjB,CAAC;;AAED;AACA;AACA;AACA;AACO,eAAeU,oBAAoBA,CAAC7B,OAI1C,EAAiB;EAChB,MAAME,GAAG,GAAG,IAAAC,+BAAuB,EAACH,OAAO,CAAC;EAE5C,MAAME,GAAG,CAAC4B,GAAG,CAAC,+BAA+B,EAAE;IAC7CC,IAAI,EAAE;MAAEC,EAAE,EAAEhC,OAAO,CAACgC;IAAG,CAAC;IACxBlB,IAAI,EAAE;MAAEmB,MAAM,EAAE;IAAU;EAC5B,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACO,eAAeC,uBAAuBA,CAAClC,OAI7C,EAA+B;EAC9B,MAAME,GAAG,GAAG,IAAAC,+BAAuB,EAACH,OAAO,CAAC;EAE5C,OAAOE,GAAG,CAACG,GAAG,CAAC,+BAA+B,EAAE;IAC9C0B,IAAI,EAAE;MAAEC,EAAE,EAAEhC,OAAO,CAACgC;IAAG;EACzB,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACO,eAAeG,8BAA8BA,CAACnC,OAGpD,EAA+B;EAC9B,MAAME,GAAG,GAAG,IAAAC,+BAAuB,EAACH,OAAO,CAAC;EAE5C,OAAOE,GAAG,CAACG,GAAG,CAAC,kCAAkC,CAAC;AACpD"}
1
+ {"version":3,"names":["_client","require","_errors","_logging","createWalletInstance","context","integrityContext","api","getWalletProviderClient","challenge","get","then","response","nonce","Logger","log","LogLevel","DEBUG","walletProviderBaseUrl","keyAttestation","getAttestation","hardwareKeyTag","getHardwareKeyTag","post","body","key_attestation","hardware_key_tag","catch","handleCreateWalletInstanceError","e","ERROR","WalletProviderResponseError","ResponseErrorBuilder","handle","code","WalletProviderResponseErrorCodes","WalletInstanceIntegrityFailed","message","WalletInstanceCreationFailed","buildFrom","revokeWalletInstance","put","path","id","status","getWalletInstanceStatus","getCurrentWalletInstanceStatus"],"sourceRoot":"../../../src","sources":["wallet-instance/index.ts"],"mappings":";;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAOA,IAAAE,QAAA,GAAAF,OAAA;AAEO,eAAeG,oBAAoBA,CAACC,OAI1C,EAAE;EACD,MAAM;IAAEC;EAAiB,CAAC,GAAGD,OAAO;EACpC,MAAME,GAAG,GAAG,IAAAC,+BAAuB,EAACH,OAAO,CAAC;;EAE5C;EACA,MAAMI,SAAS,GAAG,MAAMF,GAAG,CAACG,GAAG,CAAC,QAAQ,CAAC,CAACC,IAAI,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,KAAK,CAAC;EAE5EC,eAAM,CAACC,GAAG,CACRC,iBAAQ,CAACC,KAAK,EACb,2BAA0BZ,OAAO,CAACa,qBAAsB,KAAIT,SAAU,EACzE,CAAC;EAED,MAAMU,cAAc,GAAG,MAAMb,gBAAgB,CAACc,cAAc,CAACX,SAAS,CAAC;EAEvE,MAAMY,cAAc,GAAGf,gBAAgB,CAACgB,iBAAiB,CAAC,CAAC;EAE3DR,eAAM,CAACC,GAAG,CACRC,iBAAQ,CAACC,KAAK,EACb,oBAAmBE,cAAe,kCAAiCE,cAAe,EACrF,CAAC;;EAED;EACA,MAAMd,GAAG,CACNgB,IAAI,CAAC,mBAAmB,EAAE;IACzBC,IAAI,EAAE;MACJf,SAAS;MACTgB,eAAe,EAAEN,cAAc;MAC/BO,gBAAgB,EAAEL;IACpB;EACF,CAAC,CAAC,CACDM,KAAK,CAACC,+BAA+B,CAAC;EAEzC,OAAOP,cAAc;AACvB;AAEA,MAAMO,+BAA+B,GAAIC,CAAU,IAAK;EACtDf,eAAM,CAACC,GAAG,CACRC,iBAAQ,CAACc,KAAK,EACb,+DAA8DD,CAAE,EACnE,CAAC;EAED,IAAI,EAAEA,CAAC,YAAYE,mCAA2B,CAAC,EAAE;IAC/C,MAAMF,CAAC;EACT;EAEA,MAAM,IAAIG,4BAAoB,CAACD,mCAA2B,CAAC,CACxDE,MAAM,CAAC,GAAG,EAAE;IACXC,IAAI,EAAEC,wCAAgC,CAACC,6BAA6B;IACpEC,OAAO,EACL;EACJ,CAAC,CAAC,CACDJ,MAAM,CAAC,GAAG,EAAE;IACXC,IAAI,EAAEC,wCAAgC,CAACG,4BAA4B;IACnED,OAAO,EAAE;EACX,CAAC,CAAC,CACDE,SAAS,CAACV,CAAC,CAAC;AACjB,CAAC;;AAED;AACA;AACA;AACA;AACO,eAAeW,oBAAoBA,CAACnC,OAI1C,EAAiB;EAChB,MAAME,GAAG,GAAG,IAAAC,+BAAuB,EAACH,OAAO,CAAC;EAE5C,MAAME,GAAG,CAACkC,GAAG,CAAC,+BAA+B,EAAE;IAC7CC,IAAI,EAAE;MAAEC,EAAE,EAAEtC,OAAO,CAACsC;IAAG,CAAC;IACxBnB,IAAI,EAAE;MAAEoB,MAAM,EAAE;IAAU;EAC5B,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACO,eAAeC,uBAAuBA,CAACxC,OAI7C,EAA+B;EAC9B,MAAME,GAAG,GAAG,IAAAC,+BAAuB,EAACH,OAAO,CAAC;EAE5C,OAAOE,GAAG,CAACG,GAAG,CAAC,+BAA+B,EAAE;IAC9CgC,IAAI,EAAE;MAAEC,EAAE,EAAEtC,OAAO,CAACsC;IAAG;EACzB,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACO,eAAeG,8BAA8BA,CAACzC,OAGpD,EAA+B;EAC9B,MAAME,GAAG,GAAG,IAAAC,+BAAuB,EAACH,OAAO,CAAC;EAE5C,OAAOE,GAAG,CAACG,GAAG,CAAC,kCAAkC,CAAC;AACpD"}
@@ -10,6 +10,7 @@ var _jwk = require("../utils/jwk");
10
10
  var _client = require("../client");
11
11
  var _errors = require("../utils/errors");
12
12
  var _types = require("./types");
13
+ var _logging = require("../utils/logging");
13
14
  /**
14
15
  * Getter for an attestation request. The attestation request is a JWT that will be sent to the Wallet Provider to request a Wallet Instance Attestation.
15
16
  *
@@ -75,9 +76,11 @@ const getAttestation = async _ref => {
75
76
 
76
77
  // 1. Get nonce from backend
77
78
  const challenge = await api.get("/nonce").then(response => response.nonce);
79
+ _logging.Logger.log(_logging.LogLevel.DEBUG, `Challenge obtained from ${walletProviderBaseUrl}: ${challenge} `);
78
80
 
79
81
  // 2. Get a signed attestation request
80
82
  const signedAttestationRequest = await getAttestationRequest(challenge, wiaCryptoContext, integrityContext, walletProviderBaseUrl);
83
+ _logging.Logger.log(_logging.LogLevel.DEBUG, `Signed attestation request: ${signedAttestationRequest}`);
81
84
 
82
85
  // 3. Request WIA
83
86
  const tokenResponse = await api.post("/token", {
@@ -86,10 +89,12 @@ const getAttestation = async _ref => {
86
89
  assertion: signedAttestationRequest
87
90
  }
88
91
  }).then(result => _types.TokenResponse.parse(result)).catch(handleAttestationCreationError);
92
+ _logging.Logger.log(_logging.LogLevel.DEBUG, `Obtained wallet attestation: ${tokenResponse.wallet_attestation}`);
89
93
  return tokenResponse.wallet_attestation;
90
94
  };
91
95
  exports.getAttestation = getAttestation;
92
96
  const handleAttestationCreationError = e => {
97
+ _logging.Logger.log(_logging.LogLevel.ERROR, `An error occurred while calling /token endpoint: ${e}`);
93
98
  if (!(e instanceof _errors.WalletProviderResponseError)) {
94
99
  throw e;
95
100
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_ioReactNativeJwt","require","_jwk","_client","_errors","_types","getAttestationRequest","challenge","wiaCryptoContext","integrityContext","walletProviderBaseUrl","jwk","getPublicKey","parsedJwk","JWK","parse","keyThumbprint","thumbprint","publicKey","kid","clientData","jwk_thumbprint","hardwareKeyTag","getHardwareKeyTag","signature","authenticatorData","getHardwareSignatureWithAuthData","JSON","stringify","SignJWT","setPayload","iss","sub","hardware_signature","integrity_assertion","hardware_key_tag","cnf","fixBase64EncodingOnKey","setProtectedHeader","typ","setIssuedAt","setExpirationTime","sign","getAttestation","_ref","appFetch","fetch","api","getWalletProviderClient","get","then","response","nonce","signedAttestationRequest","tokenResponse","post","body","grant_type","assertion","result","TokenResponse","catch","handleAttestationCreationError","wallet_attestation","exports","e","WalletProviderResponseError","ResponseErrorBuilder","handle","code","WalletProviderResponseErrorCodes","WalletInstanceRevoked","message","WalletInstanceNotFound","WalletInstanceIntegrityFailed","WalletInstanceAttestationIssuingFailed","buildFrom"],"sourceRoot":"../../../src","sources":["wallet-instance-attestation/issuing.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_ioReactNativeJwt","require","_jwk","_client","_errors","_types","_logging","getAttestationRequest","challenge","wiaCryptoContext","integrityContext","walletProviderBaseUrl","jwk","getPublicKey","parsedJwk","JWK","parse","keyThumbprint","thumbprint","publicKey","kid","clientData","jwk_thumbprint","hardwareKeyTag","getHardwareKeyTag","signature","authenticatorData","getHardwareSignatureWithAuthData","JSON","stringify","SignJWT","setPayload","iss","sub","hardware_signature","integrity_assertion","hardware_key_tag","cnf","fixBase64EncodingOnKey","setProtectedHeader","typ","setIssuedAt","setExpirationTime","sign","getAttestation","_ref","appFetch","fetch","api","getWalletProviderClient","get","then","response","nonce","Logger","log","LogLevel","DEBUG","signedAttestationRequest","tokenResponse","post","body","grant_type","assertion","result","TokenResponse","catch","handleAttestationCreationError","wallet_attestation","exports","e","ERROR","WalletProviderResponseError","ResponseErrorBuilder","handle","code","WalletProviderResponseErrorCodes","WalletInstanceRevoked","message","WalletInstanceNotFound","WalletInstanceIntegrityFailed","WalletInstanceAttestationIssuingFailed","buildFrom"],"sourceRoot":"../../../src","sources":["wallet-instance-attestation/issuing.ts"],"mappings":";;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAKA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeM,qBAAqBA,CACzCC,SAAiB,EACjBC,gBAA+B,EAC/BC,gBAAkC,EAClCC,qBAA6B,EACZ;EACjB,MAAMC,GAAG,GAAG,MAAMH,gBAAgB,CAACI,YAAY,CAAC,CAAC;EACjD,MAAMC,SAAS,GAAGC,QAAG,CAACC,KAAK,CAACJ,GAAG,CAAC;EAChC,MAAMK,aAAa,GAAG,MAAM,IAAAC,4BAAU,EAACJ,SAAS,CAAC;EACjD,MAAMK,SAAS,GAAG;IAAE,GAAGL,SAAS;IAAEM,GAAG,EAAEH;EAAc,CAAC;EAEtD,MAAMI,UAAU,GAAG;IACjBb,SAAS;IACTc,cAAc,EAAEL;EAClB,CAAC;EAED,MAAMM,cAAc,GAAGb,gBAAgB,CAACc,iBAAiB,CAAC,CAAC;EAC3D,MAAM;IAAEC,SAAS;IAAEC;EAAkB,CAAC,GACpC,MAAMhB,gBAAgB,CAACiB,gCAAgC,CACrDC,IAAI,CAACC,SAAS,CAACR,UAAU,CAC3B,CAAC;EAEH,OAAO,IAAIS,yBAAO,CAACrB,gBAAgB,CAAC,CACjCsB,UAAU,CAAC;IACVC,GAAG,EAAEf,aAAa;IAClBgB,GAAG,EAAEtB,qBAAqB;IAC1BH,SAAS;IACT0B,kBAAkB,EAAET,SAAS;IAC7BU,mBAAmB,EAAET,iBAAiB;IACtCU,gBAAgB,EAAEb,cAAc;IAChCc,GAAG,EAAE;MACHzB,GAAG,EAAE,IAAA0B,2BAAsB,EAACnB,SAAS;IACvC;EACF,CAAC,CAAC,CACDoB,kBAAkB,CAAC;IAClBnB,GAAG,EAAED,SAAS,CAACC,GAAG;IAClBoB,GAAG,EAAE;EACP,CAAC,CAAC,CACDC,WAAW,CAAC,CAAC,CACbC,iBAAiB,CAAC,IAAI,CAAC,CACvBC,IAAI,CAAC,CAAC;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,cAAc,GAAG,MAAAC,IAAA,IAUP;EAAA,IAVc;IACnCpC,gBAAgB;IAChBC,gBAAgB;IAChBC,qBAAqB;IACrBmC,QAAQ,GAAGC;EAMb,CAAC,GAAAF,IAAA;EACC,MAAMG,GAAG,GAAG,IAAAC,+BAAuB,EAAC;IAClCtC,qBAAqB;IACrBmC;EACF,CAAC,CAAC;;EAEF;EACA,MAAMtC,SAAS,GAAG,MAAMwC,GAAG,CAACE,GAAG,CAAC,QAAQ,CAAC,CAACC,IAAI,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,KAAK,CAAC;EAC5EC,eAAM,CAACC,GAAG,CACRC,iBAAQ,CAACC,KAAK,EACb,2BAA0B9C,qBAAsB,KAAIH,SAAU,GACjE,CAAC;;EAED;EACA,MAAMkD,wBAAwB,GAAG,MAAMnD,qBAAqB,CAC1DC,SAAS,EACTC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBACF,CAAC;EACD2C,eAAM,CAACC,GAAG,CACRC,iBAAQ,CAACC,KAAK,EACb,+BAA8BC,wBAAyB,EAC1D,CAAC;;EAED;EACA,MAAMC,aAAa,GAAG,MAAMX,GAAG,CAC5BY,IAAI,CAAC,QAAQ,EAAE;IACdC,IAAI,EAAE;MACJC,UAAU,EAAE,6CAA6C;MACzDC,SAAS,EAAEL;IACb;EACF,CAAC,CAAC,CACDP,IAAI,CAAEa,MAAM,IAAKC,oBAAa,CAACjD,KAAK,CAACgD,MAAM,CAAC,CAAC,CAC7CE,KAAK,CAACC,8BAA8B,CAAC;EAExCb,eAAM,CAACC,GAAG,CACRC,iBAAQ,CAACC,KAAK,EACb,gCAA+BE,aAAa,CAACS,kBAAmB,EACnE,CAAC;EAED,OAAOT,aAAa,CAACS,kBAAkB;AACzC,CAAC;AAACC,OAAA,CAAAzB,cAAA,GAAAA,cAAA;AAEF,MAAMuB,8BAA8B,GAAIG,CAAU,IAAK;EACrDhB,eAAM,CAACC,GAAG,CACRC,iBAAQ,CAACe,KAAK,EACb,oDAAmDD,CAAE,EACxD,CAAC;EAED,IAAI,EAAEA,CAAC,YAAYE,mCAA2B,CAAC,EAAE;IAC/C,MAAMF,CAAC;EACT;EAEA,MAAM,IAAIG,4BAAoB,CAACD,mCAA2B,CAAC,CACxDE,MAAM,CAAC,GAAG,EAAE;IACXC,IAAI,EAAEC,wCAAgC,CAACC,qBAAqB;IAC5DC,OAAO,EAAE;EACX,CAAC,CAAC,CACDJ,MAAM,CAAC,GAAG,EAAE;IACXC,IAAI,EAAEC,wCAAgC,CAACG,sBAAsB;IAC7DD,OAAO,EACL;EACJ,CAAC,CAAC,CACDJ,MAAM,CAAC,GAAG,EAAE;IACXC,IAAI,EAAEC,wCAAgC,CAACI,6BAA6B;IACpEF,OAAO,EACL;EACJ,CAAC,CAAC,CACDJ,MAAM,CAAC,GAAG,EAAE;IACXC,IAAI,EAAEC,wCAAgC,CAACK,sCAAsC;IAC7EH,OAAO,EAAE;EACX,CAAC,CAAC,CACDI,SAAS,CAACZ,CAAC,CAAC;AACjB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { generateRandomAlphaNumericString } from "../../utils/misc";
2
2
  import { makeParRequest } from "../../utils/par";
3
3
  import { ASSERTION_TYPE } from "./const";
4
+ import { LogLevel, Logger } from "../../utils/logging";
4
5
  /**
5
6
  * Ensures that the credential type requested is supported by the issuer and contained in the
6
7
  * issuer configuration.
@@ -20,6 +21,7 @@ const selectCredentialDefinition = (issuerConf, credentialType) => {
20
21
  type: "openid_credential"
21
22
  }));
22
23
  if (!result) {
24
+ Logger.log(LogLevel.ERROR, `Requested credential type ${credentialType} is not supported by the issuer according to its configuration ${JSON.stringify(credential_configurations_supported)}`);
23
25
  throw new Error(`No credential support the type '${credentialType}'`);
24
26
  }
25
27
  return result;
@@ -34,7 +36,9 @@ const selectCredentialDefinition = (issuerConf, credentialType) => {
34
36
  const selectResponseMode = (issuerConf, credentialType) => {
35
37
  const responseModeSupported = issuerConf.oauth_authorization_server.response_modes_supported;
36
38
  const responseMode = credentialType === "PersonIdentificationData" ? "query" : "form_post.jwt";
39
+ Logger.log(LogLevel.DEBUG, `Selected response mode ${responseMode} for credential type ${credentialType}`);
37
40
  if (!responseModeSupported.includes(responseMode)) {
41
+ Logger.log(LogLevel.ERROR, `Requested response mode ${responseMode} is not supported by the issuer according to its configuration ${JSON.stringify(responseModeSupported)}`);
38
42
  throw new Error(`No response mode support the type '${credentialType}'`);
39
43
  }
40
44
  return responseMode;
@@ -67,6 +71,7 @@ export const startUserAuthorization = async (issuerConf, credentialType, ctx) =>
67
71
  } = ctx;
68
72
  const clientId = await wiaCryptoContext.getPublicKey().then(_ => _.kid);
69
73
  if (!clientId) {
74
+ Logger.log(LogLevel.ERROR, `Public key associated with kid ${clientId} not found in the device`);
70
75
  throw new Error("No public key found");
71
76
  }
72
77
  const codeVerifier = generateRandomAlphaNumericString(64);
@@ -1 +1 @@
1
- {"version":3,"names":["generateRandomAlphaNumericString","makeParRequest","ASSERTION_TYPE","selectCredentialDefinition","issuerConf","credentialType","credential_configurations_supported","openid_credential_issuer","result","Object","keys","filter","e","includes","map","credential_configuration_id","format","type","Error","selectResponseMode","responseModeSupported","oauth_authorization_server","response_modes_supported","responseMode","startUserAuthorization","ctx","wiaCryptoContext","walletInstanceAttestation","redirectUri","appFetch","fetch","clientId","getPublicKey","then","_","kid","codeVerifier","parEndpoint","pushed_authorization_request_endpoint","credentialDefinition","getPar","issuerRequestUri"],"sourceRoot":"../../../../src","sources":["credential/issuance/03-start-user-authorization.ts"],"mappings":"AAEA,SAASA,gCAAgC,QAAkB,kBAAkB;AAG7E,SAA8BC,cAAc,QAAQ,iBAAiB;AACrE,SAASC,cAAc,QAAQ,SAAS;AAkBxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,0BAA0B,GAAGA,CACjCC,UAAkD,EAClDC,cAAgD,KACxB;EACxB,MAAMC,mCAAmC,GACvCF,UAAU,CAACG,wBAAwB,CAACD,mCAAmC;EAEzE,MAAM,CAACE,MAAM,CAAC,GAAGC,MAAM,CAACC,IAAI,CAACJ,mCAAmC,CAAC,CAC9DK,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAACR,cAAc,CAAC,CAAC,CACzCS,GAAG,CAAEF,CAAC,KAAM;IACXG,2BAA2B,EAAEV,cAAc;IAC3CW,MAAM,EAAEV,mCAAmC,CAACM,CAAC,CAAC,CAAEI,MAAM;IACtDC,IAAI,EAAE;EACR,CAAC,CAAC,CAAC;EAEL,IAAI,CAACT,MAAM,EAAE;IACX,MAAM,IAAIU,KAAK,CAAE,mCAAkCb,cAAe,GAAE,CAAC;EACvE;EACA,OAAOG,MAAM;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,MAAMW,kBAAkB,GAAGA,CACzBf,UAAkD,EAClDC,cAAgD,KAC/B;EACjB,MAAMe,qBAAqB,GACzBhB,UAAU,CAACiB,0BAA0B,CAACC,wBAAwB;EAEhE,MAAMC,YAAY,GAChBlB,cAAc,KAAK,0BAA0B,GAAG,OAAO,GAAG,eAAe;EAE3E,IAAI,CAACe,qBAAqB,CAACP,QAAQ,CAACU,YAAY,CAAC,EAAE;IACjD,MAAM,IAAIL,KAAK,CAAE,sCAAqCb,cAAe,GAAE,CAAC;EAC1E;EAEA,OAAOkB,YAAY;AACrB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAA8C,GAAG,MAAAA,CAC5DpB,UAAU,EACVC,cAAc,EACdoB,GAAG,KACA;EACH,MAAM;IACJC,gBAAgB;IAChBC,yBAAyB;IACzBC,WAAW;IACXC,QAAQ,GAAGC;EACb,CAAC,GAAGL,GAAG;EAEP,MAAMM,QAAQ,GAAG,MAAML,gBAAgB,CAACM,YAAY,CAAC,CAAC,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,GAAG,CAAC;EACzE,IAAI,CAACJ,QAAQ,EAAE;IACb,MAAM,IAAIb,KAAK,CAAC,qBAAqB,CAAC;EACxC;EACA,MAAMkB,YAAY,GAAGpC,gCAAgC,CAAC,EAAE,CAAC;EACzD,MAAMqC,WAAW,GACfjC,UAAU,CAACiB,0BAA0B,CAACiB,qCAAqC;EAC7E,MAAMC,oBAAoB,GAAGpC,0BAA0B,CACrDC,UAAU,EACVC,cACF,CAAC;EACD,MAAMkB,YAAY,GAAGJ,kBAAkB,CAACf,UAAU,EAAEC,cAAc,CAAC;EAEnE,MAAMmC,MAAM,GAAGvC,cAAc,CAAC;IAAEyB,gBAAgB;IAAEG;EAAS,CAAC,CAAC;EAC7D,MAAMY,gBAAgB,GAAG,MAAMD,MAAM,CACnCT,QAAQ,EACRK,YAAY,EACZR,WAAW,EACXL,YAAY,EACZc,WAAW,EACXV,yBAAyB,EACzB,CAACY,oBAAoB,CAAC,EACtBrC,cACF,CAAC;EAED,OAAO;IAAEuC,gBAAgB;IAAEV,QAAQ;IAAEK,YAAY;IAAEG;EAAqB,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"names":["generateRandomAlphaNumericString","makeParRequest","ASSERTION_TYPE","LogLevel","Logger","selectCredentialDefinition","issuerConf","credentialType","credential_configurations_supported","openid_credential_issuer","result","Object","keys","filter","e","includes","map","credential_configuration_id","format","type","log","ERROR","JSON","stringify","Error","selectResponseMode","responseModeSupported","oauth_authorization_server","response_modes_supported","responseMode","DEBUG","startUserAuthorization","ctx","wiaCryptoContext","walletInstanceAttestation","redirectUri","appFetch","fetch","clientId","getPublicKey","then","_","kid","codeVerifier","parEndpoint","pushed_authorization_request_endpoint","credentialDefinition","getPar","issuerRequestUri"],"sourceRoot":"../../../../src","sources":["credential/issuance/03-start-user-authorization.ts"],"mappings":"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"}
@@ -8,6 +8,7 @@ import { v4 as uuidv4 } from "uuid";
8
8
  import { ResponseUriResultShape } from "./types";
9
9
  import { getJwtFromFormPost } from "../../utils/decoder";
10
10
  import { AuthorizationError, AuthorizationIdpError } from "./errors";
11
+ import { LogLevel, Logger } from "../../utils/logging";
11
12
 
12
13
  /**
13
14
  * The interface of the phase to complete User authorization via strong identification when the response mode is "query" and the request credential is a PersonIdentificationData.
@@ -45,6 +46,7 @@ export const buildAuthorizationUrl = async (issuerRequestUri, clientId, issuerCo
45
46
  * @returns the authorization response which contains code, state and iss
46
47
  */
47
48
  export const completeUserAuthorizationWithQueryMode = async authRedirectUrl => {
49
+ Logger.log(LogLevel.DEBUG, `The requeste credential is a PersonIdentificationData, completing the user authorization with query mode`);
48
50
  const query = parseUrl(authRedirectUrl).query;
49
51
  return parseAuthorizationResponse(query);
50
52
  };
@@ -63,15 +65,18 @@ export const completeUserAuthorizationWithQueryMode = async authRedirectUrl => {
63
65
  */
64
66
  export const getRequestedCredentialToBePresented = async function (issuerRequestUri, clientId, issuerConf) {
65
67
  let appFetch = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : fetch;
68
+ Logger.log(LogLevel.DEBUG, `The requeste credential is not a PersonIdentificationData, requesting the credential to be presented`);
66
69
  const authzRequestEndpoint = issuerConf.oauth_authorization_server.authorization_endpoint;
67
70
  const params = new URLSearchParams({
68
71
  client_id: clientId,
69
72
  request_uri: issuerRequestUri
70
73
  });
74
+ Logger.log(LogLevel.DEBUG, `Requesting the request object to ${authzRequestEndpoint}?${params.toString()}`);
71
75
  const requestObject = await appFetch(`${authzRequestEndpoint}?${params.toString()}`, {
72
76
  method: "GET"
73
77
  }).then(hasStatusOrThrow(200, IssuerResponseError)).then(res => res.text()).then(jws => decode(jws)).then(reqObj => RequestObject.safeParse(reqObj.payload));
74
78
  if (!requestObject.success) {
79
+ Logger.log(LogLevel.ERROR, `Error while validating the response object: ${requestObject.error.message}`);
75
80
  throw new ValidationFailed({
76
81
  message: "Request Object validation failed",
77
82
  reason: requestObject.error.message
@@ -97,6 +102,7 @@ export const getRequestedCredentialToBePresented = async function (issuerRequest
97
102
  * @returns the authorization response which contains code, state and iss
98
103
  */
99
104
  export const completeUserAuthorizationWithFormPostJwtMode = async (requestObject, ctx) => {
105
+ Logger.log(LogLevel.DEBUG, `The requeste credential is not a PersonIdentificationData, completing the user authorization with form_post.jwt mode`);
100
106
  const {
101
107
  wiaCryptoContext,
102
108
  pidCryptoContext,
@@ -120,6 +126,7 @@ export const completeUserAuthorizationWithFormPostJwtMode = async (requestObject
120
126
  jti: uuidv4().toString(),
121
127
  nonce: requestObject.nonce
122
128
  }).setIssuedAt().setExpirationTime("5m").setAudience(requestObject.response_uri).sign();
129
+ Logger.log(LogLevel.DEBUG, `Wallet instance attestation JWT token: ${wiaWpToken}`);
123
130
 
124
131
  /* The path parameter refers to the vp_token variable of the authzResponsePayload and must point to the plain credential which
125
132
  * is cointaned in the `vp` property of the signed jwt token payload
@@ -137,11 +144,13 @@ export const completeUserAuthorizationWithFormPostJwtMode = async (requestObject
137
144
  format: "jwt"
138
145
  }]
139
146
  };
147
+ Logger.log(LogLevel.DEBUG, `Presentation submission: ${JSON.stringify(presentationSubmission)}`);
140
148
  const authzResponsePayload = encodeBase64(JSON.stringify({
141
149
  state: requestObject.state,
142
150
  presentation_submission: presentationSubmission,
143
151
  vp_token: [pidWpToken, wiaWpToken]
144
152
  }));
153
+ Logger.log(LogLevel.DEBUG, `Authz response payload: ${authzResponsePayload}`);
145
154
 
146
155
  // Note: according to the spec, the response should be encrypted with the public key of the RP however this is not implemented yet
147
156
  // https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#name-signed-and-encrypted-response
@@ -164,6 +173,7 @@ export const completeUserAuthorizationWithFormPostJwtMode = async (requestObject
164
173
  }).then(hasStatusOrThrow(200, IssuerResponseError)).then(reqUri => reqUri.json());
165
174
  const responseUri = ResponseUriResultShape.safeParse(resUriRes);
166
175
  if (!responseUri.success) {
176
+ Logger.log(LogLevel.ERROR, `Error while validating the response uri: ${responseUri.error.message}`);
167
177
  throw new ValidationFailed({
168
178
  message: "Response Uri validation failed",
169
179
  reason: responseUri.error.message
@@ -184,9 +194,11 @@ export const parseAuthorizationResponse = authRes => {
184
194
  if (!authResParsed.success) {
185
195
  const authErr = AuthorizationErrorShape.safeParse(authRes);
186
196
  if (!authErr.success) {
197
+ Logger.log(LogLevel.ERROR, `Error while parsing the authorization response: ${authResParsed.error.message}`);
187
198
  throw new AuthorizationError(authResParsed.error.message); // an error occured while parsing the result and the error
188
199
  }
189
200
 
201
+ Logger.log(LogLevel.ERROR, `Error while authorizating with the idp: ${JSON.stringify(authErr)}`);
190
202
  throw new AuthorizationIdpError(authErr.data.error, authErr.data.error_description);
191
203
  }
192
204
  return authResParsed.data;
@@ -1 +1 @@
1
- {"version":3,"names":["AuthorizationErrorShape","AuthorizationResultShape","hasStatusOrThrow","parseUrl","IssuerResponseError","ValidationFailed","decode","encodeBase64","SignJWT","RequestObject","v4","uuidv4","ResponseUriResultShape","getJwtFromFormPost","AuthorizationError","AuthorizationIdpError","buildAuthorizationUrl","issuerRequestUri","clientId","issuerConf","idpHint","authzRequestEndpoint","oauth_authorization_server","authorization_endpoint","params","URLSearchParams","client_id","request_uri","append","authUrl","completeUserAuthorizationWithQueryMode","authRedirectUrl","query","parseAuthorizationResponse","getRequestedCredentialToBePresented","appFetch","arguments","length","undefined","fetch","requestObject","toString","method","then","res","text","jws","reqObj","safeParse","payload","success","message","reason","error","data","completeUserAuthorizationWithFormPostJwtMode","ctx","wiaCryptoContext","pidCryptoContext","pid","walletInstanceAttestation","wiaWpToken","setProtectedHeader","alg","typ","setPayload","vp","jti","nonce","setIssuedAt","setExpirationTime","setAudience","response_uri","sign","pidWpToken","presentationSubmission","definition_id","id","descriptor_map","path","format","authzResponsePayload","JSON","stringify","state","presentation_submission","vp_token","body","response","resUriRes","headers","reqUri","json","responseUri","redirect_uri","cbRes","decodedJwt","authRes","authResParsed","authErr","error_description"],"sourceRoot":"../../../../src","sources":["credential/issuance/04-complete-user-authorization.ts"],"mappings":"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"}
1
+ {"version":3,"names":["AuthorizationErrorShape","AuthorizationResultShape","hasStatusOrThrow","parseUrl","IssuerResponseError","ValidationFailed","decode","encodeBase64","SignJWT","RequestObject","v4","uuidv4","ResponseUriResultShape","getJwtFromFormPost","AuthorizationError","AuthorizationIdpError","LogLevel","Logger","buildAuthorizationUrl","issuerRequestUri","clientId","issuerConf","idpHint","authzRequestEndpoint","oauth_authorization_server","authorization_endpoint","params","URLSearchParams","client_id","request_uri","append","authUrl","completeUserAuthorizationWithQueryMode","authRedirectUrl","log","DEBUG","query","parseAuthorizationResponse","getRequestedCredentialToBePresented","appFetch","arguments","length","undefined","fetch","toString","requestObject","method","then","res","text","jws","reqObj","safeParse","payload","success","ERROR","error","message","reason","data","completeUserAuthorizationWithFormPostJwtMode","ctx","wiaCryptoContext","pidCryptoContext","pid","walletInstanceAttestation","wiaWpToken","setProtectedHeader","alg","typ","setPayload","vp","jti","nonce","setIssuedAt","setExpirationTime","setAudience","response_uri","sign","pidWpToken","presentationSubmission","definition_id","id","descriptor_map","path","format","JSON","stringify","authzResponsePayload","state","presentation_submission","vp_token","body","response","resUriRes","headers","reqUri","json","responseUri","redirect_uri","cbRes","decodedJwt","authRes","authResParsed","authErr","error_description"],"sourceRoot":"../../../../src","sources":["credential/issuance/04-complete-user-authorization.ts"],"mappings":"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"}
@@ -6,6 +6,7 @@ import * as WalletInstanceAttestation from "../../wallet-instance-attestation";
6
6
  import { ASSERTION_TYPE } from "./const";
7
7
  import { TokenResponse } from "./types";
8
8
  import { IssuerResponseError, ValidationFailed } from "../../utils/errors";
9
+ import { LogLevel, Logger } from "../../utils/logging";
9
10
  /**
10
11
  * Creates and sends the DPoP Proof JWT to be presented with the authorization code to the /token endpoint of the authorization server
11
12
  * for requesting the issuance of an access token bound to the public key of the Wallet Instance contained within the DPoP.
@@ -41,11 +42,13 @@ export const authorizeAccess = async (issuerConf, code, clientId, redirectUri, c
41
42
  htu: tokenUrl,
42
43
  jti: `${uuidv4()}`
43
44
  }, dPopCryptoContext);
45
+ Logger.log(LogLevel.DEBUG, `Token request DPoP: ${tokenRequestSignedDPop}`);
44
46
  const signedWiaPoP = await createPopToken({
45
47
  jti: `${uuidv4()}`,
46
48
  aud,
47
49
  iss
48
50
  }, wiaCryptoContext);
51
+ Logger.log(LogLevel.DEBUG, `WIA DPoP token: ${signedWiaPoP}`);
49
52
  const requestBody = {
50
53
  grant_type: "authorization_code",
51
54
  client_id: clientId,
@@ -56,6 +59,7 @@ export const authorizeAccess = async (issuerConf, code, clientId, redirectUri, c
56
59
  client_assertion: walletInstanceAttestation + "~" + signedWiaPoP
57
60
  };
58
61
  const authorizationRequestFormBody = new URLSearchParams(requestBody);
62
+ Logger.log(LogLevel.DEBUG, `Auth form request body: ${authorizationRequestFormBody}`);
59
63
  const tokenRes = await appFetch(tokenUrl, {
60
64
  method: "POST",
61
65
  headers: {
@@ -65,6 +69,7 @@ export const authorizeAccess = async (issuerConf, code, clientId, redirectUri, c
65
69
  body: authorizationRequestFormBody.toString()
66
70
  }).then(hasStatusOrThrow(200, IssuerResponseError)).then(res => res.json()).then(body => TokenResponse.safeParse(body));
67
71
  if (!tokenRes.success) {
72
+ Logger.log(LogLevel.ERROR, `Token Response validation failed: ${tokenRes.error.message}`);
68
73
  throw new ValidationFailed({
69
74
  message: "Token Response validation failed",
70
75
  reason: tokenRes.error.message
@@ -1 +1 @@
1
- {"version":3,"names":["hasStatusOrThrow","createDPopToken","v4","uuidv4","createPopToken","WalletInstanceAttestation","ASSERTION_TYPE","TokenResponse","IssuerResponseError","ValidationFailed","authorizeAccess","issuerConf","code","clientId","redirectUri","codeVerifier","context","appFetch","fetch","walletInstanceAttestation","wiaCryptoContext","dPopCryptoContext","parEndpoint","oauth_authorization_server","pushed_authorization_request_endpoint","parUrl","URL","aud","protocol","hostname","iss","decode","payload","cnf","jwk","kid","tokenUrl","token_endpoint","tokenRequestSignedDPop","htm","htu","jti","signedWiaPoP","requestBody","grant_type","client_id","redirect_uri","code_verifier","client_assertion_type","client_assertion","authorizationRequestFormBody","URLSearchParams","tokenRes","method","headers","DPoP","body","toString","then","res","json","safeParse","success","message","reason","error","accessToken","data"],"sourceRoot":"../../../../src","sources":["credential/issuance/05-authorize-access.ts"],"mappings":"AAAA,SAASA,gBAAgB,QAAkB,kBAAkB;AAG7D,SAASC,eAAe,QAAQ,kBAAkB;AAClD,SAASC,EAAE,IAAIC,MAAM,QAAQ,MAAM;AACnC,SAASC,cAAc,QAAQ,iBAAiB;AAChD,OAAO,KAAKC,yBAAyB,MAAM,mCAAmC;AAE9E,SAASC,cAAc,QAAQ,SAAS;AACxC,SAASC,aAAa,QAAQ,SAAS;AACvC,SAASC,mBAAmB,EAAEC,gBAAgB,QAAQ,oBAAoB;AAiB1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAgC,GAAG,MAAAA,CAC9CC,UAAU,EACVC,IAAI,EACJC,QAAQ,EACRC,WAAW,EACXC,YAAY,EACZC,OAAO,KACJ;EACH,MAAM;IACJC,QAAQ,GAAGC,KAAK;IAChBC,yBAAyB;IACzBC,gBAAgB;IAChBC;EACF,CAAC,GAAGL,OAAO;EAEX,MAAMM,WAAW,GACfX,UAAU,CAACY,0BAA0B,CAACC,qCAAqC;EAC7E,MAAMC,MAAM,GAAG,IAAIC,GAAG,CAACJ,WAAW,CAAC;EACnC,MAAMK,GAAG,GAAI,GAAEF,MAAM,CAACG,QAAS,KAAIH,MAAM,CAACI,QAAS,EAAC;EACpD,MAAMC,GAAG,GAAGzB,yBAAyB,CAAC0B,MAAM,CAACZ,yBAAyB,CAAC,CACpEa,OAAO,CAACC,GAAG,CAACC,GAAG,CAACC,GAAG;EAEtB,MAAMC,QAAQ,GAAGzB,UAAU,CAACY,0BAA0B,CAACc,cAAc;EAErE,MAAMC,sBAAsB,GAAG,MAAMrC,eAAe,CAClD;IACEsC,GAAG,EAAE,MAAM;IACXC,GAAG,EAAEJ,QAAQ;IACbK,GAAG,EAAG,GAAEtC,MAAM,CAAC,CAAE;EACnB,CAAC,EACDkB,iBACF,CAAC;EAED,MAAMqB,YAAY,GAAG,MAAMtC,cAAc,CACvC;IACEqC,GAAG,EAAG,GAAEtC,MAAM,CAAC,CAAE,EAAC;IAClBwB,GAAG;IACHG;EACF,CAAC,EACDV,gBACF,CAAC;EAED,MAAMuB,WAAW,GAAG;IAClBC,UAAU,EAAE,oBAAoB;IAChCC,SAAS,EAAEhC,QAAQ;IACnBD,IAAI;IACJkC,YAAY,EAAEhC,WAAW;IACzBiC,aAAa,EAAEhC,YAAY;IAC3BiC,qBAAqB,EAAE1C,cAAc;IACrC2C,gBAAgB,EAAE9B,yBAAyB,GAAG,GAAG,GAAGuB;EACtD,CAAC;EAED,MAAMQ,4BAA4B,GAAG,IAAIC,eAAe,CAACR,WAAW,CAAC;EACrE,MAAMS,QAAQ,GAAG,MAAMnC,QAAQ,CAACmB,QAAQ,EAAE;IACxCiB,MAAM,EAAE,MAAM;IACdC,OAAO,EAAE;MACP,cAAc,EAAE,mCAAmC;MACnDC,IAAI,EAAEjB;IACR,CAAC;IACDkB,IAAI,EAAEN,4BAA4B,CAACO,QAAQ,CAAC;EAC9C,CAAC,CAAC,CACCC,IAAI,CAAC1D,gBAAgB,CAAC,GAAG,EAAEQ,mBAAmB,CAAC,CAAC,CAChDkD,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC,CAAC,CAAC,CACzBF,IAAI,CAAEF,IAAI,IAAKjD,aAAa,CAACsD,SAAS,CAACL,IAAI,CAAC,CAAC;EAEhD,IAAI,CAACJ,QAAQ,CAACU,OAAO,EAAE;IACrB,MAAM,IAAIrD,gBAAgB,CAAC;MACzBsD,OAAO,EAAE,kCAAkC;MAC3CC,MAAM,EAAEZ,QAAQ,CAACa,KAAK,CAACF;IACzB,CAAC,CAAC;EACJ;EAEA,OAAO;IAAEG,WAAW,EAAEd,QAAQ,CAACe;EAAK,CAAC;AACvC,CAAC"}
1
+ {"version":3,"names":["hasStatusOrThrow","createDPopToken","v4","uuidv4","createPopToken","WalletInstanceAttestation","ASSERTION_TYPE","TokenResponse","IssuerResponseError","ValidationFailed","LogLevel","Logger","authorizeAccess","issuerConf","code","clientId","redirectUri","codeVerifier","context","appFetch","fetch","walletInstanceAttestation","wiaCryptoContext","dPopCryptoContext","parEndpoint","oauth_authorization_server","pushed_authorization_request_endpoint","parUrl","URL","aud","protocol","hostname","iss","decode","payload","cnf","jwk","kid","tokenUrl","token_endpoint","tokenRequestSignedDPop","htm","htu","jti","log","DEBUG","signedWiaPoP","requestBody","grant_type","client_id","redirect_uri","code_verifier","client_assertion_type","client_assertion","authorizationRequestFormBody","URLSearchParams","tokenRes","method","headers","DPoP","body","toString","then","res","json","safeParse","success","ERROR","error","message","reason","accessToken","data"],"sourceRoot":"../../../../src","sources":["credential/issuance/05-authorize-access.ts"],"mappings":"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"}
@@ -4,6 +4,7 @@ import { IssuerResponseError, IssuerResponseErrorCodes, ResponseErrorBuilder, Un
4
4
  import { CredentialResponse } from "./types";
5
5
  import { createDPopToken } from "../../utils/dpop";
6
6
  import { v4 as uuidv4 } from "uuid";
7
+ import { LogLevel, Logger } from "../../utils/logging";
7
8
  export const createNonceProof = async (nonce, issuer, audience, ctx) => {
8
9
  const jwk = await ctx.getPublicKey();
9
10
  return new SignJWT(ctx).setPayload({
@@ -30,7 +31,7 @@ export const createNonceProof = async (nonce, issuer, audience, ctx) => {
30
31
  * @param context.appFetch (optional) fetch api implementation. Default: built-in fetch
31
32
  * @returns The credential response containing the credential
32
33
  */
33
- export const obtainCredential = async (issuerConf, accessToken, clientId, credentialDefinition, context) => {
34
+ export const obtainCredential = async (issuerConf, accessToken, clientId, credentialDefinition, context, operationType) => {
34
35
  const {
35
36
  credentialCryptoContext,
36
37
  appFetch = fetch,
@@ -44,10 +45,12 @@ export const obtainCredential = async (issuerConf, accessToken, clientId, creden
44
45
  * @see https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html#name-proof-types
45
46
  */
46
47
  const signedNonceProof = await createNonceProof(accessToken.c_nonce, clientId, credentialUrl, credentialCryptoContext);
48
+ Logger.log(LogLevel.DEBUG, `Signed nonce proof: ${signedNonceProof}`);
47
49
 
48
50
  // Validation of accessTokenResponse.authorization_details if contain credentialDefinition
49
51
  const containsCredentialDefinition = accessToken.authorization_details.some(c => c.credential_configuration_id === credentialDefinition.credential_configuration_id && c.format === credentialDefinition.format && c.type === credentialDefinition.type);
50
52
  if (!containsCredentialDefinition) {
53
+ Logger.log(LogLevel.ERROR, `Credential definition not found in the access token response ${accessToken.authorization_details}`);
51
54
  throw new ValidationFailed({
52
55
  message: "The access token response does not contain the requested credential"
53
56
  });
@@ -64,27 +67,34 @@ export const obtainCredential = async (issuerConf, accessToken, clientId, creden
64
67
  proof_type: "jwt"
65
68
  }
66
69
  };
70
+ Logger.log(LogLevel.DEBUG, `Credential request body: ${JSON.stringify(credentialRequestFormBody)}`);
67
71
  const tokenRequestSignedDPop = await createDPopToken({
68
72
  htm: "POST",
69
73
  htu: credentialUrl,
70
74
  jti: `${uuidv4()}`,
71
75
  ath: await sha256ToBase64(accessToken.access_token)
72
76
  }, dPopCryptoContext);
77
+ Logger.log(LogLevel.DEBUG, `Token request DPoP: ${tokenRequestSignedDPop}`);
73
78
  const credentialRes = await appFetch(credentialUrl, {
74
79
  method: "POST",
75
80
  headers: {
76
81
  "Content-Type": "application/json",
77
82
  DPoP: tokenRequestSignedDPop,
78
- Authorization: `${accessToken.token_type} ${accessToken.access_token}`
83
+ Authorization: `${accessToken.token_type} ${accessToken.access_token}`,
84
+ ...(operationType === "reissuing" && {
85
+ operationType
86
+ })
79
87
  },
80
88
  body: JSON.stringify(credentialRequestFormBody)
81
89
  }).then(hasStatusOrThrow(200)).then(res => res.json()).then(body => CredentialResponse.safeParse(body)).catch(handleObtainCredentialError);
82
90
  if (!credentialRes.success) {
91
+ Logger.log(LogLevel.ERROR, `Credential Response validation failed: ${credentialRes.error.message}`);
83
92
  throw new ValidationFailed({
84
93
  message: "Credential Response validation failed",
85
94
  reason: credentialRes.error.message
86
95
  });
87
96
  }
97
+ Logger.log(LogLevel.DEBUG, `Credential Response: ${JSON.stringify(credentialRes.data)}`);
88
98
  return credentialRes.data;
89
99
  };
90
100
 
@@ -95,6 +105,7 @@ export const obtainCredential = async (issuerConf, accessToken, clientId, creden
95
105
  * @throws {IssuerResponseError} with a specific code for more context
96
106
  */
97
107
  const handleObtainCredentialError = e => {
108
+ Logger.log(LogLevel.ERROR, `Error occurred while obtaining credential: ${e}`);
98
109
  if (!(e instanceof UnexpectedStatusCodeError)) {
99
110
  throw e;
100
111
  }
@@ -1 +1 @@
1
- {"version":3,"names":["sha256ToBase64","SignJWT","hasStatusOrThrow","IssuerResponseError","IssuerResponseErrorCodes","ResponseErrorBuilder","UnexpectedStatusCodeError","ValidationFailed","CredentialResponse","createDPopToken","v4","uuidv4","createNonceProof","nonce","issuer","audience","ctx","jwk","getPublicKey","setPayload","setProtectedHeader","typ","setAudience","setIssuer","setIssuedAt","setExpirationTime","sign","obtainCredential","issuerConf","accessToken","clientId","credentialDefinition","context","credentialCryptoContext","appFetch","fetch","dPopCryptoContext","credentialUrl","openid_credential_issuer","credential_endpoint","signedNonceProof","c_nonce","containsCredentialDefinition","authorization_details","some","c","credential_configuration_id","format","type","message","credentialRequestFormBody","credential_definition","proof","jwt","proof_type","tokenRequestSignedDPop","htm","htu","jti","ath","access_token","credentialRes","method","headers","DPoP","Authorization","token_type","body","JSON","stringify","then","res","json","safeParse","catch","handleObtainCredentialError","success","reason","error","data","e","handle","code","CredentialIssuingNotSynchronous","CredentialInvalidStatus","CredentialRequestFailed","buildFrom"],"sourceRoot":"../../../../src","sources":["credential/issuance/06-obtain-credential.ts"],"mappings":"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"}
1
+ {"version":3,"names":["sha256ToBase64","SignJWT","hasStatusOrThrow","IssuerResponseError","IssuerResponseErrorCodes","ResponseErrorBuilder","UnexpectedStatusCodeError","ValidationFailed","CredentialResponse","createDPopToken","v4","uuidv4","LogLevel","Logger","createNonceProof","nonce","issuer","audience","ctx","jwk","getPublicKey","setPayload","setProtectedHeader","typ","setAudience","setIssuer","setIssuedAt","setExpirationTime","sign","obtainCredential","issuerConf","accessToken","clientId","credentialDefinition","context","operationType","credentialCryptoContext","appFetch","fetch","dPopCryptoContext","credentialUrl","openid_credential_issuer","credential_endpoint","signedNonceProof","c_nonce","log","DEBUG","containsCredentialDefinition","authorization_details","some","c","credential_configuration_id","format","type","ERROR","message","credentialRequestFormBody","credential_definition","proof","jwt","proof_type","JSON","stringify","tokenRequestSignedDPop","htm","htu","jti","ath","access_token","credentialRes","method","headers","DPoP","Authorization","token_type","body","then","res","json","safeParse","catch","handleObtainCredentialError","success","error","reason","data","e","handle","code","CredentialIssuingNotSynchronous","CredentialInvalidStatus","CredentialRequestFailed","buildFrom"],"sourceRoot":"../../../../src","sources":["credential/issuance/06-obtain-credential.ts"],"mappings":"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"}