@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.
- package/lib/commonjs/credential/issuance/mrtd-pop/02-init-challenge.js +12 -1
- package/lib/commonjs/credential/issuance/mrtd-pop/02-init-challenge.js.map +1 -1
- package/lib/commonjs/utils/error-codes.js +5 -1
- package/lib/commonjs/utils/error-codes.js.map +1 -1
- package/lib/module/credential/issuance/mrtd-pop/02-init-challenge.js +13 -2
- package/lib/module/credential/issuance/mrtd-pop/02-init-challenge.js.map +1 -1
- package/lib/module/utils/error-codes.js +5 -1
- package/lib/module/utils/error-codes.js.map +1 -1
- package/lib/typescript/credential/issuance/mrtd-pop/02-init-challenge.d.ts.map +1 -1
- package/lib/typescript/utils/error-codes.d.ts +4 -0
- package/lib/typescript/utils/error-codes.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/credential/issuance/mrtd-pop/02-init-challenge.ts +25 -3
- package/src/utils/error-codes.ts +4 -0
|
@@ -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
|
|
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","
|
|
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,
|
|
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
|
|
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,
|
|
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;
|
|
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.
|
|
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": "^
|
|
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 {
|
|
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
|
|
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
|
+
};
|
package/src/utils/error-codes.ts
CHANGED
|
@@ -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 = {
|