@pagopa/io-react-native-wallet 3.1.2 → 3.2.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.
- package/lib/commonjs/credential/issuance/README.md +44 -17
- package/lib/commonjs/credential/issuance/v1.0.0/03-complete-user-authorization.js +5 -2
- package/lib/commonjs/credential/issuance/v1.0.0/03-complete-user-authorization.js.map +1 -1
- package/lib/commonjs/credential/issuance/v1.0.0/05-obtain-credential.js +5 -1
- package/lib/commonjs/credential/issuance/v1.0.0/05-obtain-credential.js.map +1 -1
- package/lib/commonjs/credential/issuance/v1.0.0/index.js +1 -0
- package/lib/commonjs/credential/issuance/v1.0.0/index.js.map +1 -1
- package/lib/commonjs/credential/issuance/v1.3.3/03-complete-user-authorization.js +1 -1
- package/lib/commonjs/credential/issuance/v1.3.3/03-complete-user-authorization.js.map +1 -1
- package/lib/commonjs/credential/issuance/v1.3.3/05-obtain-credential.js +147 -52
- package/lib/commonjs/credential/issuance/v1.3.3/05-obtain-credential.js.map +1 -1
- package/lib/commonjs/credential/issuance/v1.3.3/index.js +1 -0
- package/lib/commonjs/credential/issuance/v1.3.3/index.js.map +1 -1
- package/lib/commonjs/credential/presentation/api/types.js.map +1 -1
- package/lib/commonjs/credential/presentation/v1.0.0/05-verify-request-object.js +18 -12
- package/lib/commonjs/credential/presentation/v1.0.0/05-verify-request-object.js.map +1 -1
- package/lib/commonjs/credential/presentation/v1.0.0/07-send-authorization-response.js +3 -0
- package/lib/commonjs/credential/presentation/v1.0.0/07-send-authorization-response.js.map +1 -1
- package/lib/commonjs/credential/presentation/v1.0.0/index.js +0 -2
- package/lib/commonjs/credential/presentation/v1.0.0/index.js.map +1 -1
- package/lib/commonjs/credential/presentation/v1.0.0/mappers.js +23 -13
- package/lib/commonjs/credential/presentation/v1.0.0/mappers.js.map +1 -1
- package/lib/commonjs/credential/presentation/v1.0.0/types.js +25 -17
- package/lib/commonjs/credential/presentation/v1.0.0/types.js.map +1 -1
- package/lib/commonjs/credential/presentation/v1.3.3/05-verify-request-object.js +29 -6
- package/lib/commonjs/credential/presentation/v1.3.3/05-verify-request-object.js.map +1 -1
- package/lib/commonjs/credential/presentation/v1.3.3/07-send-authorization-response.js +9 -6
- package/lib/commonjs/credential/presentation/v1.3.3/07-send-authorization-response.js.map +1 -1
- package/lib/commonjs/credential/presentation/v1.3.3/mappers.js +25 -13
- package/lib/commonjs/credential/presentation/v1.3.3/mappers.js.map +1 -1
- package/lib/commonjs/credential/presentation/v1.3.3/types.js +6 -3
- package/lib/commonjs/credential/presentation/v1.3.3/types.js.map +1 -1
- package/lib/commonjs/credentials-catalogue/api/DigitalCredentialsCatalogue.js +26 -1
- package/lib/commonjs/credentials-catalogue/api/DigitalCredentialsCatalogue.js.map +1 -1
- package/lib/commonjs/credentials-catalogue/v1.3.3/fetch-and-parse-catalogue.js +4 -0
- package/lib/commonjs/credentials-catalogue/v1.3.3/fetch-and-parse-catalogue.js.map +1 -1
- package/lib/commonjs/credentials-catalogue/v1.3.3/fetch-translations.js +5 -3
- package/lib/commonjs/credentials-catalogue/v1.3.3/fetch-translations.js.map +1 -1
- package/lib/commonjs/credentials-catalogue/v1.3.3/mappers.js +9 -1
- package/lib/commonjs/credentials-catalogue/v1.3.3/mappers.js.map +1 -1
- package/lib/commonjs/credentials-catalogue/v1.3.3/types.js +49 -1
- package/lib/commonjs/credentials-catalogue/v1.3.3/types.js.map +1 -1
- package/lib/commonjs/utils/callbacks.js +25 -6
- package/lib/commonjs/utils/callbacks.js.map +1 -1
- package/lib/commonjs/utils/crypto.js +58 -5
- package/lib/commonjs/utils/crypto.js.map +1 -1
- package/lib/module/credential/issuance/README.md +44 -17
- package/lib/module/credential/issuance/v1.0.0/03-complete-user-authorization.js +6 -3
- package/lib/module/credential/issuance/v1.0.0/03-complete-user-authorization.js.map +1 -1
- package/lib/module/credential/issuance/v1.0.0/05-obtain-credential.js +4 -1
- package/lib/module/credential/issuance/v1.0.0/05-obtain-credential.js.map +1 -1
- package/lib/module/credential/issuance/v1.0.0/index.js +2 -1
- package/lib/module/credential/issuance/v1.0.0/index.js.map +1 -1
- package/lib/module/credential/issuance/v1.3.3/03-complete-user-authorization.js +1 -1
- package/lib/module/credential/issuance/v1.3.3/03-complete-user-authorization.js.map +1 -1
- package/lib/module/credential/issuance/v1.3.3/05-obtain-credential.js +143 -49
- package/lib/module/credential/issuance/v1.3.3/05-obtain-credential.js.map +1 -1
- package/lib/module/credential/issuance/v1.3.3/index.js +2 -1
- package/lib/module/credential/issuance/v1.3.3/index.js.map +1 -1
- package/lib/module/credential/presentation/api/types.js.map +1 -1
- package/lib/module/credential/presentation/v1.0.0/05-verify-request-object.js +13 -7
- package/lib/module/credential/presentation/v1.0.0/05-verify-request-object.js.map +1 -1
- package/lib/module/credential/presentation/v1.0.0/07-send-authorization-response.js +4 -1
- package/lib/module/credential/presentation/v1.0.0/07-send-authorization-response.js.map +1 -1
- package/lib/module/credential/presentation/v1.0.0/index.js +0 -2
- package/lib/module/credential/presentation/v1.0.0/index.js.map +1 -1
- package/lib/module/credential/presentation/v1.0.0/mappers.js +23 -13
- package/lib/module/credential/presentation/v1.0.0/mappers.js.map +1 -1
- package/lib/module/credential/presentation/v1.0.0/types.js +23 -15
- package/lib/module/credential/presentation/v1.0.0/types.js.map +1 -1
- package/lib/module/credential/presentation/v1.3.3/05-verify-request-object.js +28 -6
- package/lib/module/credential/presentation/v1.3.3/05-verify-request-object.js.map +1 -1
- package/lib/module/credential/presentation/v1.3.3/07-send-authorization-response.js +9 -6
- package/lib/module/credential/presentation/v1.3.3/07-send-authorization-response.js.map +1 -1
- package/lib/module/credential/presentation/v1.3.3/mappers.js +25 -13
- package/lib/module/credential/presentation/v1.3.3/mappers.js.map +1 -1
- package/lib/module/credential/presentation/v1.3.3/types.js +5 -2
- package/lib/module/credential/presentation/v1.3.3/types.js.map +1 -1
- package/lib/module/credentials-catalogue/api/DigitalCredentialsCatalogue.js +24 -0
- package/lib/module/credentials-catalogue/api/DigitalCredentialsCatalogue.js.map +1 -1
- package/lib/module/credentials-catalogue/v1.3.3/fetch-and-parse-catalogue.js +5 -1
- package/lib/module/credentials-catalogue/v1.3.3/fetch-and-parse-catalogue.js.map +1 -1
- package/lib/module/credentials-catalogue/v1.3.3/fetch-translations.js +5 -3
- package/lib/module/credentials-catalogue/v1.3.3/fetch-translations.js.map +1 -1
- package/lib/module/credentials-catalogue/v1.3.3/mappers.js +9 -1
- package/lib/module/credentials-catalogue/v1.3.3/mappers.js.map +1 -1
- package/lib/module/credentials-catalogue/v1.3.3/types.js +47 -0
- package/lib/module/credentials-catalogue/v1.3.3/types.js.map +1 -1
- package/lib/module/utils/callbacks.js +26 -7
- package/lib/module/utils/callbacks.js.map +1 -1
- package/lib/module/utils/crypto.js +57 -6
- package/lib/module/utils/crypto.js.map +1 -1
- package/lib/typescript/credential/issuance/api/05-obtain-credential.d.ts +20 -0
- package/lib/typescript/credential/issuance/api/05-obtain-credential.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/v1.0.0/03-complete-user-authorization.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/v1.0.0/05-obtain-credential.d.ts +1 -0
- package/lib/typescript/credential/issuance/v1.0.0/05-obtain-credential.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/v1.0.0/index.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/v1.3.3/05-obtain-credential.d.ts +23 -2
- package/lib/typescript/credential/issuance/v1.3.3/05-obtain-credential.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/v1.3.3/index.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/api/04-verify-certificate-chain.d.ts +9 -2
- package/lib/typescript/credential/presentation/api/04-verify-certificate-chain.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/api/05-verify-request-object.d.ts +2 -2
- package/lib/typescript/credential/presentation/api/05-verify-request-object.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/api/07-send-authorization-response.d.ts +2 -2
- package/lib/typescript/credential/presentation/api/07-send-authorization-response.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/api/types.d.ts +18 -0
- package/lib/typescript/credential/presentation/api/types.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/v1.0.0/05-verify-request-object.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/v1.0.0/07-send-authorization-response.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/v1.0.0/index.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/v1.0.0/mappers.d.ts +21 -13
- package/lib/typescript/credential/presentation/v1.0.0/mappers.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/v1.0.0/types.d.ts +23 -15
- package/lib/typescript/credential/presentation/v1.0.0/types.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/v1.3.3/05-verify-request-object.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/v1.3.3/07-send-authorization-response.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/v1.3.3/mappers.d.ts +89 -79
- package/lib/typescript/credential/presentation/v1.3.3/mappers.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/v1.3.3/types.d.ts +87 -79
- package/lib/typescript/credential/presentation/v1.3.3/types.d.ts.map +1 -1
- package/lib/typescript/credentials-catalogue/api/DigitalCredentialsCatalogue.d.ts +73 -0
- package/lib/typescript/credentials-catalogue/api/DigitalCredentialsCatalogue.d.ts.map +1 -1
- package/lib/typescript/credentials-catalogue/api/index.d.ts +6 -5
- package/lib/typescript/credentials-catalogue/api/index.d.ts.map +1 -1
- package/lib/typescript/credentials-catalogue/v1.0.0/mappers.d.ts +25 -0
- package/lib/typescript/credentials-catalogue/v1.0.0/mappers.d.ts.map +1 -1
- package/lib/typescript/credentials-catalogue/v1.3.3/fetch-and-parse-catalogue.d.ts.map +1 -1
- package/lib/typescript/credentials-catalogue/v1.3.3/fetch-translations.d.ts.map +1 -1
- package/lib/typescript/credentials-catalogue/v1.3.3/mappers.d.ts +51 -0
- package/lib/typescript/credentials-catalogue/v1.3.3/mappers.d.ts.map +1 -1
- package/lib/typescript/credentials-catalogue/v1.3.3/types.d.ts +33 -0
- package/lib/typescript/credentials-catalogue/v1.3.3/types.d.ts.map +1 -1
- package/lib/typescript/utils/callbacks.d.ts.map +1 -1
- package/lib/typescript/utils/crypto.d.ts +32 -15
- package/lib/typescript/utils/crypto.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/credential/issuance/README.md +44 -17
- package/src/credential/issuance/api/05-obtain-credential.ts +24 -0
- package/src/credential/issuance/v1.0.0/03-complete-user-authorization.ts +8 -3
- package/src/credential/issuance/v1.0.0/05-obtain-credential.ts +6 -0
- package/src/credential/issuance/v1.0.0/index.ts +5 -1
- package/src/credential/issuance/v1.3.3/03-complete-user-authorization.ts +1 -1
- package/src/credential/issuance/v1.3.3/05-obtain-credential.ts +175 -80
- package/src/credential/issuance/v1.3.3/index.ts +5 -1
- package/src/credential/presentation/api/04-verify-certificate-chain.ts +9 -2
- package/src/credential/presentation/api/05-verify-request-object.ts +2 -2
- package/src/credential/presentation/api/07-send-authorization-response.ts +2 -2
- package/src/credential/presentation/api/types.ts +16 -0
- package/src/credential/presentation/v1.0.0/05-verify-request-object.ts +21 -10
- package/src/credential/presentation/v1.0.0/07-send-authorization-response.ts +7 -0
- package/src/credential/presentation/v1.0.0/index.ts +0 -2
- package/src/credential/presentation/v1.0.0/mappers.ts +17 -17
- package/src/credential/presentation/v1.0.0/types.ts +23 -15
- package/src/credential/presentation/v1.3.3/05-verify-request-object.ts +63 -10
- package/src/credential/presentation/v1.3.3/07-send-authorization-response.ts +13 -4
- package/src/credential/presentation/v1.3.3/mappers.ts +19 -17
- package/src/credential/presentation/v1.3.3/types.ts +9 -3
- package/src/credentials-catalogue/api/DigitalCredentialsCatalogue.ts +32 -0
- package/src/credentials-catalogue/api/index.ts +6 -3
- package/src/credentials-catalogue/v1.3.3/fetch-and-parse-catalogue.ts +6 -0
- package/src/credentials-catalogue/v1.3.3/fetch-translations.ts +6 -3
- package/src/credentials-catalogue/v1.3.3/mappers.ts +17 -1
- package/src/credentials-catalogue/v1.3.3/types.ts +51 -0
- package/src/utils/callbacks.ts +29 -8
- package/src/utils/crypto.ts +86 -15
- package/lib/commonjs/credential/presentation/v1.0.0/04-verify-certificate-chain.js +0 -12
- package/lib/commonjs/credential/presentation/v1.0.0/04-verify-certificate-chain.js.map +0 -1
- package/lib/module/credential/presentation/v1.0.0/04-verify-certificate-chain.js +0 -5
- package/lib/module/credential/presentation/v1.0.0/04-verify-certificate-chain.js.map +0 -1
- package/lib/typescript/credential/presentation/v1.0.0/04-verify-certificate-chain.d.ts +0 -3
- package/lib/typescript/credential/presentation/v1.0.0/04-verify-certificate-chain.d.ts.map +0 -1
- package/src/credential/presentation/v1.0.0/04-verify-certificate-chain.ts +0 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["decode","decodeJwt","verify","InvalidRequestObjectError","
|
|
1
|
+
{"version":3,"names":["decode","decodeJwt","verify","IoWalletError","InvalidRequestObjectError","RawRequestObject","mapToRequestObject","getJwksFromRpConfig","verifyRequestObject","requestObjectEncodedJwt","_ref","clientId","rpConf","state","requestObjectJwt","pubKey","getSigPublicKey","protectedHeader","kid","issuer","_","rawRequestObject","validateRequestObjectShape","header","payload","isClientIdMatch","client_id","subject","requestObject","requestObjectParse","safeParse","success","data","formatFlattenedZodErrors","error","flatten","keys","find","k","Error","errors","Object","entries","fieldErrors","map","_ref2","key","join"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.0.0/05-verify-request-object.ts"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EncryptJwe } from "@pagopa/io-react-native-jwt";
|
|
2
2
|
import { NoSuitableKeysFoundInEntityConfiguration } from "../common/errors";
|
|
3
3
|
import { hasStatusOrThrow } from "../../../utils/misc";
|
|
4
|
-
import { RelyingPartyResponseError, RelyingPartyResponseErrorCodes, ResponseErrorBuilder, UnexpectedStatusCodeError } from "../../../utils/errors";
|
|
4
|
+
import { IoWalletError, RelyingPartyResponseError, RelyingPartyResponseErrorCodes, ResponseErrorBuilder, UnexpectedStatusCodeError } from "../../../utils/errors";
|
|
5
5
|
import { prepareVpToken } from "../../../sd-jwt";
|
|
6
6
|
import { AuthorizationResponse } from "./types";
|
|
7
7
|
import { getJwksFromRpConfig } from "./utils.jwks";
|
|
@@ -90,6 +90,9 @@ export const sendAuthorizationResponse = async function (requestObject, remotePr
|
|
|
90
90
|
let {
|
|
91
91
|
appFetch = fetch
|
|
92
92
|
} = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
93
|
+
if (!rpConf) {
|
|
94
|
+
throw new IoWalletError("Relying Party Configuration is required for OpenID Federation clients");
|
|
95
|
+
}
|
|
93
96
|
const {
|
|
94
97
|
presentations
|
|
95
98
|
} = remotePresentation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EncryptJwe","NoSuitableKeysFoundInEntityConfiguration","hasStatusOrThrow","RelyingPartyResponseError","RelyingPartyResponseErrorCodes","ResponseErrorBuilder","UnexpectedStatusCodeError","prepareVpToken","AuthorizationResponse","getJwksFromRpConfig","buildDirectPostBody","createCryptoContextFor","choosePublicKeyToEncrypt","rpJwkKeys","encKey","find","jwk","use","buildDirectPostJwtBody","requestObject","rpConf","payload","authzResponsePayload","JSON","stringify","state","keys","encPublicJwk","authorization_encrypted_response_alg","authorization_encrypted_response_enc","defaultAlg","kty","encryptedResponse","alg","enc","kid","encrypt","formBody","URLSearchParams","response","toString","prepareRemotePresentations","credentials","authRequestObject","presentations","Promise","all","map","item","vp_token","nonce","clientId","credential","presentationFrame","keyTag","requestedClaims","requiredDisclosures","_ref","name","credentialId","id","vpToken","format","sendAuthorizationResponse","remotePresentation","appFetch","fetch","arguments","length","undefined","requestBody","reduce","acc","presentation","response_uri","method","headers","body","then","res","json","parse","catch","handleAuthorizationResponseError","sendAuthorizationErrorResponse","_ref2","error","errorDescription","error_description","e","handle","code","InvalidAuthorizationResponse","message","RelyingPartyGenericError","buildFrom"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.0.0/07-send-authorization-response.ts"],"mappings":"AAAA,SAASA,UAAU,QAAQ,6BAA6B;AACxD,SAASC,wCAAwC,QAAQ,kBAAkB;AAC3E,SAASC,gBAAgB,QAAQ,qBAAqB;AAEtD,SACEC,yBAAyB,EACzBC,8BAA8B,EAC9BC,oBAAoB,EACpBC,yBAAyB,QACpB,uBAAuB;AAC9B,SAASC,cAAc,QAAQ,iBAAiB;AAGhD,SAASC,qBAAqB,QAAwC,SAAS;AAC/E,SAASC,mBAAmB,QAAQ,cAAc;AAClD,SAASC,mBAAmB,QAAQ,sBAAsB;AAC1D,SAASC,sBAAsB,QAAQ,uBAAuB;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GAAIC,SAAgB,IAAU;EACjE,MAAMC,MAAM,GAAGD,SAAS,CAACE,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,GAAG,KAAK,KAAK,CAAC;EAEzD,IAAIH,MAAM,EAAE;IACV,OAAOA,MAAM;EACf;;EAEA;EACA,MAAM,
|
|
1
|
+
{"version":3,"names":["EncryptJwe","NoSuitableKeysFoundInEntityConfiguration","hasStatusOrThrow","IoWalletError","RelyingPartyResponseError","RelyingPartyResponseErrorCodes","ResponseErrorBuilder","UnexpectedStatusCodeError","prepareVpToken","AuthorizationResponse","getJwksFromRpConfig","buildDirectPostBody","createCryptoContextFor","choosePublicKeyToEncrypt","rpJwkKeys","encKey","find","jwk","use","buildDirectPostJwtBody","requestObject","rpConf","payload","authzResponsePayload","JSON","stringify","state","keys","encPublicJwk","authorization_encrypted_response_alg","authorization_encrypted_response_enc","defaultAlg","kty","encryptedResponse","alg","enc","kid","encrypt","formBody","URLSearchParams","response","toString","prepareRemotePresentations","credentials","authRequestObject","presentations","Promise","all","map","item","vp_token","nonce","clientId","credential","presentationFrame","keyTag","requestedClaims","requiredDisclosures","_ref","name","credentialId","id","vpToken","format","sendAuthorizationResponse","remotePresentation","appFetch","fetch","arguments","length","undefined","requestBody","reduce","acc","presentation","response_uri","method","headers","body","then","res","json","parse","catch","handleAuthorizationResponseError","sendAuthorizationErrorResponse","_ref2","error","errorDescription","error_description","e","handle","code","InvalidAuthorizationResponse","message","RelyingPartyGenericError","buildFrom"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.0.0/07-send-authorization-response.ts"],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { startFlowFromQR } from "./01-start-flow";
|
|
2
2
|
import { evaluateRelyingPartyTrust } from "./02-evaluate-rp-trust";
|
|
3
3
|
import { getRequestObject } from "./03-get-request-object";
|
|
4
|
-
import { verifyAuthRequestCertificateChain } from "./04-verify-certificate-chain";
|
|
5
4
|
import { verifyRequestObject } from "./05-verify-request-object";
|
|
6
5
|
import { evaluateDcqlQuery } from "./06-evaluate-dcql-query";
|
|
7
6
|
import { prepareRemotePresentations, sendAuthorizationResponse, sendAuthorizationErrorResponse } from "./07-send-authorization-response";
|
|
@@ -9,7 +8,6 @@ export const RemotePresentation = {
|
|
|
9
8
|
startFlowFromQR,
|
|
10
9
|
evaluateRelyingPartyTrust,
|
|
11
10
|
getRequestObject,
|
|
12
|
-
verifyAuthRequestCertificateChain,
|
|
13
11
|
verifyRequestObject,
|
|
14
12
|
evaluateDcqlQuery,
|
|
15
13
|
prepareRemotePresentations,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["startFlowFromQR","evaluateRelyingPartyTrust","getRequestObject","
|
|
1
|
+
{"version":3,"names":["startFlowFromQR","evaluateRelyingPartyTrust","getRequestObject","verifyRequestObject","evaluateDcqlQuery","prepareRemotePresentations","sendAuthorizationResponse","sendAuthorizationErrorResponse","RemotePresentation"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.0.0/index.ts"],"mappings":"AACA,SAASA,eAAe,QAAQ,iBAAiB;AACjD,SAASC,yBAAyB,QAAQ,wBAAwB;AAClE,SAASC,gBAAgB,QAAQ,yBAAyB;AAC1D,SAASC,mBAAmB,QAAQ,4BAA4B;AAChE,SAASC,iBAAiB,QAAQ,0BAA0B;AAC5D,SACEC,0BAA0B,EAC1BC,yBAAyB,EACzBC,8BAA8B,QACzB,kCAAkC;AAEzC,OAAO,MAAMC,kBAAyC,GAAG;EACvDR,eAAe;EACfC,yBAAyB;EACzBC,gBAAgB;EAChBC,mBAAmB;EACnBC,iBAAiB;EACjBC,0BAA0B;EAC1BC,yBAAyB;EACzBC;AACF,CAAC"}
|
|
@@ -1,25 +1,35 @@
|
|
|
1
1
|
import { createMapper } from "../../../utils/mappers";
|
|
2
|
-
export const mapToRelyingPartyConfig = createMapper(
|
|
2
|
+
export const mapToRelyingPartyConfig = createMapper(_ref => {
|
|
3
|
+
let {
|
|
4
|
+
payload
|
|
5
|
+
} = _ref;
|
|
3
6
|
const {
|
|
4
7
|
federation_entity,
|
|
5
8
|
openid_credential_verifier
|
|
6
|
-
} =
|
|
9
|
+
} = payload.metadata;
|
|
7
10
|
return {
|
|
8
|
-
subject:
|
|
11
|
+
subject: payload.sub,
|
|
9
12
|
jwks: openid_credential_verifier.jwks,
|
|
10
13
|
authorization_encrypted_response_alg: openid_credential_verifier.authorization_encrypted_response_alg,
|
|
11
14
|
authorization_encrypted_response_enc: openid_credential_verifier.authorization_encrypted_response_enc,
|
|
12
15
|
federation_entity
|
|
13
16
|
};
|
|
14
17
|
});
|
|
15
|
-
export const mapToRequestObject = createMapper(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
export const mapToRequestObject = createMapper(_ref2 => {
|
|
19
|
+
let {
|
|
20
|
+
header,
|
|
21
|
+
payload
|
|
22
|
+
} = _ref2;
|
|
23
|
+
return {
|
|
24
|
+
iss: payload.iss,
|
|
25
|
+
client_id: payload.client_id,
|
|
26
|
+
dcql_query: payload.dcql_query,
|
|
27
|
+
nonce: payload.nonce,
|
|
28
|
+
response_uri: payload.response_uri,
|
|
29
|
+
state: payload.state,
|
|
30
|
+
response_mode: payload.response_mode,
|
|
31
|
+
response_type: payload.response_type,
|
|
32
|
+
trust_chain: header.trust_chain
|
|
33
|
+
};
|
|
34
|
+
});
|
|
25
35
|
//# sourceMappingURL=mappers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createMapper","mapToRelyingPartyConfig","
|
|
1
|
+
{"version":3,"names":["createMapper","mapToRelyingPartyConfig","_ref","payload","federation_entity","openid_credential_verifier","metadata","subject","sub","jwks","authorization_encrypted_response_alg","authorization_encrypted_response_enc","mapToRequestObject","_ref2","header","iss","client_id","dcql_query","nonce","response_uri","state","response_mode","response_type","trust_chain"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.0.0/mappers.ts"],"mappings":"AAAA,SAASA,YAAY,QAAQ,wBAAwB;AAMrD,OAAO,MAAMC,uBAAuB,GAAGD,YAAY,CAGjDE,IAAA,IAAiB;EAAA,IAAhB;IAAEC;EAAQ,CAAC,GAAAD,IAAA;EACZ,MAAM;IAAEE,iBAAiB;IAAEC;EAA2B,CAAC,GAAGF,OAAO,CAACG,QAAQ;EAC1E,OAAO;IACLC,OAAO,EAAEJ,OAAO,CAACK,GAAG;IACpBC,IAAI,EAAEJ,0BAA0B,CAACI,IAAI;IACrCC,oCAAoC,EAClCL,0BAA0B,CAACK,oCAAoC;IACjEC,oCAAoC,EAClCN,0BAA0B,CAACM,oCAAoC;IACjEP;EACF,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,MAAMQ,kBAAkB,GAAGZ,YAAY,CAC5Ca,KAAA;EAAA,IAAC;IAAEC,MAAM;IAAEX;EAAQ,CAAC,GAAAU,KAAA;EAAA,OAAM;IACxBE,GAAG,EAAEZ,OAAO,CAACY,GAAG;IAChBC,SAAS,EAAEb,OAAO,CAACa,SAAS;IAC5BC,UAAU,EAAEd,OAAO,CAACc,UAAU;IAC9BC,KAAK,EAAEf,OAAO,CAACe,KAAK;IACpBC,YAAY,EAAEhB,OAAO,CAACgB,YAAY;IAClCC,KAAK,EAAEjB,OAAO,CAACiB,KAAK;IACpBC,aAAa,EAAElB,OAAO,CAACkB,aAAa;IACpCC,aAAa,EAAEnB,OAAO,CAACmB,aAAa;IACpCC,WAAW,EAAET,MAAM,CAACS;EACtB,CAAC;AAAA,CACH,CAAC"}
|
|
@@ -1,21 +1,29 @@
|
|
|
1
1
|
import * as z from "zod";
|
|
2
2
|
import { UnixTime } from "../../../utils/zod";
|
|
3
3
|
import { ErrorResponse } from "../api/types";
|
|
4
|
-
export const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
4
|
+
export const RawRequestObject = z.object({
|
|
5
|
+
header: z.object({
|
|
6
|
+
alg: z.string(),
|
|
7
|
+
kid: z.string(),
|
|
8
|
+
typ: z.literal("oauth-authz-req+jwt"),
|
|
9
|
+
trust_chain: z.array(z.string()).optional()
|
|
10
|
+
}),
|
|
11
|
+
payload: z.object({
|
|
12
|
+
iss: z.string(),
|
|
13
|
+
iat: UnixTime,
|
|
14
|
+
exp: UnixTime,
|
|
15
|
+
state: z.string(),
|
|
16
|
+
nonce: z.string(),
|
|
17
|
+
response_uri: z.string(),
|
|
18
|
+
request_uri_method: z.string().optional(),
|
|
19
|
+
response_type: z.literal("vp_token"),
|
|
20
|
+
response_mode: z.literal("direct_post.jwt"),
|
|
21
|
+
client_id: z.string(),
|
|
22
|
+
dcql_query: z.record(z.string(), z.any()),
|
|
23
|
+
// Validation happens within the `dcql` library, no need to duplicate it here
|
|
24
|
+
scope: z.string().optional(),
|
|
25
|
+
wallet_nonce: z.string().optional()
|
|
26
|
+
})
|
|
19
27
|
});
|
|
20
28
|
|
|
21
29
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["z","UnixTime","ErrorResponse","
|
|
1
|
+
{"version":3,"names":["z","UnixTime","ErrorResponse","RawRequestObject","object","header","alg","string","kid","typ","literal","trust_chain","array","optional","payload","iss","iat","exp","state","nonce","response_uri","request_uri_method","response_type","response_mode","client_id","dcql_query","record","any","scope","wallet_nonce","DirectAuthorizationBodyPayload","union","vp_token","error","error_description","AuthorizationResponse","status","response_code","redirect_uri"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.0.0/types.ts"],"mappings":"AAAA,OAAO,KAAKA,CAAC,MAAM,KAAK;AACxB,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,aAAa,QAAQ,cAAc;AAG5C,OAAO,MAAMC,gBAAgB,GAAGH,CAAC,CAACI,MAAM,CAAC;EACvCC,MAAM,EAAEL,CAAC,CAACI,MAAM,CAAC;IACfE,GAAG,EAAEN,CAAC,CAACO,MAAM,CAAC,CAAC;IACfC,GAAG,EAAER,CAAC,CAACO,MAAM,CAAC,CAAC;IACfE,GAAG,EAAET,CAAC,CAACU,OAAO,CAAC,qBAAqB,CAAC;IACrCC,WAAW,EAAEX,CAAC,CAACY,KAAK,CAACZ,CAAC,CAACO,MAAM,CAAC,CAAC,CAAC,CAACM,QAAQ,CAAC;EAC5C,CAAC,CAAC;EACFC,OAAO,EAAEd,CAAC,CAACI,MAAM,CAAC;IAChBW,GAAG,EAAEf,CAAC,CAACO,MAAM,CAAC,CAAC;IACfS,GAAG,EAAEf,QAAQ;IACbgB,GAAG,EAAEhB,QAAQ;IACbiB,KAAK,EAAElB,CAAC,CAACO,MAAM,CAAC,CAAC;IACjBY,KAAK,EAAEnB,CAAC,CAACO,MAAM,CAAC,CAAC;IACjBa,YAAY,EAAEpB,CAAC,CAACO,MAAM,CAAC,CAAC;IACxBc,kBAAkB,EAAErB,CAAC,CAACO,MAAM,CAAC,CAAC,CAACM,QAAQ,CAAC,CAAC;IACzCS,aAAa,EAAEtB,CAAC,CAACU,OAAO,CAAC,UAAU,CAAC;IACpCa,aAAa,EAAEvB,CAAC,CAACU,OAAO,CAAC,iBAAiB,CAAC;IAC3Cc,SAAS,EAAExB,CAAC,CAACO,MAAM,CAAC,CAAC;IACrBkB,UAAU,EAAEzB,CAAC,CAAC0B,MAAM,CAAC1B,CAAC,CAACO,MAAM,CAAC,CAAC,EAAEP,CAAC,CAAC2B,GAAG,CAAC,CAAC,CAAC;IAAE;IAC3CC,KAAK,EAAE5B,CAAC,CAACO,MAAM,CAAC,CAAC,CAACM,QAAQ,CAAC,CAAC;IAC5BgB,YAAY,EAAE7B,CAAC,CAACO,MAAM,CAAC,CAAC,CAACM,QAAQ,CAAC;EACpC,CAAC;AACH,CAAC,CAAC;;AAEF;AACA;AACA;;AAIA,OAAO,MAAMiB,8BAA8B,GAAG9B,CAAC,CAAC+B,KAAK,CAAC,CACpD/B,CAAC,CAACI,MAAM,CAAC;EACP4B,QAAQ,EAAEhC,CAAC,CAAC0B,MAAM,CAAC1B,CAAC,CAACO,MAAM,CAAC,CAAC,EAAEP,CAAC,CAACO,MAAM,CAAC,CAAC;AAC3C,CAAC,CAAC,EACFP,CAAC,CAACI,MAAM,CAAC;EAAE6B,KAAK,EAAE/B,aAAa;EAAEgC,iBAAiB,EAAElC,CAAC,CAACO,MAAM,CAAC;AAAE,CAAC,CAAC,CAClE,CAAC;AAGF,OAAO,MAAM4B,qBAAqB,GAAGnC,CAAC,CAACI,MAAM,CAAC;EAC5CgC,MAAM,EAAEpC,CAAC,CAACO,MAAM,CAAC,CAAC,CAACM,QAAQ,CAAC,CAAC;EAC7BwB,aAAa,EAAErC,CAAC,CAACO,MAAM,CAAC,CAAC,CAACM,QAAQ,CAAC,CAAC;EACpCyB,YAAY,EAAEtC,CAAC,CAACO,MAAM,CAAC,CAAC,CAACM,QAAQ,CAAC;AACpC,CAAC,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { parseAuthorizeRequest as sdkParseAuthorizeRequest } from "@pagopa/io-wallet-oid4vp";
|
|
1
|
+
import { parseAuthorizeRequest as sdkParseAuthorizeRequest, ClientIdPrefix, extractClientIdPrefix } from "@pagopa/io-wallet-oid4vp";
|
|
2
|
+
import QuickCrypto from "react-native-quick-crypto";
|
|
2
3
|
import { partialCallbacks } from "../../../utils/callbacks";
|
|
3
4
|
import { sdkConfigV1_3 } from "../../../utils/config";
|
|
5
|
+
import { IoWalletError } from "../../../utils/errors";
|
|
4
6
|
import { InvalidRequestObjectError } from "../common/errors";
|
|
5
7
|
import { mapSdkRequestObjectError } from "./sdkErrorMapper";
|
|
6
8
|
import { mapToRequestObject } from "./mappers";
|
|
@@ -16,13 +18,33 @@ export const verifyRequestObject = async (requestObjectEncodedJwt, _ref) => {
|
|
|
16
18
|
verifyJwt: partialCallbacks.verifyJwt
|
|
17
19
|
}
|
|
18
20
|
}).catch(mapSdkRequestObjectError);
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
if (
|
|
22
|
-
|
|
21
|
+
const rawRequestObject = parsedRequestObject;
|
|
22
|
+
const clientIdPrefix = extractClientIdPrefix(clientId);
|
|
23
|
+
if (clientIdPrefix === ClientIdPrefix.X509_HASH) {
|
|
24
|
+
validateX509HashClient(rawRequestObject.header.x5c, clientId);
|
|
25
|
+
}
|
|
26
|
+
if (clientIdPrefix === ClientIdPrefix.OPENID_FEDERATION || clientIdPrefix === ClientIdPrefix.NONE) {
|
|
27
|
+
validateOpenIDFederationClient(rawRequestObject, clientId, rpConf);
|
|
23
28
|
}
|
|
24
29
|
return {
|
|
25
|
-
requestObject: mapToRequestObject(
|
|
30
|
+
requestObject: mapToRequestObject(rawRequestObject)
|
|
26
31
|
};
|
|
27
32
|
};
|
|
33
|
+
const validateOpenIDFederationClient = (requestObject, clientId, rpConf) => {
|
|
34
|
+
if (!rpConf) {
|
|
35
|
+
throw new IoWalletError("Relying Party Configuration is required for OpenID Federation clients");
|
|
36
|
+
}
|
|
37
|
+
const isClientIdMatch = clientId === requestObject.payload.client_id && stripOpenIdFederationPrefix(clientId) === rpConf.subject;
|
|
38
|
+
if (!isClientIdMatch) {
|
|
39
|
+
throw new InvalidRequestObjectError("Client ID does not match Request Object or Entity Configuration");
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const validateX509HashClient = (certificateChain, clientId) => {
|
|
43
|
+
const [, x509Hash] = clientId.split(":");
|
|
44
|
+
const calculatedHash = QuickCrypto.createHash("sha-256").update(certificateChain[0], "base64").digest("base64url");
|
|
45
|
+
if (x509Hash !== calculatedHash) {
|
|
46
|
+
throw new InvalidRequestObjectError("x509_hash does not match the hash of the x5c leaf certificate");
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const stripOpenIdFederationPrefix = clientId => clientId.replace("openid_federation:", "");
|
|
28
50
|
//# sourceMappingURL=05-verify-request-object.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["parseAuthorizeRequest","sdkParseAuthorizeRequest","partialCallbacks","sdkConfigV1_3","InvalidRequestObjectError","mapSdkRequestObjectError","mapToRequestObject","verifyRequestObject","requestObjectEncodedJwt","_ref","clientId","rpConf","parsedRequestObject","config","requestObjectJwt","callbacks","verifyJwt","catch","
|
|
1
|
+
{"version":3,"names":["parseAuthorizeRequest","sdkParseAuthorizeRequest","ClientIdPrefix","extractClientIdPrefix","QuickCrypto","partialCallbacks","sdkConfigV1_3","IoWalletError","InvalidRequestObjectError","mapSdkRequestObjectError","mapToRequestObject","verifyRequestObject","requestObjectEncodedJwt","_ref","clientId","rpConf","parsedRequestObject","config","requestObjectJwt","callbacks","verifyJwt","catch","rawRequestObject","clientIdPrefix","X509_HASH","validateX509HashClient","header","x5c","OPENID_FEDERATION","NONE","validateOpenIDFederationClient","requestObject","isClientIdMatch","payload","client_id","stripOpenIdFederationPrefix","subject","certificateChain","x509Hash","split","calculatedHash","createHash","update","digest","replace"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.3.3/05-verify-request-object.ts"],"mappings":"AACA,SACEA,qBAAqB,IAAIC,wBAAwB,EACjDC,cAAc,EACdC,qBAAqB,QAChB,0BAA0B;AACjC,OAAOC,WAAW,MAAM,2BAA2B;AACnD,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,yBAAyB,QAAQ,kBAAkB;AAC5D,SAASC,wBAAwB,QAAQ,kBAAkB;AAC3D,SAASC,kBAAkB,QAAQ,WAAW;AAG9C,OAAO,MAAMC,mBAAiE,GAC5E,MAAAA,CAAOC,uBAAuB,EAAAC,IAAA,KAA2B;EAAA,IAAzB;IAAEC,QAAQ;IAAEC;EAAO,CAAC,GAAAF,IAAA;EAClD,MAAMG,mBAAmB,GAAG,MAAMf,wBAAwB,CAAC;IACzDgB,MAAM,EAAEX,aAAa;IACrBY,gBAAgB,EAAEN,uBAAuB;IACzCO,SAAS,EAAE;MACTC,SAAS,EAAEf,gBAAgB,CAACe;IAC9B;EACF,CAAC,CAAC,CAACC,KAAK,CAACZ,wBAAwB,CAAC;EAElC,MAAMa,gBAAgB,GAAGN,mBAAuC;EAEhE,MAAMO,cAAc,GAAGpB,qBAAqB,CAACW,QAAQ,CAAC;EAEtD,IAAIS,cAAc,KAAKrB,cAAc,CAACsB,SAAS,EAAE;IAC/CC,sBAAsB,CAACH,gBAAgB,CAACI,MAAM,CAACC,GAAG,EAAEb,QAAQ,CAAC;EAC/D;EAEA,IACES,cAAc,KAAKrB,cAAc,CAAC0B,iBAAiB,IACnDL,cAAc,KAAKrB,cAAc,CAAC2B,IAAI,EACtC;IACAC,8BAA8B,CAACR,gBAAgB,EAAER,QAAQ,EAAEC,MAAM,CAAC;EACpE;EAEA,OAAO;IACLgB,aAAa,EAAErB,kBAAkB,CAACY,gBAAgB;EACpD,CAAC;AACH,CAAC;AAEH,MAAMQ,8BAA8B,GAAGA,CACrCC,aAA+B,EAC/BjB,QAAgB,EAChBC,MAAsC,KACnC;EACH,IAAI,CAACA,MAAM,EAAE;IACX,MAAM,IAAIR,aAAa,CACrB,uEACF,CAAC;EACH;EAEA,MAAMyB,eAAe,GACnBlB,QAAQ,KAAKiB,aAAa,CAACE,OAAO,CAACC,SAAS,IAC5CC,2BAA2B,CAACrB,QAAQ,CAAC,KAAKC,MAAM,CAACqB,OAAO;EAE1D,IAAI,CAACJ,eAAe,EAAE;IACpB,MAAM,IAAIxB,yBAAyB,CACjC,iEACF,CAAC;EACH;AACF,CAAC;AAED,MAAMiB,sBAAsB,GAAGA,CAC7BY,gBAA0B,EAC1BvB,QAAgB,KACb;EACH,MAAM,GAAGwB,QAAQ,CAAC,GAAGxB,QAAQ,CAACyB,KAAK,CAAC,GAAG,CAAC;EAExC,MAAMC,cAAc,GAAGpC,WAAW,CAACqC,UAAU,CAAC,SAAS,CAAC,CACrDC,MAAM,CAACL,gBAAgB,CAAC,CAAC,CAAC,EAAG,QAAQ,CAAC,CACtCM,MAAM,CAAC,WAAW,CAAC;EAEtB,IAAIL,QAAQ,KAAKE,cAAc,EAAE;IAC/B,MAAM,IAAIhC,yBAAyB,CACjC,+DACF,CAAC;EACH;AACF,CAAC;AAED,MAAM2B,2BAA2B,GAAIrB,QAAgB,IACnDA,QAAQ,CAAC8B,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC"}
|
|
@@ -73,14 +73,17 @@ export const sendAuthorizationResponse = async function (requestObject, remotePr
|
|
|
73
73
|
appFetch = fetch
|
|
74
74
|
} = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
75
75
|
try {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
76
|
+
if (!rpConf && !requestObject.client_metadata) {
|
|
77
|
+
throw new IoWalletError("At least one of rpConf or requestObject.client_metadata must be provided to send the authorization response");
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// When the RP is not an OpenID Federation client, rpConf will be undefined
|
|
81
|
+
// so the keys are taken from the Request Object's client_metadata.
|
|
79
82
|
const rpJwks = {
|
|
80
|
-
jwks: rpConf.jwks,
|
|
81
|
-
encrypted_response_enc_values_supported: rpConf.encrypted_response_enc_values_supported
|
|
83
|
+
jwks: (rpConf === null || rpConf === void 0 ? void 0 : rpConf.jwks) ?? requestObject.client_metadata.jwks,
|
|
84
|
+
encrypted_response_enc_values_supported: (rpConf === null || rpConf === void 0 ? void 0 : rpConf.encrypted_response_enc_values_supported) ?? requestObject.client_metadata.encrypted_response_enc_values_supported
|
|
82
85
|
};
|
|
83
|
-
const vp_token = presentations.reduce((acc, p) => {
|
|
86
|
+
const vp_token = remotePresentation.presentations.reduce((acc, p) => {
|
|
84
87
|
(acc[p.credentialId] ??= []).push(p.vpToken);
|
|
85
88
|
return acc;
|
|
86
89
|
}, {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAuthorizationResponse","sdkCreateAuthorizationResponse","fetchAuthorizationResponse","sdkFetchAuthorizationResponse","partialCallbacks","mapSdkAuthorizationResponseError","generateRandomAlphaNumericString","hasStatusOrThrow","IoWalletError","RelyingPartyResponseError","AuthorizationResponse","buildDirectPostBody","prepareVpToken","createCryptoContextFor","prepareVpTokenMdoc","prepareRemotePresentations","credentials","authRequestObject","generatedNonce","presentations","Promise","all","map","item","format","vp_token","nonce","clientId","credential","presentationFrame","keyTag","requestedClaims","requiredDisclosures","_ref","name","credentialId","id","vpToken","responseUri","doctype","_ref2","sendAuthorizationResponse","requestObject","remotePresentation","rpConf","appFetch","fetch","arguments","length","undefined","rpJwks","jwks","encrypted_response_enc_values_supported","reduce","acc","p","push","jarm","callbacks","encryptJwe","generateRandom","authorizationResponseJarm","responseJwe","presentationResponseUri","response_uri","err","sendAuthorizationErrorResponse","_ref3","error","errorDescription","requestBody","error_description","method","headers","body","then","res","json","parse"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.3.3/07-send-authorization-response.ts"],"mappings":"AAAA,SACEA,2BAA2B,IAAIC,8BAA8B,EAC7DC,0BAA0B,IAAIC,6BAA6B,QACtD,0BAA0B;AAEjC,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,gCAAgC,QAAQ,kBAAkB;AACnE,SACEC,gCAAgC,EAChCC,gBAAgB,QACX,qBAAqB;AAC5B,SACEC,aAAa,EACbC,yBAAyB,QACpB,uBAAuB;AAC9B,SAASC,qBAAqB,QAAQ,SAAS;AAC/C,SAASC,mBAAmB,QAAQ,sBAAsB;AAC1D,SAASC,cAAc,QAAQ,iBAAiB;AAChD,SAASC,sBAAsB,QAAQ,uBAAuB;AAC9D,SAASC,kBAAkB,QAAQ,eAAe;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,0BAA+E,GAC1F,MAAAA,CAAOC,WAAW,EAAEC,iBAAiB,KAAK;EACxC;EACA,MAAMC,cAAc,GAAGZ,gCAAgC,CAAC,EAAE,CAAC;EAE3D,MAAMa,aAAa,GAAG,MAAMC,OAAO,CAACC,GAAG,CACrCL,WAAW,CAACM,GAAG,CAAC,MAAOC,IAAI,IAAK;IAC9B,MAAM;MAAEC;IAAO,CAAC,GAAGD,IAAI;IAEvB,IAAIC,MAAM,KAAK,WAAW,EAAE;MAC1B,MAAM;QAAEC;MAAS,CAAC,GAAG,MAAMb,cAAc,CACvCK,iBAAiB,CAACS,KAAK,EACvBT,iBAAiB,CAACU,QAAQ,EAC1B,CACEJ,IAAI,CAACK,UAAU,EACfL,IAAI,CAACM,iBAAiB,EACtBhB,sBAAsB,CAACU,IAAI,CAACO,MAAM,CAAC,CAEvC,CAAC;MAED,OAAO;QACLC,eAAe,EAAER,IAAI,CAACS,mBAAmB,CAACV,GAAG,CAACW,IAAA;UAAA,IAAC;YAAEC;UAAK,CAAC,GAAAD,IAAA;UAAA,OAAKC,IAAI;QAAA,EAAC;QACjEC,YAAY,EAAEZ,IAAI,CAACa,EAAE;QACrBC,OAAO,EAAEZ,QAAQ;QACjBD;MACF,CAAC;IACH;IAEA,IAAIA,MAAM,KAAK,UAAU,EAAE;MACzB,MAAM;QAAEC;MAAS,CAAC,GAAG,MAAMX,kBAAkB,CAC3CG,iBAAiB,CAACS,KAAK,EACvBR,cAAc,EACdD,iBAAiB,CAACU,QAAQ,EAC1BV,iBAAiB,CAACqB,WAAW,EAC7Bf,IAAI,CAACgB,OAAO,EACZhB,IAAI,CAACO,MAAM,EACX,CACEP,IAAI,CAACK,UAAU,EACfL,IAAI,CAACM,iBAAiB,EACtBhB,sBAAsB,CAACU,IAAI,CAACO,MAAM,CAAC,CAEvC,CAAC;MAED,OAAO;QACLC,eAAe,EAAER,IAAI,CAACS,mBAAmB,CAACV,GAAG,CAACkB,KAAA;UAAA,IAAC;YAAEN;UAAK,CAAC,GAAAM,KAAA;UAAA,OAAKN,IAAI;QAAA,EAAC;QACjEC,YAAY,EAAEZ,IAAI,CAACa,EAAE;QACrBC,OAAO,EAAEZ,QAAQ;QACjBD,MAAM,EAAE;MACV,CAAC;IACH;IAEA,MAAM,IAAIhB,aAAa,CAAE,GAAEgB,MAAO,2BAA0B,CAAC;EAC/D,CAAC,CACH,CAAC;EAED,OAAO;IACLL,aAAa;IACbD;EACF,CAAC;AACH,CAAC;AAEH,OAAO,MAAMuB,yBAA6E,GACxF,eAAAA,CACEC,aAAa,EACbC,kBAAkB,EAClBC,MAAM,EAEH;EAAA,IADH;IAAEC,QAAQ,GAAGC;EAAM,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEzB,IAAI;IACF,MAAM;
|
|
1
|
+
{"version":3,"names":["createAuthorizationResponse","sdkCreateAuthorizationResponse","fetchAuthorizationResponse","sdkFetchAuthorizationResponse","partialCallbacks","mapSdkAuthorizationResponseError","generateRandomAlphaNumericString","hasStatusOrThrow","IoWalletError","RelyingPartyResponseError","AuthorizationResponse","buildDirectPostBody","prepareVpToken","createCryptoContextFor","prepareVpTokenMdoc","prepareRemotePresentations","credentials","authRequestObject","generatedNonce","presentations","Promise","all","map","item","format","vp_token","nonce","clientId","credential","presentationFrame","keyTag","requestedClaims","requiredDisclosures","_ref","name","credentialId","id","vpToken","responseUri","doctype","_ref2","sendAuthorizationResponse","requestObject","remotePresentation","rpConf","appFetch","fetch","arguments","length","undefined","client_metadata","rpJwks","jwks","encrypted_response_enc_values_supported","reduce","acc","p","push","jarm","callbacks","encryptJwe","generateRandom","authorizationResponseJarm","responseJwe","presentationResponseUri","response_uri","err","sendAuthorizationErrorResponse","_ref3","error","errorDescription","requestBody","error_description","method","headers","body","then","res","json","parse"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.3.3/07-send-authorization-response.ts"],"mappings":"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"}
|
|
@@ -1,24 +1,36 @@
|
|
|
1
1
|
import { createMapper } from "../../../utils/mappers";
|
|
2
|
-
export const mapToRelyingPartyConfig = createMapper(
|
|
2
|
+
export const mapToRelyingPartyConfig = createMapper(_ref => {
|
|
3
|
+
let {
|
|
4
|
+
payload
|
|
5
|
+
} = _ref;
|
|
3
6
|
const {
|
|
4
7
|
federation_entity,
|
|
5
8
|
openid_credential_verifier
|
|
6
|
-
} =
|
|
9
|
+
} = payload.metadata;
|
|
7
10
|
return {
|
|
8
|
-
subject:
|
|
11
|
+
subject: payload.sub,
|
|
9
12
|
jwks: openid_credential_verifier.jwks,
|
|
10
13
|
federation_entity,
|
|
11
14
|
encrypted_response_enc_values_supported: openid_credential_verifier.encrypted_response_enc_values_supported
|
|
12
15
|
};
|
|
13
16
|
});
|
|
14
|
-
export const mapToRequestObject = createMapper(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
export const mapToRequestObject = createMapper(_ref2 => {
|
|
18
|
+
let {
|
|
19
|
+
payload,
|
|
20
|
+
header
|
|
21
|
+
} = _ref2;
|
|
22
|
+
return {
|
|
23
|
+
iss: payload.iss,
|
|
24
|
+
client_id: payload.client_id,
|
|
25
|
+
dcql_query: payload.dcql_query,
|
|
26
|
+
nonce: payload.nonce,
|
|
27
|
+
response_uri: payload.response_uri,
|
|
28
|
+
state: payload.state,
|
|
29
|
+
response_mode: payload.response_mode,
|
|
30
|
+
response_type: payload.response_type,
|
|
31
|
+
client_metadata: payload.client_metadata,
|
|
32
|
+
x5c: header.x5c,
|
|
33
|
+
trust_chain: header.trust_chain
|
|
34
|
+
};
|
|
35
|
+
});
|
|
24
36
|
//# sourceMappingURL=mappers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createMapper","mapToRelyingPartyConfig","
|
|
1
|
+
{"version":3,"names":["createMapper","mapToRelyingPartyConfig","_ref","payload","federation_entity","openid_credential_verifier","metadata","subject","sub","jwks","encrypted_response_enc_values_supported","mapToRequestObject","_ref2","header","iss","client_id","dcql_query","nonce","response_uri","state","response_mode","response_type","client_metadata","x5c","trust_chain"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.3.3/mappers.ts"],"mappings":"AACA,SAASA,YAAY,QAAQ,wBAAwB;AAKrD,OAAO,MAAMC,uBAAuB,GAAGD,YAAY,CAGjDE,IAAA,IAAiB;EAAA,IAAhB;IAAEC;EAAQ,CAAC,GAAAD,IAAA;EACZ,MAAM;IAAEE,iBAAiB;IAAEC;EAA2B,CAAC,GAAGF,OAAO,CAACG,QAAQ;EAE1E,OAAO;IACLC,OAAO,EAAEJ,OAAO,CAACK,GAAG;IACpBC,IAAI,EAAEJ,0BAA0B,CAACI,IAAI;IACrCL,iBAAiB;IACjBM,uCAAuC,EACrCL,0BAA0B,CAACK;EAC/B,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,MAAMC,kBAAkB,GAAGX,YAAY,CAC5CY,KAAA;EAAA,IAAC;IAAET,OAAO;IAAEU;EAAO,CAAC,GAAAD,KAAA;EAAA,OAAM;IACxBE,GAAG,EAAEX,OAAO,CAACW,GAAG;IAChBC,SAAS,EAAEZ,OAAO,CAACY,SAAS;IAC5BC,UAAU,EAAEb,OAAO,CAACa,UAAU;IAC9BC,KAAK,EAAEd,OAAO,CAACc,KAAK;IACpBC,YAAY,EAAEf,OAAO,CAACe,YAAY;IAClCC,KAAK,EAAEhB,OAAO,CAACgB,KAAK;IACpBC,aAAa,EAAEjB,OAAO,CAACiB,aAAa;IACpCC,aAAa,EAAElB,OAAO,CAACkB,aAAa;IACpCC,eAAe,EAAEnB,OAAO,CAACmB,eAAe;IACxCC,GAAG,EAAEV,MAAM,CAACU,GAAG;IACfC,WAAW,EAAEX,MAAM,CAACW;EACtB,CAAC;AAAA,CACH,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import * as z from "zod";
|
|
2
|
-
import { zOpenid4vpAuthorizationRequestPayload
|
|
3
|
-
export const
|
|
2
|
+
import { zOpenid4vpAuthorizationRequestHeaderV1_3, zOpenid4vpAuthorizationRequestPayload } from "@pagopa/io-wallet-oid4vp";
|
|
3
|
+
export const RawRequestObject = z.object({
|
|
4
|
+
header: zOpenid4vpAuthorizationRequestHeaderV1_3,
|
|
5
|
+
payload: zOpenid4vpAuthorizationRequestPayload
|
|
6
|
+
});
|
|
4
7
|
export const AuthorizationResponse = z.object({
|
|
5
8
|
status: z.string().optional(),
|
|
6
9
|
response_code: z.string().optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["z","zOpenid4vpAuthorizationRequestPayload","
|
|
1
|
+
{"version":3,"names":["z","zOpenid4vpAuthorizationRequestHeaderV1_3","zOpenid4vpAuthorizationRequestPayload","RawRequestObject","object","header","payload","AuthorizationResponse","status","string","optional","response_code","redirect_uri"],"sourceRoot":"../../../../../src","sources":["credential/presentation/v1.3.3/types.ts"],"mappings":"AAAA,OAAO,KAAKA,CAAC,MAAM,KAAK;AACxB,SACEC,wCAAwC,EACxCC,qCAAqC,QAChC,0BAA0B;AAGjC,OAAO,MAAMC,gBAAgB,GAAGH,CAAC,CAACI,MAAM,CAAC;EACvCC,MAAM,EAAEJ,wCAAwC;EAChDK,OAAO,EAAEJ;AACX,CAAC,CAAC;AAGF,OAAO,MAAMK,qBAAqB,GAAGP,CAAC,CAACI,MAAM,CAAC;EAC5CI,MAAM,EAAER,CAAC,CAACS,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC7BC,aAAa,EAAEX,CAAC,CAACS,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACpCE,YAAY,EAAEZ,CAAC,CAACS,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AACpC,CAAC,CAAC"}
|
|
@@ -102,8 +102,32 @@ export const DigitalCredential = z.object({
|
|
|
102
102
|
// claims: z.array(Claim), // TODO: [SIW-3978] Should we keep claims?
|
|
103
103
|
});
|
|
104
104
|
|
|
105
|
+
const TaxonomyPurpose = z.object({
|
|
106
|
+
id: z.string(),
|
|
107
|
+
name_l10n_id: z.string()
|
|
108
|
+
});
|
|
109
|
+
const TaxonomyClass = z.object({
|
|
110
|
+
id: z.string(),
|
|
111
|
+
name_l10n_id: z.string(),
|
|
112
|
+
supported_purposes: z.array(z.string())
|
|
113
|
+
});
|
|
114
|
+
const TaxonomyDomain = z.object({
|
|
115
|
+
id: z.string(),
|
|
116
|
+
name_l10n_id: z.string(),
|
|
117
|
+
description_l10n_id: z.string(),
|
|
118
|
+
classes: z.array(TaxonomyClass)
|
|
119
|
+
});
|
|
120
|
+
export const Taxonomy = z.object({
|
|
121
|
+
id: z.string(),
|
|
122
|
+
name_l10n_id: z.string(),
|
|
123
|
+
description_l10n_id: z.string(),
|
|
124
|
+
domains: z.array(TaxonomyDomain),
|
|
125
|
+
purposes: z.array(TaxonomyPurpose),
|
|
126
|
+
localization: LocalizationInfo.optional()
|
|
127
|
+
});
|
|
105
128
|
export const DigitalCredentialsCatalogue = z.object({
|
|
106
129
|
taxonomy_uri: z.string().url(),
|
|
130
|
+
taxonomy: Taxonomy.optional(),
|
|
107
131
|
credentials: z.array(DigitalCredential),
|
|
108
132
|
iat: UnixTime,
|
|
109
133
|
exp: UnixTime,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["z","UnixTime","LocalizationInfo","object","available_locales","array","string","base_uri","default_locale","version","AdministrativeExpirationUserInfo","title_l10n_id","description_l10n_id","AllowedState","catchall","CredentialPurpose","id","description","optional","claims_required","claim_recommended","CredentialIssuer","organization_name","organization_name_l10n_id","organization_code","organization_country","legal_type","contacts","homepage_uri","logo_uri","policy_uri","tos_uri","service_documentation","issuance_flows","deferred_flow","boolean","AuthenticSource","organization_type","user_information","CredentialFormat","configuration_id","format","enum","vct","url","docType","schema_uri","Claim","name","taxonomy_ref","display_name","DigitalCredential","credential_type","name_l10n_id","restriction_policy","presentation_flows","remote","proximity","validity_info","max_validity_days","number","status_methods","administrative_expiration_user_info","allowed_states","union","domains","classes","purposes","issuers","authentic_sources","formats","DigitalCredentialsCatalogue","taxonomy_uri","credentials","iat","exp","
|
|
1
|
+
{"version":3,"names":["z","UnixTime","LocalizationInfo","object","available_locales","array","string","base_uri","default_locale","version","AdministrativeExpirationUserInfo","title_l10n_id","description_l10n_id","AllowedState","catchall","CredentialPurpose","id","description","optional","claims_required","claim_recommended","CredentialIssuer","organization_name","organization_name_l10n_id","organization_code","organization_country","legal_type","contacts","homepage_uri","logo_uri","policy_uri","tos_uri","service_documentation","issuance_flows","deferred_flow","boolean","AuthenticSource","organization_type","user_information","CredentialFormat","configuration_id","format","enum","vct","url","docType","schema_uri","Claim","name","taxonomy_ref","display_name","DigitalCredential","credential_type","name_l10n_id","restriction_policy","presentation_flows","remote","proximity","validity_info","max_validity_days","number","status_methods","administrative_expiration_user_info","allowed_states","union","domains","classes","purposes","issuers","authentic_sources","formats","TaxonomyPurpose","TaxonomyClass","supported_purposes","TaxonomyDomain","Taxonomy","localization","DigitalCredentialsCatalogue","taxonomy_uri","taxonomy","credentials","iat","exp","as_localization"],"sourceRoot":"../../../../src","sources":["credentials-catalogue/api/DigitalCredentialsCatalogue.ts"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getTrustAnchorEntityConfiguration } from "../../trust/v1.0.0/entities"; // TODO: use trust from v1.3.3
|
|
2
2
|
|
|
3
|
-
import { AuthenticSourceRegistry, DigitalCredentialsCatalogueJwt, RegistryDiscoveryJwt, SchemaRegistry } from "./types";
|
|
3
|
+
import { AuthenticSourceRegistry, DigitalCredentialsCatalogueJwt, RegistryDiscoveryJwt, SchemaRegistry, TaxonomyRegistry } from "./types";
|
|
4
4
|
import { mapToCredentialsCatalogue } from "./mappers";
|
|
5
5
|
import { fetchRegistry } from "./utils";
|
|
6
6
|
export const fetchAndParseCatalogue = async function (trustAnchorBaseUrl) {
|
|
@@ -33,6 +33,10 @@ export const fetchAndParseCatalogue = async function (trustAnchorBaseUrl) {
|
|
|
33
33
|
schema: SchemaRegistry,
|
|
34
34
|
asJson: true,
|
|
35
35
|
appFetch
|
|
36
|
+
}), fetchRegistry(endpoints.taxonomy, {
|
|
37
|
+
schema: TaxonomyRegistry,
|
|
38
|
+
asJson: true,
|
|
39
|
+
appFetch
|
|
36
40
|
})]);
|
|
37
41
|
return mapToCredentialsCatalogue([discovery, ...registries]);
|
|
38
42
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getTrustAnchorEntityConfiguration","AuthenticSourceRegistry","DigitalCredentialsCatalogueJwt","RegistryDiscoveryJwt","SchemaRegistry","mapToCredentialsCatalogue","fetchRegistry","fetchAndParseCatalogue","trustAnchorBaseUrl","appFetch","fetch","arguments","length","undefined","trustAnchorConfig","trustAnchorJwks","payload","jwks","keys","discovery","sub","schema","endpoints","registries","Promise","all","credential_catalog","authentic_sources","asJson","schema_registry"],"sourceRoot":"../../../../src","sources":["credentials-catalogue/v1.3.3/fetch-and-parse-catalogue.ts"],"mappings":"AAAA,SAASA,iCAAiC,QAAQ,6BAA6B,CAAC,CAAC;;AAEjF,SACEC,uBAAuB,EACvBC,8BAA8B,EAC9BC,oBAAoB,EACpBC,cAAc,
|
|
1
|
+
{"version":3,"names":["getTrustAnchorEntityConfiguration","AuthenticSourceRegistry","DigitalCredentialsCatalogueJwt","RegistryDiscoveryJwt","SchemaRegistry","TaxonomyRegistry","mapToCredentialsCatalogue","fetchRegistry","fetchAndParseCatalogue","trustAnchorBaseUrl","appFetch","fetch","arguments","length","undefined","trustAnchorConfig","trustAnchorJwks","payload","jwks","keys","discovery","sub","schema","endpoints","registries","Promise","all","credential_catalog","authentic_sources","asJson","schema_registry","taxonomy"],"sourceRoot":"../../../../src","sources":["credentials-catalogue/v1.3.3/fetch-and-parse-catalogue.ts"],"mappings":"AAAA,SAASA,iCAAiC,QAAQ,6BAA6B,CAAC,CAAC;;AAEjF,SACEC,uBAAuB,EACvBC,8BAA8B,EAC9BC,oBAAoB,EACpBC,cAAc,EACdC,gBAAgB,QACX,SAAS;AAChB,SAASC,yBAAyB,QAAQ,WAAW;AACrD,SAASC,aAAa,QAAQ,SAAS;AAEvC,OAAO,MAAMC,sBAAqD,GAAG,eAAAA,CACnEC,kBAAkB,EAEf;EAAA,IADH;IAAEC,QAAQ,GAAGC;EAAM,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEzB,MAAMG,iBAAiB,GAAG,MAAMf,iCAAiC,CAC/DS,kBAAkB,EAClB;IAAEC;EAAS,CACb,CAAC;EACD,MAAMM,eAAe,GAAGD,iBAAiB,CAACE,OAAO,CAACC,IAAI,CAACC,IAAI;EAE3D,MAAMC,SAAS,GAAG,MAAMb,aAAa,CAClC,GAAEQ,iBAAiB,CAACE,OAAO,CAACI,GAAI,iCAAgC,EACjE;IACEC,MAAM,EAAEnB,oBAAoB;IAC5Be,IAAI,EAAEF,eAAe;IACrBN;EACF,CACF,CAAC;EACD,MAAM;IAAEa;EAAU,CAAC,GAAGH,SAAS,CAACH,OAAO;;EAEvC;EACA,MAAMO,UAAU,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CACnCnB,aAAa,CAACgB,SAAS,CAACI,kBAAkB,EAAE;IAC1CL,MAAM,EAAEpB,8BAA8B;IACtCgB,IAAI,EAAEF,eAAe;IACrBN;EACF,CAAC,CAAC,EACFH,aAAa,CAACgB,SAAS,CAACK,iBAAiB,EAAE;IACzCN,MAAM,EAAErB,uBAAuB;IAC/B4B,MAAM,EAAE,IAAI;IACZnB;EACF,CAAC,CAAC,EACFH,aAAa,CAACgB,SAAS,CAACO,eAAe,EAAE;IACvCR,MAAM,EAAElB,cAAc;IACtByB,MAAM,EAAE,IAAI;IACZnB;EACF,CAAC,CAAC,EACFH,aAAa,CAACgB,SAAS,CAACQ,QAAQ,EAAE;IAChCT,MAAM,EAAEjB,gBAAgB;IACxBwB,MAAM,EAAE,IAAI;IACZnB;EACF,CAAC,CAAC,CACH,CAAC;EAEF,OAAOJ,yBAAyB,CAAC,CAACc,SAAS,EAAE,GAAGI,UAAU,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -2,17 +2,19 @@ import { fetchLocaleBundle } from "./utils";
|
|
|
2
2
|
export const fetchTranslations = async function (_ref, locales) {
|
|
3
3
|
let {
|
|
4
4
|
catalogue,
|
|
5
|
-
authenticSources
|
|
5
|
+
authenticSources,
|
|
6
|
+
taxonomy
|
|
6
7
|
} = _ref;
|
|
7
8
|
let {
|
|
8
9
|
appFetch = fetch
|
|
9
10
|
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
10
11
|
const result = {};
|
|
11
12
|
await Promise.all(locales.map(async locale => {
|
|
12
|
-
const [catalogueBundle, asBundle] = await Promise.all([catalogue !== null && catalogue !== void 0 && catalogue.available_locales.includes(locale) ? fetchLocaleBundle(catalogue.base_uri, locale, appFetch) : Promise.resolve({}), authenticSources !== null && authenticSources !== void 0 && authenticSources.available_locales.includes(locale) ? fetchLocaleBundle(authenticSources.base_uri, locale, appFetch) : Promise.resolve({})]);
|
|
13
|
+
const [catalogueBundle, asBundle, taxonomyBundle] = await Promise.all([catalogue !== null && catalogue !== void 0 && catalogue.available_locales.includes(locale) ? fetchLocaleBundle(catalogue.base_uri, locale, appFetch) : Promise.resolve({}), authenticSources !== null && authenticSources !== void 0 && authenticSources.available_locales.includes(locale) ? fetchLocaleBundle(authenticSources.base_uri, locale, appFetch) : Promise.resolve({}), taxonomy !== null && taxonomy !== void 0 && taxonomy.available_locales.includes(locale) ? fetchLocaleBundle(taxonomy.base_uri, locale, appFetch) : Promise.resolve({})]);
|
|
13
14
|
const merged = {
|
|
14
15
|
...catalogueBundle,
|
|
15
|
-
...asBundle
|
|
16
|
+
...asBundle,
|
|
17
|
+
...taxonomyBundle
|
|
16
18
|
};
|
|
17
19
|
|
|
18
20
|
// Only include the locale in the result if at least one source provided translations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["fetchLocaleBundle","fetchTranslations","_ref","locales","catalogue","authenticSources","appFetch","fetch","arguments","length","undefined","result","Promise","all","map","locale","catalogueBundle","asBundle","available_locales","includes","base_uri","resolve","merged","Object","keys"],"sourceRoot":"../../../../src","sources":["credentials-catalogue/v1.3.3/fetch-translations.ts"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,SAAS;AAE3C,OAAO,MAAMC,iBAAwD,GAAG,eAAAA,CAAAC,IAAA,EAEtEC,OAAO,EAEJ;EAAA,IAHH;IAAEC,SAAS;IAAEC;
|
|
1
|
+
{"version":3,"names":["fetchLocaleBundle","fetchTranslations","_ref","locales","catalogue","authenticSources","taxonomy","appFetch","fetch","arguments","length","undefined","result","Promise","all","map","locale","catalogueBundle","asBundle","taxonomyBundle","available_locales","includes","base_uri","resolve","merged","Object","keys"],"sourceRoot":"../../../../src","sources":["credentials-catalogue/v1.3.3/fetch-translations.ts"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,SAAS;AAE3C,OAAO,MAAMC,iBAAwD,GAAG,eAAAA,CAAAC,IAAA,EAEtEC,OAAO,EAEJ;EAAA,IAHH;IAAEC,SAAS;IAAEC,gBAAgB;IAAEC;EAAS,CAAC,GAAAJ,IAAA;EAAA,IAEzC;IAAEK,QAAQ,GAAGC;EAAM,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEzB,MAAMG,MAA8C,GAAG,CAAC,CAAC;EAEzD,MAAMC,OAAO,CAACC,GAAG,CACfX,OAAO,CAACY,GAAG,CAAC,MAAOC,MAAM,IAAK;IAC5B,MAAM,CAACC,eAAe,EAAEC,QAAQ,EAAEC,cAAc,CAAC,GAAG,MAAMN,OAAO,CAACC,GAAG,CAAC,CACpEV,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEgB,iBAAiB,CAACC,QAAQ,CAACL,MAAM,CAAC,GACzChB,iBAAiB,CAACI,SAAS,CAACkB,QAAQ,EAAEN,MAAM,EAAET,QAAQ,CAAC,GACvDM,OAAO,CAACU,OAAO,CAAC,CAAC,CAAC,CAAC,EACvBlB,gBAAgB,aAAhBA,gBAAgB,eAAhBA,gBAAgB,CAAEe,iBAAiB,CAACC,QAAQ,CAACL,MAAM,CAAC,GAChDhB,iBAAiB,CAACK,gBAAgB,CAACiB,QAAQ,EAAEN,MAAM,EAAET,QAAQ,CAAC,GAC9DM,OAAO,CAACU,OAAO,CAAC,CAAC,CAAC,CAAC,EACvBjB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEc,iBAAiB,CAACC,QAAQ,CAACL,MAAM,CAAC,GACxChB,iBAAiB,CAACM,QAAQ,CAACgB,QAAQ,EAAEN,MAAM,EAAET,QAAQ,CAAC,GACtDM,OAAO,CAACU,OAAO,CAAC,CAAC,CAAC,CAAC,CACxB,CAAC;IAEF,MAAMC,MAAM,GAAG;MAAE,GAAGP,eAAe;MAAE,GAAGC,QAAQ;MAAE,GAAGC;IAAe,CAAC;;IAErE;IACA,IAAIM,MAAM,CAACC,IAAI,CAACF,MAAM,CAAC,CAACd,MAAM,GAAG,CAAC,EAAE;MAClCE,MAAM,CAACI,MAAM,CAAC,GAAGQ,MAAM;IACzB;EACF,CAAC,CACH,CAAC;EAED,OAAOZ,MAAM;AACf,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { keyBy, groupBy } from "../../utils/object";
|
|
|
3
3
|
import { createMapper } from "../../utils/mappers";
|
|
4
4
|
import { DigitalCredentialsCatalogue } from "../api/DigitalCredentialsCatalogue";
|
|
5
5
|
export const mapToCredentialsCatalogue = createMapper(_ref => {
|
|
6
|
-
let [discoveryJwt, catalogueJwt, authSourceRegistry, schemaRegistry] = _ref;
|
|
6
|
+
let [discoveryJwt, catalogueJwt, authSourceRegistry, schemaRegistry, taxonomyRegistry] = _ref;
|
|
7
7
|
const authSourcesById = keyBy(authSourceRegistry.authentic_sources, "entity_id");
|
|
8
8
|
const schemasByCredentialType = groupBy(schemaRegistry.schemas, "credential_type");
|
|
9
9
|
const resolveAuthSource = _ref2 => {
|
|
@@ -36,6 +36,14 @@ export const mapToCredentialsCatalogue = createMapper(_ref => {
|
|
|
36
36
|
return {
|
|
37
37
|
...catalogueJwt.payload,
|
|
38
38
|
taxonomy_uri: discoveryJwt.payload.endpoints.taxonomy,
|
|
39
|
+
taxonomy: {
|
|
40
|
+
id: taxonomyRegistry.id,
|
|
41
|
+
name_l10n_id: taxonomyRegistry.name_l10n_id,
|
|
42
|
+
description_l10n_id: taxonomyRegistry.description_l10n_id,
|
|
43
|
+
domains: taxonomyRegistry.domains,
|
|
44
|
+
purposes: taxonomyRegistry.purposes,
|
|
45
|
+
localization: taxonomyRegistry.localization
|
|
46
|
+
},
|
|
39
47
|
localization: catalogueJwt.payload.localization,
|
|
40
48
|
as_localization: authSourceRegistry.localization,
|
|
41
49
|
credentials: catalogueJwt.payload.credentials.map(_ref3 => {
|