@pagopa/io-react-native-wallet 2.4.1 → 2.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,6 +7,7 @@ exports.initChallenge = void 0;
7
7
  var _misc = require("../../../utils/misc");
8
8
  var _uuid = require("uuid");
9
9
  var _pop = require("../../../utils/pop");
10
+ var _logging = require("../../../utils/logging");
10
11
  var WalletInstanceAttestation = _interopRequireWildcard(require("../../../wallet-instance-attestation"));
11
12
  var _errors = require("../../../utils/errors");
12
13
  var _ioReactNativeJwt = require("@pagopa/io-react-native-jwt");
@@ -50,7 +51,7 @@ const initChallenge = async (issuerConf, initUrl, mrtd_auth_session, mrtd_pop_jw
50
51
  "OAuth-Client-Attestation-PoP": signedWiaPoP
51
52
  },
52
53
  body: JSON.stringify(requestBody)
53
- }).then((0, _misc.hasStatusOrThrow)(202, _errors.IssuerResponseError)).then(res => res.text());
54
+ }).then((0, _misc.hasStatusOrThrow)(202)).then(res => res.text()).catch(handleInitChallengeError);
54
55
  const mrtdPoPChallengeDecoded = (0, _ioReactNativeJwt.decode)(mrtdPoPChallengeJwt);
55
56
  const {
56
57
  payload
@@ -58,4 +59,14 @@ const initChallenge = async (issuerConf, initUrl, mrtd_auth_session, mrtd_pop_jw
58
59
  return payload;
59
60
  };
60
61
  exports.initChallenge = initChallenge;
62
+ const handleInitChallengeError = e => {
63
+ _logging.Logger.log(_logging.LogLevel.ERROR, `Failed to get MRTD challenge: ${e}`);
64
+ if (!(e instanceof _errors.UnexpectedStatusCodeError)) {
65
+ throw e;
66
+ }
67
+ throw new _errors.ResponseErrorBuilder(_errors.IssuerResponseError).handle("*", {
68
+ code: _errors.IssuerResponseErrorCodes.MrtdChallengeInitRequestFailed,
69
+ message: "Unable to initialize MRTD challenge"
70
+ }).buildFrom(e);
71
+ };
61
72
  //# sourceMappingURL=02-init-challenge.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_misc","require","_uuid","_pop","WalletInstanceAttestation","_interopRequireWildcard","_errors","_ioReactNativeJwt","_types","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","initChallenge","issuerConf","initUrl","mrtd_auth_session","mrtd_pop_jwt_nonce","context","appFetch","fetch","walletInstanceAttestation","wiaCryptoContext","aud","openid_credential_issuer","credential_issuer","iss","decode","payload","cnf","jwk","kid","signedWiaPoP","createPopToken","jti","uuidv4","requestBody","mrtdPoPChallengeJwt","method","headers","body","JSON","stringify","then","hasStatusOrThrow","IssuerResponseError","res","text","mrtdPoPChallengeDecoded","decodeJwt","MrtdPoPChallenge","parse","exports"],"sourceRoot":"../../../../../src","sources":["credential/issuance/mrtd-pop/02-init-challenge.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_misc","require","_uuid","_pop","_logging","WalletInstanceAttestation","_interopRequireWildcard","_errors","_ioReactNativeJwt","_types","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","initChallenge","issuerConf","initUrl","mrtd_auth_session","mrtd_pop_jwt_nonce","context","appFetch","fetch","walletInstanceAttestation","wiaCryptoContext","aud","openid_credential_issuer","credential_issuer","iss","decode","payload","cnf","jwk","kid","signedWiaPoP","createPopToken","jti","uuidv4","requestBody","mrtdPoPChallengeJwt","method","headers","body","JSON","stringify","then","hasStatusOrThrow","res","text","catch","handleInitChallengeError","mrtdPoPChallengeDecoded","decodeJwt","MrtdPoPChallenge","parse","exports","e","Logger","log","LogLevel","ERROR","UnexpectedStatusCodeError","ResponseErrorBuilder","IssuerResponseError","handle","code","IssuerResponseErrorCodes","MrtdChallengeInitRequestFailed","message","buildFrom"],"sourceRoot":"../../../../../src","sources":["credential/issuance/mrtd-pop/02-init-challenge.ts"],"mappings":"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"}
@@ -21,7 +21,11 @@ const IssuerResponseErrorCodes = {
21
21
  /**
22
22
  * Error code thrown when an error occurs while obtaining a status attestation for a credential.
23
23
  */
24
- StatusAttestationRequestFailed: "ERR_STATUS_ATTESTATION_REQUEST_FAILED"
24
+ StatusAttestationRequestFailed: "ERR_STATUS_ATTESTATION_REQUEST_FAILED",
25
+ /**
26
+ * Error code thrown when an error occurs while initializing the MRTD challenge.
27
+ */
28
+ MrtdChallengeInitRequestFailed: "ERR_MRTD_CHALLENGE_INIT_REQUEST_FAILED"
25
29
  };
26
30
  exports.IssuerResponseErrorCodes = IssuerResponseErrorCodes;
27
31
  const WalletProviderResponseErrorCodes = {
@@ -1 +1 @@
1
- {"version":3,"names":["IssuerResponseErrorCodes","IssuerGenericError","CredentialIssuingNotSynchronous","CredentialRequestFailed","CredentialInvalidStatus","StatusAttestationRequestFailed","exports","WalletProviderResponseErrorCodes","WalletProviderGenericError","WalletInstanceCreationFailed","WalletInstanceAttestationIssuingFailed","WalletInstanceIntegrityFailed","WalletInstanceRevoked","WalletInstanceNotFound","RelyingPartyResponseErrorCodes","RelyingPartyGenericError","InvalidAuthorizationResponse"],"sourceRoot":"../../../src","sources":["utils/error-codes.ts"],"mappings":";;;;;;AAAO,MAAMA,wBAAwB,GAAG;EACtCC,kBAAkB,EAAE,0BAA0B;EAC9C;AACF;AACA;EACEC,+BAA+B,EAAE,wCAAwC;EACzE;AACF;AACA;EACEC,uBAAuB,EAAE,+BAA+B;EACxD;AACF;AACA;EACEC,uBAAuB,EAAE,+BAA+B;EACxD;AACF;AACA;EACEC,8BAA8B,EAAE;AAClC,CAAU;AAACC,OAAA,CAAAN,wBAAA,GAAAA,wBAAA;AAEJ,MAAMO,gCAAgC,GAAG;EAC9CC,0BAA0B,EAAE,sCAAsC;EAClE;AACF;AACA;EACEC,4BAA4B,EAAE,wCAAwC;EACtE;AACF;AACA;EACEC,sCAAsC,EACpC,mDAAmD;EACrD;AACF;AACA;EACEC,6BAA6B,EAAE,yCAAyC;EACxE;AACF;AACA;EACEC,qBAAqB,EAAE,gCAAgC;EACvD;AACF;AACA;EACEC,sBAAsB,EAAE;AAC1B,CAAU;AAACP,OAAA,CAAAC,gCAAA,GAAAA,gCAAA;AAEJ,MAAMO,8BAA8B,GAAG;EAC5CC,wBAAwB,EAAE,sBAAsB;EAChD;AACF;AACA;EACEC,4BAA4B,EAAE;AAChC,CAAU;AAACV,OAAA,CAAAQ,8BAAA,GAAAA,8BAAA"}
1
+ {"version":3,"names":["IssuerResponseErrorCodes","IssuerGenericError","CredentialIssuingNotSynchronous","CredentialRequestFailed","CredentialInvalidStatus","StatusAttestationRequestFailed","MrtdChallengeInitRequestFailed","exports","WalletProviderResponseErrorCodes","WalletProviderGenericError","WalletInstanceCreationFailed","WalletInstanceAttestationIssuingFailed","WalletInstanceIntegrityFailed","WalletInstanceRevoked","WalletInstanceNotFound","RelyingPartyResponseErrorCodes","RelyingPartyGenericError","InvalidAuthorizationResponse"],"sourceRoot":"../../../src","sources":["utils/error-codes.ts"],"mappings":";;;;;;AAAO,MAAMA,wBAAwB,GAAG;EACtCC,kBAAkB,EAAE,0BAA0B;EAC9C;AACF;AACA;EACEC,+BAA+B,EAAE,wCAAwC;EACzE;AACF;AACA;EACEC,uBAAuB,EAAE,+BAA+B;EACxD;AACF;AACA;EACEC,uBAAuB,EAAE,+BAA+B;EACxD;AACF;AACA;EACEC,8BAA8B,EAAE,uCAAuC;EACvE;AACF;AACA;EACEC,8BAA8B,EAAE;AAClC,CAAU;AAACC,OAAA,CAAAP,wBAAA,GAAAA,wBAAA;AAEJ,MAAMQ,gCAAgC,GAAG;EAC9CC,0BAA0B,EAAE,sCAAsC;EAClE;AACF;AACA;EACEC,4BAA4B,EAAE,wCAAwC;EACtE;AACF;AACA;EACEC,sCAAsC,EACpC,mDAAmD;EACrD;AACF;AACA;EACEC,6BAA6B,EAAE,yCAAyC;EACxE;AACF;AACA;EACEC,qBAAqB,EAAE,gCAAgC;EACvD;AACF;AACA;EACEC,sBAAsB,EAAE;AAC1B,CAAU;AAACP,OAAA,CAAAC,gCAAA,GAAAA,gCAAA;AAEJ,MAAMO,8BAA8B,GAAG;EAC5CC,wBAAwB,EAAE,sBAAsB;EAChD;AACF;AACA;EACEC,4BAA4B,EAAE;AAChC,CAAU;AAACV,OAAA,CAAAQ,8BAAA,GAAAA,8BAAA"}
@@ -1,8 +1,9 @@
1
1
  import { hasStatusOrThrow } from "../../../utils/misc";
2
2
  import { v4 as uuidv4 } from "uuid";
3
3
  import { createPopToken } from "../../../utils/pop";
4
+ import { Logger, LogLevel } from "../../../utils/logging";
4
5
  import * as WalletInstanceAttestation from "../../../wallet-instance-attestation";
5
- import { IssuerResponseError } from "../../../utils/errors";
6
+ import { IssuerResponseError, IssuerResponseErrorCodes, ResponseErrorBuilder, UnexpectedStatusCodeError } from "../../../utils/errors";
6
7
  import { decode as decodeJwt } from "@pagopa/io-react-native-jwt";
7
8
  import { MrtdPoPChallenge } from "./types";
8
9
  /**
@@ -42,11 +43,21 @@ export const initChallenge = async (issuerConf, initUrl, mrtd_auth_session, mrtd
42
43
  "OAuth-Client-Attestation-PoP": signedWiaPoP
43
44
  },
44
45
  body: JSON.stringify(requestBody)
45
- }).then(hasStatusOrThrow(202, IssuerResponseError)).then(res => res.text());
46
+ }).then(hasStatusOrThrow(202)).then(res => res.text()).catch(handleInitChallengeError);
46
47
  const mrtdPoPChallengeDecoded = decodeJwt(mrtdPoPChallengeJwt);
47
48
  const {
48
49
  payload
49
50
  } = MrtdPoPChallenge.parse(mrtdPoPChallengeDecoded);
50
51
  return payload;
51
52
  };
53
+ const handleInitChallengeError = e => {
54
+ Logger.log(LogLevel.ERROR, `Failed to get MRTD challenge: ${e}`);
55
+ if (!(e instanceof UnexpectedStatusCodeError)) {
56
+ throw e;
57
+ }
58
+ throw new ResponseErrorBuilder(IssuerResponseError).handle("*", {
59
+ code: IssuerResponseErrorCodes.MrtdChallengeInitRequestFailed,
60
+ message: "Unable to initialize MRTD challenge"
61
+ }).buildFrom(e);
62
+ };
52
63
  //# sourceMappingURL=02-init-challenge.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["hasStatusOrThrow","v4","uuidv4","createPopToken","WalletInstanceAttestation","IssuerResponseError","decode","decodeJwt","MrtdPoPChallenge","initChallenge","issuerConf","initUrl","mrtd_auth_session","mrtd_pop_jwt_nonce","context","appFetch","fetch","walletInstanceAttestation","wiaCryptoContext","aud","openid_credential_issuer","credential_issuer","iss","payload","cnf","jwk","kid","signedWiaPoP","jti","requestBody","mrtdPoPChallengeJwt","method","headers","body","JSON","stringify","then","res","text","mrtdPoPChallengeDecoded","parse"],"sourceRoot":"../../../../../src","sources":["credential/issuance/mrtd-pop/02-init-challenge.ts"],"mappings":"AAAA,SAASA,gBAAgB,QAAkB,qBAAqB;AAEhE,SAASC,EAAE,IAAIC,MAAM,QAAQ,MAAM;AACnC,SAASC,cAAc,QAAQ,oBAAoB;AACnD,OAAO,KAAKC,yBAAyB,MAAM,sCAAsC;AAEjF,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,MAAM,IAAIC,SAAS,QAAQ,6BAA6B;AACjE,SAASC,gBAAgB,QAAQ,SAAS;AAc1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAA4B,GAAG,MAAAA,CAC1CC,UAAU,EACVC,OAAO,EACPC,iBAAiB,EACjBC,kBAAkB,EAClBC,OAAO,KACJ;EACH,MAAM;IACJC,QAAQ,GAAGC,KAAK;IAChBC,yBAAyB;IACzBC;EACF,CAAC,GAAGJ,OAAO;EAEX,MAAMK,GAAG,GAAGT,UAAU,CAACU,wBAAwB,CAACC,iBAAiB;EACjE,MAAMC,GAAG,GAAGlB,yBAAyB,CAACE,MAAM,CAACW,yBAAyB,CAAC,CACpEM,OAAO,CAACC,GAAG,CAACC,GAAG,CAACC,GAAG;EAEtB,MAAMC,YAAY,GAAG,MAAMxB,cAAc,CACvC;IACEyB,GAAG,EAAG,GAAE1B,MAAM,CAAC,CAAE,EAAC;IAClBiB,GAAG;IACHG;EACF,CAAC,EACDJ,gBACF,CAAC;EAED,MAAMW,WAAW,GAAG;IAClBjB,iBAAiB;IACjBC;EACF,CAAC;EAED,MAAMiB,mBAAmB,GAAG,MAAMf,QAAQ,CAACJ,OAAO,EAAE;IAClDoB,MAAM,EAAE,MAAM;IACdC,OAAO,EAAE;MACP,cAAc,EAAE,kBAAkB;MAClC,0BAA0B,EAAEf,yBAAyB;MACrD,8BAA8B,EAAEU;IAClC,CAAC;IACDM,IAAI,EAAEC,IAAI,CAACC,SAAS,CAACN,WAAW;EAClC,CAAC,CAAC,CACCO,IAAI,CAACpC,gBAAgB,CAAC,GAAG,EAAEK,mBAAmB,CAAC,CAAC,CAChD+B,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC,CAAC,CAAC;EAE5B,MAAMC,uBAAuB,GAAGhC,SAAS,CAACuB,mBAAmB,CAAC;EAC9D,MAAM;IAAEP;EAAQ,CAAC,GAAGf,gBAAgB,CAACgC,KAAK,CAACD,uBAAuB,CAAC;EAEnE,OAAOhB,OAAO;AAChB,CAAC"}
1
+ {"version":3,"names":["hasStatusOrThrow","v4","uuidv4","createPopToken","Logger","LogLevel","WalletInstanceAttestation","IssuerResponseError","IssuerResponseErrorCodes","ResponseErrorBuilder","UnexpectedStatusCodeError","decode","decodeJwt","MrtdPoPChallenge","initChallenge","issuerConf","initUrl","mrtd_auth_session","mrtd_pop_jwt_nonce","context","appFetch","fetch","walletInstanceAttestation","wiaCryptoContext","aud","openid_credential_issuer","credential_issuer","iss","payload","cnf","jwk","kid","signedWiaPoP","jti","requestBody","mrtdPoPChallengeJwt","method","headers","body","JSON","stringify","then","res","text","catch","handleInitChallengeError","mrtdPoPChallengeDecoded","parse","e","log","ERROR","handle","code","MrtdChallengeInitRequestFailed","message","buildFrom"],"sourceRoot":"../../../../../src","sources":["credential/issuance/mrtd-pop/02-init-challenge.ts"],"mappings":"AAAA,SAASA,gBAAgB,QAAkB,qBAAqB;AAEhE,SAASC,EAAE,IAAIC,MAAM,QAAQ,MAAM;AACnC,SAASC,cAAc,QAAQ,oBAAoB;AACnD,SAASC,MAAM,EAAEC,QAAQ,QAAQ,wBAAwB;AACzD,OAAO,KAAKC,yBAAyB,MAAM,sCAAsC;AAEjF,SACEC,mBAAmB,EACnBC,wBAAwB,EACxBC,oBAAoB,EACpBC,yBAAyB,QACpB,uBAAuB;AAC9B,SAASC,MAAM,IAAIC,SAAS,QAAQ,6BAA6B;AACjE,SAASC,gBAAgB,QAAQ,SAAS;AAc1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAA4B,GAAG,MAAAA,CAC1CC,UAAU,EACVC,OAAO,EACPC,iBAAiB,EACjBC,kBAAkB,EAClBC,OAAO,KACJ;EACH,MAAM;IACJC,QAAQ,GAAGC,KAAK;IAChBC,yBAAyB;IACzBC;EACF,CAAC,GAAGJ,OAAO;EAEX,MAAMK,GAAG,GAAGT,UAAU,CAACU,wBAAwB,CAACC,iBAAiB;EACjE,MAAMC,GAAG,GAAGrB,yBAAyB,CAACK,MAAM,CAACW,yBAAyB,CAAC,CACpEM,OAAO,CAACC,GAAG,CAACC,GAAG,CAACC,GAAG;EAEtB,MAAMC,YAAY,GAAG,MAAM7B,cAAc,CACvC;IACE8B,GAAG,EAAG,GAAE/B,MAAM,CAAC,CAAE,EAAC;IAClBsB,GAAG;IACHG;EACF,CAAC,EACDJ,gBACF,CAAC;EAED,MAAMW,WAAW,GAAG;IAClBjB,iBAAiB;IACjBC;EACF,CAAC;EAED,MAAMiB,mBAAmB,GAAG,MAAMf,QAAQ,CAACJ,OAAO,EAAE;IAClDoB,MAAM,EAAE,MAAM;IACdC,OAAO,EAAE;MACP,cAAc,EAAE,kBAAkB;MAClC,0BAA0B,EAAEf,yBAAyB;MACrD,8BAA8B,EAAEU;IAClC,CAAC;IACDM,IAAI,EAAEC,IAAI,CAACC,SAAS,CAACN,WAAW;EAClC,CAAC,CAAC,CACCO,IAAI,CAACzC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAC3ByC,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC,CAAC,CAAC,CACzBC,KAAK,CAACC,wBAAwB,CAAC;EAElC,MAAMC,uBAAuB,GAAGlC,SAAS,CAACuB,mBAAmB,CAAC;EAC9D,MAAM;IAAEP;EAAQ,CAAC,GAAGf,gBAAgB,CAACkC,KAAK,CAACD,uBAAuB,CAAC;EAEnE,OAAOlB,OAAO;AAChB,CAAC;AAED,MAAMiB,wBAAwB,GAAIG,CAAU,IAAK;EAC/C5C,MAAM,CAAC6C,GAAG,CAAC5C,QAAQ,CAAC6C,KAAK,EAAG,iCAAgCF,CAAE,EAAC,CAAC;EAEhE,IAAI,EAAEA,CAAC,YAAYtC,yBAAyB,CAAC,EAAE;IAC7C,MAAMsC,CAAC;EACT;EAEA,MAAM,IAAIvC,oBAAoB,CAACF,mBAAmB,CAAC,CAChD4C,MAAM,CAAC,GAAG,EAAE;IACXC,IAAI,EAAE5C,wBAAwB,CAAC6C,8BAA8B;IAC7DC,OAAO,EAAE;EACX,CAAC,CAAC,CACDC,SAAS,CAACP,CAAC,CAAC;AACjB,CAAC"}
@@ -15,7 +15,11 @@ export const IssuerResponseErrorCodes = {
15
15
  /**
16
16
  * Error code thrown when an error occurs while obtaining a status attestation for a credential.
17
17
  */
18
- StatusAttestationRequestFailed: "ERR_STATUS_ATTESTATION_REQUEST_FAILED"
18
+ StatusAttestationRequestFailed: "ERR_STATUS_ATTESTATION_REQUEST_FAILED",
19
+ /**
20
+ * Error code thrown when an error occurs while initializing the MRTD challenge.
21
+ */
22
+ MrtdChallengeInitRequestFailed: "ERR_MRTD_CHALLENGE_INIT_REQUEST_FAILED"
19
23
  };
20
24
  export const WalletProviderResponseErrorCodes = {
21
25
  WalletProviderGenericError: "ERR_IO_WALLET_PROVIDER_GENERIC_ERROR",
@@ -1 +1 @@
1
- {"version":3,"names":["IssuerResponseErrorCodes","IssuerGenericError","CredentialIssuingNotSynchronous","CredentialRequestFailed","CredentialInvalidStatus","StatusAttestationRequestFailed","WalletProviderResponseErrorCodes","WalletProviderGenericError","WalletInstanceCreationFailed","WalletInstanceAttestationIssuingFailed","WalletInstanceIntegrityFailed","WalletInstanceRevoked","WalletInstanceNotFound","RelyingPartyResponseErrorCodes","RelyingPartyGenericError","InvalidAuthorizationResponse"],"sourceRoot":"../../../src","sources":["utils/error-codes.ts"],"mappings":"AAAA,OAAO,MAAMA,wBAAwB,GAAG;EACtCC,kBAAkB,EAAE,0BAA0B;EAC9C;AACF;AACA;EACEC,+BAA+B,EAAE,wCAAwC;EACzE;AACF;AACA;EACEC,uBAAuB,EAAE,+BAA+B;EACxD;AACF;AACA;EACEC,uBAAuB,EAAE,+BAA+B;EACxD;AACF;AACA;EACEC,8BAA8B,EAAE;AAClC,CAAU;AAEV,OAAO,MAAMC,gCAAgC,GAAG;EAC9CC,0BAA0B,EAAE,sCAAsC;EAClE;AACF;AACA;EACEC,4BAA4B,EAAE,wCAAwC;EACtE;AACF;AACA;EACEC,sCAAsC,EACpC,mDAAmD;EACrD;AACF;AACA;EACEC,6BAA6B,EAAE,yCAAyC;EACxE;AACF;AACA;EACEC,qBAAqB,EAAE,gCAAgC;EACvD;AACF;AACA;EACEC,sBAAsB,EAAE;AAC1B,CAAU;AAEV,OAAO,MAAMC,8BAA8B,GAAG;EAC5CC,wBAAwB,EAAE,sBAAsB;EAChD;AACF;AACA;EACEC,4BAA4B,EAAE;AAChC,CAAU"}
1
+ {"version":3,"names":["IssuerResponseErrorCodes","IssuerGenericError","CredentialIssuingNotSynchronous","CredentialRequestFailed","CredentialInvalidStatus","StatusAttestationRequestFailed","MrtdChallengeInitRequestFailed","WalletProviderResponseErrorCodes","WalletProviderGenericError","WalletInstanceCreationFailed","WalletInstanceAttestationIssuingFailed","WalletInstanceIntegrityFailed","WalletInstanceRevoked","WalletInstanceNotFound","RelyingPartyResponseErrorCodes","RelyingPartyGenericError","InvalidAuthorizationResponse"],"sourceRoot":"../../../src","sources":["utils/error-codes.ts"],"mappings":"AAAA,OAAO,MAAMA,wBAAwB,GAAG;EACtCC,kBAAkB,EAAE,0BAA0B;EAC9C;AACF;AACA;EACEC,+BAA+B,EAAE,wCAAwC;EACzE;AACF;AACA;EACEC,uBAAuB,EAAE,+BAA+B;EACxD;AACF;AACA;EACEC,uBAAuB,EAAE,+BAA+B;EACxD;AACF;AACA;EACEC,8BAA8B,EAAE,uCAAuC;EACvE;AACF;AACA;EACEC,8BAA8B,EAAE;AAClC,CAAU;AAEV,OAAO,MAAMC,gCAAgC,GAAG;EAC9CC,0BAA0B,EAAE,sCAAsC;EAClE;AACF;AACA;EACEC,4BAA4B,EAAE,wCAAwC;EACtE;AACF;AACA;EACEC,sCAAsC,EACpC,mDAAmD;EACrD;AACF;AACA;EACEC,6BAA6B,EAAE,yCAAyC;EACxE;AACF;AACA;EACEC,qBAAqB,EAAE,gCAAgC;EACvD;AACF;AACA;EACEC,sBAAsB,EAAE;AAC1B,CAAU;AAEV,OAAO,MAAMC,8BAA8B,GAAG;EAC5CC,wBAAwB,EAAE,sBAAsB;EAChD;AACF;AACA;EACEC,4BAA4B,EAAE;AAChC,CAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"02-init-challenge.d.ts","sourceRoot":"","sources":["../../../../../src/credential/issuance/mrtd-pop/02-init-challenge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAIjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,MAAM,aAAa,GAAG,CAC1B,UAAU,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,EAClD,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE;IACP,gBAAgB,EAAE,aAAa,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;AAE1C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,EAAE,aA+C3B,CAAC"}
1
+ {"version":3,"file":"02-init-challenge.d.ts","sourceRoot":"","sources":["../../../../../src/credential/issuance/mrtd-pop/02-init-challenge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAKjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAQ1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,MAAM,aAAa,GAAG,CAC1B,UAAU,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,EAClD,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE;IACP,gBAAgB,EAAE,aAAa,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;AAE1C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,EAAE,aAgD3B,CAAC"}
@@ -16,6 +16,10 @@ export declare const IssuerResponseErrorCodes: {
16
16
  * Error code thrown when an error occurs while obtaining a status attestation for a credential.
17
17
  */
18
18
  readonly StatusAttestationRequestFailed: "ERR_STATUS_ATTESTATION_REQUEST_FAILED";
19
+ /**
20
+ * Error code thrown when an error occurs while initializing the MRTD challenge.
21
+ */
22
+ readonly MrtdChallengeInitRequestFailed: "ERR_MRTD_CHALLENGE_INIT_REQUEST_FAILED";
19
23
  };
20
24
  export declare const WalletProviderResponseErrorCodes: {
21
25
  readonly WalletProviderGenericError: "ERR_IO_WALLET_PROVIDER_GENERIC_ERROR";
@@ -1 +1 @@
1
- {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../../src/utils/error-codes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;IAEnC;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEK,CAAC;AAEX,eAAO,MAAM,gCAAgC;;IAE3C;;OAEG;;IAEH;;OAEG;;IAGH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEK,CAAC;AAEX,eAAO,MAAM,8BAA8B;;IAEzC;;OAEG;;CAEK,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,OAAO,wBAAwB,CAAC,CAAC;AAE3E,MAAM,MAAM,+BAA+B,GACzC,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,OAAO,gCAAgC,CAAC,CAAC;AAE3F,MAAM,MAAM,6BAA6B,GACvC,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,OAAO,8BAA8B,CAAC,CAAC"}
1
+ {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../../src/utils/error-codes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;IAEnC;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEK,CAAC;AAEX,eAAO,MAAM,gCAAgC;;IAE3C;;OAEG;;IAEH;;OAEG;;IAGH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEK,CAAC;AAEX,eAAO,MAAM,8BAA8B;;IAEzC;;OAEG;;CAEK,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,OAAO,wBAAwB,CAAC,CAAC;AAE3E,MAAM,MAAM,+BAA+B,GACzC,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,OAAO,gCAAgC,CAAC,CAAC;AAE3F,MAAM,MAAM,6BAA6B,GACvC,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,OAAO,8BAA8B,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pagopa/io-react-native-wallet",
3
- "version": "2.4.1",
3
+ "version": "2.4.2",
4
4
  "description": "Provide data structures, helpers and API for IO Wallet",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -74,7 +74,7 @@
74
74
  "react": "19.0.0",
75
75
  "react-native": "0.78.3",
76
76
  "react-native-builder-bob": "^0.20.0",
77
- "release-it": "^15.0.0",
77
+ "release-it": "^19.0.6",
78
78
  "typed-openapi": "^0.4.1",
79
79
  "typescript": "5.0.4"
80
80
  },
@@ -2,9 +2,15 @@ import { hasStatusOrThrow, type Out } from "../../../utils/misc";
2
2
  import type { CryptoContext } from "@pagopa/io-react-native-jwt";
3
3
  import { v4 as uuidv4 } from "uuid";
4
4
  import { createPopToken } from "../../../utils/pop";
5
+ import { Logger, LogLevel } from "../../../utils/logging";
5
6
  import * as WalletInstanceAttestation from "../../../wallet-instance-attestation";
6
7
  import type { EvaluateIssuerTrust } from "../../issuance";
7
- import { IssuerResponseError } from "../../../utils/errors";
8
+ import {
9
+ IssuerResponseError,
10
+ IssuerResponseErrorCodes,
11
+ ResponseErrorBuilder,
12
+ UnexpectedStatusCodeError,
13
+ } from "../../../utils/errors";
8
14
  import { decode as decodeJwt } from "@pagopa/io-react-native-jwt";
9
15
  import { MrtdPoPChallenge } from "./types";
10
16
 
@@ -72,11 +78,27 @@ export const initChallenge: InitChallenge = async (
72
78
  },
73
79
  body: JSON.stringify(requestBody),
74
80
  })
75
- .then(hasStatusOrThrow(202, IssuerResponseError))
76
- .then((res) => res.text());
81
+ .then(hasStatusOrThrow(202))
82
+ .then((res) => res.text())
83
+ .catch(handleInitChallengeError);
77
84
 
78
85
  const mrtdPoPChallengeDecoded = decodeJwt(mrtdPoPChallengeJwt);
79
86
  const { payload } = MrtdPoPChallenge.parse(mrtdPoPChallengeDecoded);
80
87
 
81
88
  return payload;
82
89
  };
90
+
91
+ const handleInitChallengeError = (e: unknown) => {
92
+ Logger.log(LogLevel.ERROR, `Failed to get MRTD challenge: ${e}`);
93
+
94
+ if (!(e instanceof UnexpectedStatusCodeError)) {
95
+ throw e;
96
+ }
97
+
98
+ throw new ResponseErrorBuilder(IssuerResponseError)
99
+ .handle("*", {
100
+ code: IssuerResponseErrorCodes.MrtdChallengeInitRequestFailed,
101
+ message: "Unable to initialize MRTD challenge",
102
+ })
103
+ .buildFrom(e);
104
+ };
@@ -16,6 +16,10 @@ export const IssuerResponseErrorCodes = {
16
16
  * Error code thrown when an error occurs while obtaining a status attestation for a credential.
17
17
  */
18
18
  StatusAttestationRequestFailed: "ERR_STATUS_ATTESTATION_REQUEST_FAILED",
19
+ /**
20
+ * Error code thrown when an error occurs while initializing the MRTD challenge.
21
+ */
22
+ MrtdChallengeInitRequestFailed: "ERR_MRTD_CHALLENGE_INIT_REQUEST_FAILED",
19
23
  } as const;
20
24
 
21
25
  export const WalletProviderResponseErrorCodes = {