@pagopa/io-react-native-wallet 2.0.0-next.2 → 2.0.0-next.4
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/03-start-user-authorization.js +38 -24
- package/lib/commonjs/credential/issuance/03-start-user-authorization.js.map +1 -1
- package/lib/commonjs/credential/issuance/04-complete-user-authorization.js +75 -57
- package/lib/commonjs/credential/issuance/04-complete-user-authorization.js.map +1 -1
- package/lib/commonjs/credential/issuance/05-authorize-access.js +6 -10
- package/lib/commonjs/credential/issuance/05-authorize-access.js.map +1 -1
- package/lib/commonjs/credential/issuance/06-obtain-credential.js +43 -11
- package/lib/commonjs/credential/issuance/06-obtain-credential.js.map +1 -1
- package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js +51 -48
- package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
- package/lib/commonjs/credential/issuance/README.md +77 -45
- package/lib/commonjs/credential/issuance/const.js +1 -1
- package/lib/commonjs/credential/issuance/types.js +17 -10
- package/lib/commonjs/credential/issuance/types.js.map +1 -1
- package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js +6 -13
- package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js.map +1 -1
- package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js +10 -11
- package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
- package/lib/commonjs/credential/presentation/types.js +1 -1
- package/lib/commonjs/credential/presentation/types.js.map +1 -1
- package/lib/commonjs/credential/status/README.md +0 -1
- package/lib/commonjs/sd-jwt/__test__/index.test.js +11 -15
- package/lib/commonjs/sd-jwt/__test__/index.test.js.map +1 -1
- package/lib/commonjs/sd-jwt/__test__/types.test.js +5 -2
- package/lib/commonjs/sd-jwt/__test__/types.test.js.map +1 -1
- package/lib/commonjs/sd-jwt/__test__/utils.test.js +37 -0
- package/lib/commonjs/sd-jwt/__test__/utils.test.js.map +1 -0
- package/lib/commonjs/sd-jwt/index.js +26 -1
- package/lib/commonjs/sd-jwt/index.js.map +1 -1
- package/lib/commonjs/sd-jwt/types.js +71 -8
- package/lib/commonjs/sd-jwt/types.js.map +1 -1
- package/lib/commonjs/sd-jwt/utils.js +64 -0
- package/lib/commonjs/sd-jwt/utils.js.map +1 -0
- package/lib/commonjs/trust/types.js +18 -13
- package/lib/commonjs/trust/types.js.map +1 -1
- package/lib/commonjs/utils/par.js +32 -22
- package/lib/commonjs/utils/par.js.map +1 -1
- package/lib/commonjs/utils/pop.js +1 -1
- package/lib/commonjs/utils/pop.js.map +1 -1
- package/lib/commonjs/wallet-instance-attestation/types.js +4 -1
- package/lib/commonjs/wallet-instance-attestation/types.js.map +1 -1
- package/lib/module/credential/issuance/03-start-user-authorization.js +38 -24
- package/lib/module/credential/issuance/03-start-user-authorization.js.map +1 -1
- package/lib/module/credential/issuance/04-complete-user-authorization.js +76 -58
- package/lib/module/credential/issuance/04-complete-user-authorization.js.map +1 -1
- package/lib/module/credential/issuance/05-authorize-access.js +6 -10
- package/lib/module/credential/issuance/05-authorize-access.js.map +1 -1
- package/lib/module/credential/issuance/06-obtain-credential.js +44 -12
- package/lib/module/credential/issuance/06-obtain-credential.js.map +1 -1
- package/lib/module/credential/issuance/07-verify-and-parse-credential.js +51 -48
- package/lib/module/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
- package/lib/module/credential/issuance/README.md +77 -45
- package/lib/module/credential/issuance/const.js +1 -1
- package/lib/module/credential/issuance/types.js +13 -8
- package/lib/module/credential/issuance/types.js.map +1 -1
- package/lib/module/credential/presentation/07-evaluate-dcql-query.js +6 -13
- package/lib/module/credential/presentation/07-evaluate-dcql-query.js.map +1 -1
- package/lib/module/credential/presentation/07-evaluate-input-descriptor.js +10 -11
- package/lib/module/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
- package/lib/module/credential/presentation/types.js +1 -1
- package/lib/module/credential/presentation/types.js.map +1 -1
- package/lib/module/credential/status/README.md +0 -1
- package/lib/module/sd-jwt/__test__/index.test.js +11 -16
- package/lib/module/sd-jwt/__test__/index.test.js.map +1 -1
- package/lib/module/sd-jwt/__test__/types.test.js +5 -2
- package/lib/module/sd-jwt/__test__/types.test.js.map +1 -1
- package/lib/module/sd-jwt/__test__/utils.test.js +35 -0
- package/lib/module/sd-jwt/__test__/utils.test.js.map +1 -0
- package/lib/module/sd-jwt/index.js +7 -1
- package/lib/module/sd-jwt/index.js.map +1 -1
- package/lib/module/sd-jwt/types.js +70 -7
- package/lib/module/sd-jwt/types.js.map +1 -1
- package/lib/module/sd-jwt/utils.js +57 -0
- package/lib/module/sd-jwt/utils.js.map +1 -0
- package/lib/module/trust/types.js +18 -13
- package/lib/module/trust/types.js.map +1 -1
- package/lib/module/utils/par.js +29 -20
- package/lib/module/utils/par.js.map +1 -1
- package/lib/module/utils/pop.js +1 -1
- package/lib/module/utils/pop.js.map +1 -1
- package/lib/module/wallet-instance-attestation/types.js +4 -1
- package/lib/module/wallet-instance-attestation/types.js.map +1 -1
- package/lib/typescript/client/generated/wallet-provider.d.ts +12 -12
- package/lib/typescript/credential/issuance/01-start-flow.d.ts +2 -2
- package/lib/typescript/credential/issuance/01-start-flow.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/03-start-user-authorization.d.ts +7 -6
- package/lib/typescript/credential/issuance/03-start-user-authorization.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts +7 -14
- package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/05-authorize-access.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/06-obtain-credential.d.ts +10 -5
- package/lib/typescript/credential/issuance/06-obtain-credential.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts +3 -2
- package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/const.d.ts +1 -1
- package/lib/typescript/credential/issuance/types.d.ts +49 -26
- package/lib/typescript/credential/issuance/types.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/01-start-flow.d.ts +2 -2
- package/lib/typescript/credential/presentation/07-evaluate-dcql-query.d.ts +4 -3
- package/lib/typescript/credential/presentation/07-evaluate-dcql-query.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts +9 -5
- package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/types.d.ts +3 -4
- package/lib/typescript/credential/presentation/types.d.ts.map +1 -1
- package/lib/typescript/credential/status/types.d.ts +4 -4
- package/lib/typescript/pid/sd-jwt/types.d.ts +7 -7
- package/lib/typescript/sd-jwt/__test__/utils.test.d.ts +2 -0
- package/lib/typescript/sd-jwt/__test__/utils.test.d.ts.map +1 -0
- package/lib/typescript/sd-jwt/index.d.ts +69 -28
- package/lib/typescript/sd-jwt/index.d.ts.map +1 -1
- package/lib/typescript/sd-jwt/types.d.ts +264 -31
- package/lib/typescript/sd-jwt/types.d.ts.map +1 -1
- package/lib/typescript/sd-jwt/utils.d.ts +18 -0
- package/lib/typescript/sd-jwt/utils.d.ts.map +1 -0
- package/lib/typescript/trust/build-chain.d.ts +30 -14
- package/lib/typescript/trust/build-chain.d.ts.map +1 -1
- package/lib/typescript/trust/types.d.ts +322 -158
- package/lib/typescript/trust/types.d.ts.map +1 -1
- package/lib/typescript/utils/par.d.ts +29 -13
- package/lib/typescript/utils/par.d.ts.map +1 -1
- package/lib/typescript/wallet-instance-attestation/types.d.ts +9 -9
- package/lib/typescript/wallet-instance-attestation/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/credential/issuance/01-start-flow.ts +2 -2
- package/src/credential/issuance/03-start-user-authorization.ts +57 -38
- package/src/credential/issuance/04-complete-user-authorization.ts +79 -85
- package/src/credential/issuance/05-authorize-access.ts +5 -11
- package/src/credential/issuance/06-obtain-credential.ts +56 -23
- package/src/credential/issuance/07-verify-and-parse-credential.ts +54 -62
- package/src/credential/issuance/README.md +77 -45
- package/src/credential/issuance/const.ts +1 -1
- package/src/credential/issuance/types.ts +19 -8
- package/src/credential/presentation/07-evaluate-dcql-query.ts +16 -17
- package/src/credential/presentation/07-evaluate-input-descriptor.ts +19 -16
- package/src/credential/presentation/types.ts +1 -2
- package/src/credential/status/README.md +0 -1
- package/src/sd-jwt/__test__/index.test.ts +8 -29
- package/src/sd-jwt/__test__/types.test.ts +6 -2
- package/src/sd-jwt/__test__/utils.test.ts +37 -0
- package/src/sd-jwt/index.ts +7 -1
- package/src/sd-jwt/types.ts +68 -7
- package/src/sd-jwt/utils.ts +73 -0
- package/src/trust/types.ts +23 -17
- package/src/utils/par.ts +37 -21
- package/src/utils/pop.ts +1 -1
- package/src/wallet-instance-attestation/types.ts +3 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_jwk","require","_zod","UnixTime","z","number","min","max","exports","ObfuscatedDisclosures","object","_sd","array","string","Disclosure","tuple","unknown","SdJwt4VC","header","typ","
|
1
|
+
{"version":3,"names":["_jwk","require","_zod","UnixTime","z","number","min","max","exports","ObfuscatedDisclosures","object","_sd","array","string","Disclosure","tuple","unknown","StatusAssertion","credential_hash_alg","literal","SdJwt4VC","header","typ","enum","alg","kid","trust_chain","optional","x5c","vctm","payload","intersection","iss","sub","iat","exp","_sd_alg","status","union","status_assertion","status_attestation","cnf","jwk","JWK","vct","issuing_authority","issuing_country","Verification","trust_framework","assurance_level","evidence","type","time","attestation","reference_number","date_of_issuance","voucher","organization","TypeMetadata","name","description","data_source","authentic_source","organization_name","organization_code","contacts","homepage_uri","url","logo_uri"],"sourceRoot":"../../../src","sources":["sd-jwt/types.ts"],"mappings":"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"}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.getVerification = exports.fetchTypeMetadata = void 0;
|
7
|
+
var _ioReactNativeJwt = require("@pagopa/io-react-native-jwt");
|
8
|
+
var _misc = require("../utils/misc");
|
9
|
+
var _types = require("./types");
|
10
|
+
var _errors = require("../utils/errors");
|
11
|
+
var _ = require(".");
|
12
|
+
var _converters = require("./converters");
|
13
|
+
/**
|
14
|
+
* Retrieve the Type Metadata for a credential and verify its integrity.
|
15
|
+
* @param vct The VCT as a valid HTTPS url
|
16
|
+
* @param vctIntegrity The integrity hash
|
17
|
+
* @param context.appFetch (optional) fetch api implementation. Default: built-in fetch
|
18
|
+
* @returns The credential metadata {@link TypeMetadata}
|
19
|
+
*/
|
20
|
+
const fetchTypeMetadata = async function (vct, vctIntegrity) {
|
21
|
+
let context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
22
|
+
const {
|
23
|
+
appFetch = fetch
|
24
|
+
} = context;
|
25
|
+
const {
|
26
|
+
origin,
|
27
|
+
pathname
|
28
|
+
} = new URL(vct);
|
29
|
+
const metadata = await appFetch(`${origin}/.well-known/vct${pathname}`, {
|
30
|
+
headers: {
|
31
|
+
"Content-Type": "application/json"
|
32
|
+
}
|
33
|
+
}).then((0, _misc.hasStatusOrThrow)(200, _errors.IssuerResponseError)).then(res => res.json()).then(_types.TypeMetadata.parse);
|
34
|
+
const [alg, hash] = vctIntegrity.split(/-(.*)/s);
|
35
|
+
if (alg !== "sha256") {
|
36
|
+
throw new _errors.IoWalletError(`${alg} algorithm is not supported`);
|
37
|
+
}
|
38
|
+
|
39
|
+
// TODO: [SIW-2264] check if the hash is correctly calculated
|
40
|
+
const metadataHash = await (0, _ioReactNativeJwt.sha256ToBase64)(JSON.stringify(metadata));
|
41
|
+
if (metadataHash !== hash) {
|
42
|
+
throw new _errors.ValidationFailed({
|
43
|
+
message: "Unable to verify VCT integrity",
|
44
|
+
reason: "vct#integrity does not match the metadata hash"
|
45
|
+
});
|
46
|
+
}
|
47
|
+
return metadata;
|
48
|
+
};
|
49
|
+
|
50
|
+
/**
|
51
|
+
* Extract and validate the `verification` claim from disclosures.
|
52
|
+
* @param credentialSdJwt The raw credential SD-JWT
|
53
|
+
* @returns The verification claim or undefined if it wasn't found
|
54
|
+
*/
|
55
|
+
exports.fetchTypeMetadata = fetchTypeMetadata;
|
56
|
+
const getVerification = credentialSdJwt => {
|
57
|
+
const {
|
58
|
+
disclosures
|
59
|
+
} = (0, _.decode)(credentialSdJwt);
|
60
|
+
const verificationDisclosure = (0, _converters.getValueFromDisclosures)(disclosures.map(d => d.decoded), "verification");
|
61
|
+
return verificationDisclosure ? _types.Verification.parse(verificationDisclosure) : undefined;
|
62
|
+
};
|
63
|
+
exports.getVerification = getVerification;
|
64
|
+
//# sourceMappingURL=utils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_ioReactNativeJwt","require","_misc","_types","_errors","_","_converters","fetchTypeMetadata","vct","vctIntegrity","context","arguments","length","undefined","appFetch","fetch","origin","pathname","URL","metadata","headers","then","hasStatusOrThrow","IssuerResponseError","res","json","TypeMetadata","parse","alg","hash","split","IoWalletError","metadataHash","sha256ToBase64","JSON","stringify","ValidationFailed","message","reason","exports","getVerification","credentialSdJwt","disclosures","decode","verificationDisclosure","getValueFromDisclosures","map","d","decoded","Verification"],"sourceRoot":"../../../src","sources":["sd-jwt/utils.ts"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAKA,IAAAI,CAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMM,iBAAiB,GAAG,eAAAA,CAC/BC,GAAW,EACXC,YAAoB,EAIM;EAAA,IAH1BC,OAEC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEN,MAAM;IAAEG,QAAQ,GAAGC;EAAM,CAAC,GAAGL,OAAO;EACpC,MAAM;IAAEM,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAIC,GAAG,CAACV,GAAG,CAAC;EAEzC,MAAMW,QAAQ,GAAG,MAAML,QAAQ,CAAE,GAAEE,MAAO,mBAAkBC,QAAS,EAAC,EAAE;IACtEG,OAAO,EAAE;MACP,cAAc,EAAE;IAClB;EACF,CAAC,CAAC,CACCC,IAAI,CAAC,IAAAC,sBAAgB,EAAC,GAAG,EAAEC,2BAAmB,CAAC,CAAC,CAChDF,IAAI,CAAEG,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC,CAAC,CAAC,CACzBJ,IAAI,CAACK,mBAAY,CAACC,KAAK,CAAC;EAE3B,MAAM,CAACC,GAAG,EAAEC,IAAI,CAAC,GAAGpB,YAAY,CAACqB,KAAK,CAAC,QAAQ,CAAC;EAEhD,IAAIF,GAAG,KAAK,QAAQ,EAAE;IACpB,MAAM,IAAIG,qBAAa,CAAE,GAAEH,GAAI,6BAA4B,CAAC;EAC9D;;EAEA;EACA,MAAMI,YAAY,GAAG,MAAM,IAAAC,gCAAc,EAACC,IAAI,CAACC,SAAS,CAAChB,QAAQ,CAAC,CAAC;EAEnE,IAAIa,YAAY,KAAKH,IAAI,EAAE;IACzB,MAAM,IAAIO,wBAAgB,CAAC;MACzBC,OAAO,EAAE,gCAAgC;MACzCC,MAAM,EAAE;IACV,CAAC,CAAC;EACJ;EAEA,OAAOnB,QAAQ;AACjB,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAoB,OAAA,CAAAhC,iBAAA,GAAAA,iBAAA;AAKO,MAAMiC,eAAe,GAC1BC,eAAuB,IACM;EAC7B,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,QAAM,EAACF,eAAe,CAAC;EAC/C,MAAMG,sBAAsB,GAAG,IAAAC,mCAAuB,EACpDH,WAAW,CAACI,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,OAAO,CAAC,EACjC,cACF,CAAC;EACD,OAAOJ,sBAAsB,GACzBK,mBAAY,CAACtB,KAAK,CAACiB,sBAAsB,CAAC,GAC1C/B,SAAS;AACf,CAAC;AAAC0B,OAAA,CAAAC,eAAA,GAAAA,eAAA"}
|
@@ -43,13 +43,10 @@ const CredentialIssuerDisplayMetadata = z.object({
|
|
43
43
|
name: z.string(),
|
44
44
|
locale: z.string()
|
45
45
|
});
|
46
|
-
const ClaimsMetadata = z.
|
47
|
-
|
48
|
-
display: z.array(
|
49
|
-
|
50
|
-
locale: z.string()
|
51
|
-
}))
|
52
|
-
}));
|
46
|
+
const ClaimsMetadata = z.object({
|
47
|
+
path: z.array(z.string()),
|
48
|
+
display: z.array(CredentialDisplayMetadata)
|
49
|
+
});
|
53
50
|
const IssuanceErrorSupported = z.object({
|
54
51
|
display: z.array(z.object({
|
55
52
|
title: z.string(),
|
@@ -60,16 +57,21 @@ const IssuanceErrorSupported = z.object({
|
|
60
57
|
|
61
58
|
// Metadata for a credential which is supported by an Issuer
|
62
59
|
|
63
|
-
const SupportedCredentialMetadata = z.object({
|
64
|
-
format: z.
|
60
|
+
const SupportedCredentialMetadata = z.intersection(z.discriminatedUnion("format", [z.object({
|
61
|
+
format: z.literal("dc+sd-jwt"),
|
62
|
+
vct: z.string()
|
63
|
+
}), z.object({
|
64
|
+
format: z.literal("mso_mdoc"),
|
65
|
+
doctype: z.string()
|
66
|
+
})]), z.object({
|
65
67
|
scope: z.string(),
|
66
68
|
display: z.array(CredentialDisplayMetadata),
|
67
|
-
claims: ClaimsMetadata,
|
69
|
+
claims: z.array(ClaimsMetadata),
|
68
70
|
cryptographic_binding_methods_supported: z.array(z.string()),
|
69
71
|
credential_signing_alg_values_supported: z.array(z.string()),
|
70
72
|
authentic_source: z.string().optional(),
|
71
73
|
issuance_errors_supported: z.record(IssuanceErrorSupported).optional()
|
72
|
-
});
|
74
|
+
}));
|
73
75
|
const EntityStatement = z.object({
|
74
76
|
header: z.object({
|
75
77
|
typ: z.literal("entity-statement+jwt"),
|
@@ -147,13 +149,16 @@ const CredentialIssuerEntityConfiguration = BaseEntityConfiguration.and(z.object
|
|
147
149
|
openid_credential_issuer: z.object({
|
148
150
|
credential_issuer: z.string(),
|
149
151
|
credential_endpoint: z.string(),
|
150
|
-
revocation_endpoint: z.string(),
|
152
|
+
revocation_endpoint: z.string().optional(),
|
153
|
+
nonce_endpoint: z.string(),
|
151
154
|
status_attestation_endpoint: z.string(),
|
152
155
|
display: z.array(CredentialIssuerDisplayMetadata),
|
153
156
|
credential_configurations_supported: z.record(SupportedCredentialMetadata),
|
154
157
|
jwks: z.object({
|
155
158
|
keys: z.array(_jwk.JWK)
|
156
|
-
})
|
159
|
+
}),
|
160
|
+
trust_frameworks_supported: z.array(z.string()),
|
161
|
+
evidence_supported: z.array(z.string())
|
157
162
|
}),
|
158
163
|
oauth_authorization_server: z.object({
|
159
164
|
authorization_endpoint: z.string(),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_types","require","_jwk","z","_interopRequireWildcard","_types2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TrustMark","object","id","string","trust_mark","exports","RelyingPartyMetadata","application_type","optional","client_id","client_name","jwks","keys","array","JWK","contacts","presentation_definition","PresentationDefinition","request_uris","authorization_signed_response_alg","authorization_encrypted_response_alg","authorization_encrypted_response_enc","CredentialDisplayMetadata","name","locale","CredentialIssuerDisplayMetadata","ClaimsMetadata","record","value_type","display","IssuanceErrorSupported","title","description","SupportedCredentialMetadata","format","union","literal","scope","claims","cryptographic_binding_methods_supported","credential_signing_alg_values_supported","authentic_source","issuance_errors_supported","EntityStatement","header","typ","alg","kid","payload","iss","sub","trust_marks","iat","number","exp","EntityConfigurationHeader","FederationEntityMetadata","federation_fetch_endpoint","federation_list_endpoint","federation_resolve_endpoint","federation_trust_mark_status_endpoint","federation_trust_mark_list_endpoint","federation_trust_mark_endpoint","federation_historical_keys_endpoint","endpoint_auth_signing_alg_values_supported","organization_name","homepage_uri","policy_uri","logo_uri","passthrough","BaseEntityConfiguration","UnixTime","authority_hints","metadata","federation_entity","TrustAnchorEntityConfiguration","CredentialIssuerEntityConfiguration","and","openid_credential_issuer","credential_issuer","credential_endpoint","revocation_endpoint","status_attestation_endpoint","credential_configurations_supported","oauth_authorization_server","authorization_endpoint","pushed_authorization_request_endpoint","token_endpoint","client_registration_types_supported","code_challenge_methods_supported","acr_values_supported","grant_types_supported","issuer","scopes_supported","response_modes_supported","token_endpoint_auth_methods_supported","token_endpoint_auth_signing_alg_values_supported","request_object_signing_alg_values_supported","openid_credential_verifier","RelyingPartyEntityConfiguration","WalletProviderEntityConfiguration","wallet_provider","aal_values_supported","EntityConfiguration","FederationListResponse"],"sourceRoot":"../../../src","sources":["trust/types.ts"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_types","require","_jwk","z","_interopRequireWildcard","_types2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TrustMark","object","id","string","trust_mark","exports","RelyingPartyMetadata","application_type","optional","client_id","client_name","jwks","keys","array","JWK","contacts","presentation_definition","PresentationDefinition","request_uris","authorization_signed_response_alg","authorization_encrypted_response_alg","authorization_encrypted_response_enc","CredentialDisplayMetadata","name","locale","CredentialIssuerDisplayMetadata","ClaimsMetadata","path","display","IssuanceErrorSupported","title","description","SupportedCredentialMetadata","intersection","discriminatedUnion","format","literal","vct","doctype","scope","claims","cryptographic_binding_methods_supported","credential_signing_alg_values_supported","authentic_source","issuance_errors_supported","record","EntityStatement","header","typ","alg","kid","payload","iss","sub","trust_marks","iat","number","exp","EntityConfigurationHeader","FederationEntityMetadata","federation_fetch_endpoint","federation_list_endpoint","federation_resolve_endpoint","federation_trust_mark_status_endpoint","federation_trust_mark_list_endpoint","federation_trust_mark_endpoint","federation_historical_keys_endpoint","endpoint_auth_signing_alg_values_supported","organization_name","homepage_uri","policy_uri","logo_uri","passthrough","BaseEntityConfiguration","UnixTime","authority_hints","metadata","federation_entity","TrustAnchorEntityConfiguration","CredentialIssuerEntityConfiguration","and","openid_credential_issuer","credential_issuer","credential_endpoint","revocation_endpoint","nonce_endpoint","status_attestation_endpoint","credential_configurations_supported","trust_frameworks_supported","evidence_supported","oauth_authorization_server","authorization_endpoint","pushed_authorization_request_endpoint","token_endpoint","client_registration_types_supported","code_challenge_methods_supported","acr_values_supported","grant_types_supported","issuer","scopes_supported","response_modes_supported","token_endpoint_auth_methods_supported","token_endpoint_auth_signing_alg_values_supported","request_object_signing_alg_values_supported","openid_credential_verifier","RelyingPartyEntityConfiguration","WalletProviderEntityConfiguration","wallet_provider","aal_values_supported","EntityConfiguration","union","FederationListResponse"],"sourceRoot":"../../../src","sources":["trust/types.ts"],"mappings":"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"}
|
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.makeParRequest = exports.AuthorizationDetails = exports.AuthorizationDetail = void 0;
|
6
|
+
exports.makeParRequest = exports.ParResponse = exports.AuthorizationDetails = exports.AuthorizationDetail = void 0;
|
7
7
|
var _ioReactNativeJwt = require("@pagopa/io-react-native-jwt");
|
8
8
|
var _uuid = require("uuid");
|
9
9
|
var z = _interopRequireWildcard(require("zod"));
|
@@ -15,26 +15,36 @@ var _logging = require("./logging");
|
|
15
15
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
16
16
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
17
17
|
const AuthorizationDetail = z.object({
|
18
|
-
|
19
|
-
|
20
|
-
type: z.literal("openid_credential")
|
18
|
+
type: z.literal("openid_credential"),
|
19
|
+
credential_configuration_id: z.string()
|
21
20
|
});
|
22
21
|
exports.AuthorizationDetail = AuthorizationDetail;
|
23
22
|
const AuthorizationDetails = z.array(AuthorizationDetail);
|
24
|
-
|
23
|
+
exports.AuthorizationDetails = AuthorizationDetails;
|
24
|
+
const ParResponse = z.object({
|
25
|
+
request_uri: z.string(),
|
26
|
+
expires_in: z.number()
|
27
|
+
});
|
28
|
+
exports.ParResponse = ParResponse;
|
25
29
|
/**
|
26
30
|
* Make a PAR request to the issuer and return the response url
|
27
31
|
*/
|
28
|
-
exports.AuthorizationDetails = AuthorizationDetails;
|
29
32
|
const makeParRequest = _ref => {
|
30
33
|
let {
|
31
34
|
wiaCryptoContext,
|
32
35
|
appFetch
|
33
36
|
} = _ref;
|
34
|
-
return async (
|
37
|
+
return async (parEndpoint, walletInstanceAttestation, _ref2) => {
|
38
|
+
let {
|
39
|
+
codeVerifier,
|
40
|
+
responseMode,
|
41
|
+
clientId,
|
42
|
+
redirectUri,
|
43
|
+
authorizationDetails,
|
44
|
+
scope,
|
45
|
+
aud
|
46
|
+
} = _ref2;
|
35
47
|
const wiaPublicKey = await wiaCryptoContext.getPublicKey();
|
36
|
-
const parUrl = new URL(parEndpoint);
|
37
|
-
const aud = `${parUrl.protocol}//${parUrl.hostname}`;
|
38
48
|
const iss = WalletInstanceAttestation.decode(walletInstanceAttestation).payload.cnf.jwk.kid;
|
39
49
|
const signedWiaPoP = await (0, _pop.createPopToken)({
|
40
50
|
jti: `${(0, _uuid.v4)()}`,
|
@@ -53,7 +63,7 @@ const makeParRequest = _ref => {
|
|
53
63
|
with the it will ship the Wallet Instance Attestation.
|
54
64
|
The key is matched by its kid */
|
55
65
|
const signedJwtForPar = await new _ioReactNativeJwt.SignJWT(wiaCryptoContext).setProtectedHeader({
|
56
|
-
typ: "
|
66
|
+
typ: "jwt",
|
57
67
|
kid: wiaPublicKey.kid
|
58
68
|
}).setPayload({
|
59
69
|
jti: `${(0, _uuid.v4)()}`,
|
@@ -65,31 +75,31 @@ const makeParRequest = _ref => {
|
|
65
75
|
state: (0, _misc.generateRandomAlphaNumericString)(32),
|
66
76
|
code_challenge: codeChallenge,
|
67
77
|
code_challenge_method: codeChallengeMethod,
|
68
|
-
authorization_details: authorizationDetails,
|
69
78
|
redirect_uri: redirectUri,
|
70
|
-
|
71
|
-
|
72
|
-
|
79
|
+
...(authorizationDetails && {
|
80
|
+
authorization_details: authorizationDetails
|
81
|
+
}),
|
82
|
+
...(scope && {
|
83
|
+
scope
|
84
|
+
})
|
85
|
+
}).setIssuedAt() // iat is set to now
|
73
86
|
.setExpirationTime("5min").sign();
|
74
87
|
|
75
88
|
/** The request body for the Pushed Authorization Request */
|
76
89
|
var formBody = new URLSearchParams({
|
77
|
-
response_type: "code",
|
78
90
|
client_id: clientId,
|
79
|
-
|
80
|
-
code_challenge_method: "S256",
|
81
|
-
request: signedJwtForPar,
|
82
|
-
client_assertion_type: assertionType,
|
83
|
-
client_assertion: walletInstanceAttestation + "~" + signedWiaPoP
|
91
|
+
request: signedJwtForPar
|
84
92
|
});
|
85
93
|
_logging.Logger.log(_logging.LogLevel.DEBUG, `Sending to PAR endpoint ${parEndpoint}: ${formBody}`);
|
86
94
|
return await appFetch(parEndpoint, {
|
87
95
|
method: "POST",
|
88
96
|
headers: {
|
89
|
-
"Content-Type": "application/x-www-form-urlencoded"
|
97
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
98
|
+
"OAuth-Client-Attestation": walletInstanceAttestation,
|
99
|
+
"OAuth-Client-Attestation-PoP": signedWiaPoP
|
90
100
|
},
|
91
101
|
body: formBody.toString()
|
92
|
-
}).then((0, _misc.hasStatusOrThrow)(201, _errors.IssuerResponseError)).then(res => res.json()).then(result => result.request_uri);
|
102
|
+
}).then((0, _misc.hasStatusOrThrow)(201, _errors.IssuerResponseError)).then(res => res.json()).then(ParResponse.parse).then(result => result.request_uri);
|
93
103
|
};
|
94
104
|
};
|
95
105
|
exports.makeParRequest = makeParRequest;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_ioReactNativeJwt","require","_uuid","z","_interopRequireWildcard","WalletInstanceAttestation","_misc","_pop","_errors","_logging","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AuthorizationDetail","object","
|
1
|
+
{"version":3,"names":["_ioReactNativeJwt","require","_uuid","z","_interopRequireWildcard","WalletInstanceAttestation","_misc","_pop","_errors","_logging","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AuthorizationDetail","object","type","literal","credential_configuration_id","string","exports","AuthorizationDetails","array","ParResponse","request_uri","expires_in","number","makeParRequest","_ref","wiaCryptoContext","appFetch","parEndpoint","walletInstanceAttestation","_ref2","codeVerifier","responseMode","clientId","redirectUri","authorizationDetails","scope","aud","wiaPublicKey","getPublicKey","iss","decode","payload","cnf","jwk","kid","signedWiaPoP","createPopToken","jti","uuidv4","codeChallengeMethod","codeChallenge","sha256ToBase64","signedJwtForPar","SignJWT","setProtectedHeader","typ","setPayload","response_type","response_mode","client_id","state","generateRandomAlphaNumericString","code_challenge","code_challenge_method","redirect_uri","authorization_details","setIssuedAt","setExpirationTime","sign","formBody","URLSearchParams","request","Logger","log","LogLevel","DEBUG","method","headers","body","toString","then","hasStatusOrThrow","IssuerResponseError","res","json","parse","result"],"sourceRoot":"../../../src","sources":["utils/par.ts"],"mappings":"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"}
|
@@ -19,7 +19,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
19
19
|
const createPopToken = async (payload, crypto) => {
|
20
20
|
const kid = await crypto.getPublicKey().then(_ => _.kid);
|
21
21
|
return new _ioReactNativeJwt.SignJWT(crypto).setPayload(payload).setProtectedHeader({
|
22
|
-
typ: "
|
22
|
+
typ: "oauth-client-attestation-pop+jwt",
|
23
23
|
kid
|
24
24
|
}).setIssuedAt().setExpirationTime("5min").sign();
|
25
25
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["z","_interopRequireWildcard","require","_ioReactNativeJwt","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","createPopToken","payload","crypto","kid","getPublicKey","then","_","SignJWT","setPayload","setProtectedHeader","typ","setIssuedAt","setExpirationTime","sign","exports","PoPPayload","object","jti","string","aud","iss"],"sourceRoot":"../../../src","sources":["utils/pop.ts"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAD,OAAA;AAA0E,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMW,cAAc,GAAG,MAAAA,CAC5BC,OAAmB,EACnBC,MAAqB,KACD;EACpB,MAAMC,GAAG,GAAG,MAAMD,MAAM,CAACE,YAAY,CAAC,CAAC,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACH,GAAG,CAAC;EAC1D,OAAO,IAAII,yBAAO,CAACL,MAAM,CAAC,CACvBM,UAAU,CAACP,OAAO,CAAC,CACnBQ,kBAAkB,CAAC;IAClBC,GAAG,EAAE,
|
1
|
+
{"version":3,"names":["z","_interopRequireWildcard","require","_ioReactNativeJwt","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","createPopToken","payload","crypto","kid","getPublicKey","then","_","SignJWT","setPayload","setProtectedHeader","typ","setIssuedAt","setExpirationTime","sign","exports","PoPPayload","object","jti","string","aud","iss"],"sourceRoot":"../../../src","sources":["utils/pop.ts"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAD,OAAA;AAA0E,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMW,cAAc,GAAG,MAAAA,CAC5BC,OAAmB,EACnBC,MAAqB,KACD;EACpB,MAAMC,GAAG,GAAG,MAAMD,MAAM,CAACE,YAAY,CAAC,CAAC,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACH,GAAG,CAAC;EAC1D,OAAO,IAAII,yBAAO,CAACL,MAAM,CAAC,CACvBM,UAAU,CAACP,OAAO,CAAC,CACnBQ,kBAAkB,CAAC;IAClBC,GAAG,EAAE,kCAAkC;IACvCP;EACF,CAAC,CAAC,CACDQ,WAAW,CAAC,CAAC,CACbC,iBAAiB,CAAC,MAAM,CAAC,CACzBC,IAAI,CAAC,CAAC;AACX,CAAC;AAACC,OAAA,CAAAd,cAAA,GAAAA,cAAA;AAGK,MAAMe,UAAU,GAAGzC,CAAC,CAAC0C,MAAM,CAAC;EACjCC,GAAG,EAAE3C,CAAC,CAAC4C,MAAM,CAAC,CAAC;EACfC,GAAG,EAAE7C,CAAC,CAAC4C,MAAM,CAAC,CAAC;EACfE,GAAG,EAAE9C,CAAC,CAAC4C,MAAM,CAAC;AAChB,CAAC,CAAC;AAACJ,OAAA,CAAAC,UAAA,GAAAA,UAAA"}
|
@@ -42,11 +42,14 @@ const WalletInstanceAttestationRequestJwt = z.object({
|
|
42
42
|
hardware_key_tag: z.string()
|
43
43
|
}))
|
44
44
|
});
|
45
|
+
|
46
|
+
// TODO: [SIW-2089] add type for Wallet Attestation in SD-JWT and MDOC format
|
47
|
+
// See https://italia.github.io/eid-wallet-it-docs/versione-corrente/en/wallet-solution.html#wallet-attestation-issuance step 18
|
45
48
|
exports.WalletInstanceAttestationRequestJwt = WalletInstanceAttestationRequestJwt;
|
46
49
|
const WalletInstanceAttestationJwt = z.object({
|
47
50
|
header: z.intersection(Jwt.shape.header, z.object({
|
48
51
|
typ: z.literal("oauth-client-attestation+jwt"),
|
49
|
-
trust_chain: z.array(z.string())
|
52
|
+
trust_chain: z.array(z.string()).optional()
|
50
53
|
})),
|
51
54
|
payload: z.intersection(Jwt.shape.payload, z.object({
|
52
55
|
sub: z.string(),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_jwk","require","z","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UnixTime","number","min","max","Jwt","object","header","alg","string","kid","typ","x5c","array","optional","trust_chain","payload","iss","iat","exp","cnf","jwk","intersection","JWK","WalletInstanceAttestationRequestJwt","shape","literal","aud","nonce","hardware_signature","integrity_assertion","hardware_key_tag","exports","WalletInstanceAttestationJwt","sub","aal","wallet_link","wallet_name","WalletAttestationResponse","wallet_attestations","wallet_attestation","format","enum"],"sourceRoot":"../../../src","sources":["wallet-instance-attestation/types.ts"],"mappings":"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
|
1
|
+
{"version":3,"names":["_jwk","require","z","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UnixTime","number","min","max","Jwt","object","header","alg","string","kid","typ","x5c","array","optional","trust_chain","payload","iss","iat","exp","cnf","jwk","intersection","JWK","WalletInstanceAttestationRequestJwt","shape","literal","aud","nonce","hardware_signature","integrity_assertion","hardware_key_tag","exports","WalletInstanceAttestationJwt","sub","aal","wallet_link","wallet_name","WalletAttestationResponse","wallet_attestations","wallet_attestation","format","enum"],"sourceRoot":"../../../src","sources":["wallet-instance-attestation/types.ts"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,CAAA,GAAAC,uBAAA,CAAAF,OAAA;AAAyB,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAF,wBAAAM,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAEzB,MAAMW,QAAQ,GAAGxB,CAAC,CAACyB,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,CAAC,CAACC,GAAG,CAAC,aAAa,CAAC;AAGrD,MAAMC,GAAG,GAAG5B,CAAC,CAAC6B,MAAM,CAAC;EACnBC,MAAM,EAAE9B,CAAC,CAAC6B,MAAM,CAAC;IACfE,GAAG,EAAE/B,CAAC,CAACgC,MAAM,CAAC,CAAC;IACfC,GAAG,EAAEjC,CAAC,CAACgC,MAAM,CAAC,CAAC;IACfE,GAAG,EAAElC,CAAC,CAACgC,MAAM,CAAC,CAAC;IACfG,GAAG,EAAEnC,CAAC,CAACoC,KAAK,CAACpC,CAAC,CAACgC,MAAM,CAAC,CAAC,CAAC,CAACK,QAAQ,CAAC,CAAC;IACnCC,WAAW,EAAEtC,CAAC,CAACoC,KAAK,CAACpC,CAAC,CAACgC,MAAM,CAAC,CAAC,CAAC,CAACK,QAAQ,CAAC;EAC5C,CAAC,CAAC;EACFE,OAAO,EAAEvC,CAAC,CAAC6B,MAAM,CAAC;IAChBW,GAAG,EAAExC,CAAC,CAACgC,MAAM,CAAC,CAAC;IACfS,GAAG,EAAEjB,QAAQ;IACbkB,GAAG,EAAElB,QAAQ;IACbmB,GAAG,EAAE3C,CAAC,CAAC6B,MAAM,CAAC;MACZe,GAAG,EAAE5C,CAAC,CAAC6C,YAAY,CACjBC,QAAG;MACH;MACA9C,CAAC,CAAC6B,MAAM,CAAC;QAAEI,GAAG,EAAEjC,CAAC,CAACgC,MAAM,CAAC;MAAE,CAAC,CAC9B;IACF,CAAC;EACH,CAAC;AACH,CAAC,CAAC;AAKK,MAAMe,mCAAmC,GAAG/C,CAAC,CAAC6B,MAAM,CAAC;EAC1DC,MAAM,EAAE9B,CAAC,CAAC6C,YAAY,CACpBjB,GAAG,CAACoB,KAAK,CAAClB,MAAM,EAChB9B,CAAC,CAAC6B,MAAM,CAAC;IACPK,GAAG,EAAElC,CAAC,CAACiD,OAAO,CAAC,YAAY;EAC7B,CAAC,CACH,CAAC;EACDV,OAAO,EAAEvC,CAAC,CAAC6C,YAAY,CACrBjB,GAAG,CAACoB,KAAK,CAACT,OAAO,EACjBvC,CAAC,CAAC6B,MAAM,CAAC;IACPqB,GAAG,EAAElD,CAAC,CAACgC,MAAM,CAAC,CAAC;IACfmB,KAAK,EAAEnD,CAAC,CAACgC,MAAM,CAAC,CAAC;IACjBoB,kBAAkB,EAAEpD,CAAC,CAACgC,MAAM,CAAC,CAAC;IAC9BqB,mBAAmB,EAAErD,CAAC,CAACgC,MAAM,CAAC,CAAC;IAC/BsB,gBAAgB,EAAEtD,CAAC,CAACgC,MAAM,CAAC;EAC7B,CAAC,CACH;AACF,CAAC,CAAC;;AAEF;AACA;AAAAuB,OAAA,CAAAR,mCAAA,GAAAA,mCAAA;AAIO,MAAMS,4BAA4B,GAAGxD,CAAC,CAAC6B,MAAM,CAAC;EACnDC,MAAM,EAAE9B,CAAC,CAAC6C,YAAY,CACpBjB,GAAG,CAACoB,KAAK,CAAClB,MAAM,EAChB9B,CAAC,CAAC6B,MAAM,CAAC;IACPK,GAAG,EAAElC,CAAC,CAACiD,OAAO,CAAC,8BAA8B,CAAC;IAC9CX,WAAW,EAAEtC,CAAC,CAACoC,KAAK,CAACpC,CAAC,CAACgC,MAAM,CAAC,CAAC,CAAC,CAACK,QAAQ,CAAC;EAC5C,CAAC,CACH,CAAC;EACDE,OAAO,EAAEvC,CAAC,CAAC6C,YAAY,CACrBjB,GAAG,CAACoB,KAAK,CAACT,OAAO,EACjBvC,CAAC,CAAC6B,MAAM,CAAC;IACP4B,GAAG,EAAEzD,CAAC,CAACgC,MAAM,CAAC,CAAC;IACf0B,GAAG,EAAE1D,CAAC,CAACgC,MAAM,CAAC,CAAC;IACf2B,WAAW,EAAE3D,CAAC,CAACgC,MAAM,CAAC,CAAC,CAACK,QAAQ,CAAC,CAAC;IAClCuB,WAAW,EAAE5D,CAAC,CAACgC,MAAM,CAAC,CAAC,CAACK,QAAQ,CAAC;EACnC,CAAC,CACH;AACF,CAAC,CAAC;AAACkB,OAAA,CAAAC,4BAAA,GAAAA,4BAAA;AAKI,MAAMK,yBAAyB,GAAG7D,CAAC,CAAC6B,MAAM,CAAC;EAChDiC,mBAAmB,EAAE9D,CAAC,CAACoC,KAAK,CAC1BpC,CAAC,CAAC6B,MAAM,CAAC;IACPkC,kBAAkB,EAAE/D,CAAC,CAACgC,MAAM,CAAC,CAAC;IAC9BgC,MAAM,EAAEhE,CAAC,CAACiE,IAAI,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC;EACjD,CAAC,CACH;AACF,CAAC,CAAC;AAACV,OAAA,CAAAM,yBAAA,GAAAA,yBAAA"}
|
@@ -1,54 +1,59 @@
|
|
1
1
|
import { generateRandomAlphaNumericString } from "../../utils/misc";
|
2
2
|
import { makeParRequest } from "../../utils/par";
|
3
|
-
import { ASSERTION_TYPE } from "./const";
|
4
3
|
import { LogLevel, Logger } from "../../utils/logging";
|
5
4
|
/**
|
6
5
|
* Ensures that the credential type requested is supported by the issuer and contained in the
|
7
6
|
* issuer configuration.
|
8
7
|
* @param issuerConf The issuer configuration returned by {@link evaluateIssuerTrust}
|
9
|
-
* @param
|
10
|
-
* @param context.wiaCryptoContext The Wallet Instance's crypto context
|
11
|
-
* @param context.walletInstanceAttestation The Wallet Instance's attestation
|
12
|
-
* @param context.redirectUri The redirect URI which is the custom URL scheme that the Wallet Instance is registered to handle
|
13
|
-
* @param context.appFetch (optional) fetch api implementation. Default: built-in fetch
|
8
|
+
* @param credentialId The credential configuration ID to be requested;
|
14
9
|
* @returns The credential definition to be used in the request which includes the format and the type and its type
|
15
10
|
*/
|
16
|
-
const selectCredentialDefinition = (issuerConf,
|
11
|
+
const selectCredentialDefinition = (issuerConf, credentialId) => {
|
17
12
|
const credential_configurations_supported = issuerConf.openid_credential_issuer.credential_configurations_supported;
|
18
|
-
const [result] = Object.keys(credential_configurations_supported).filter(e => e.includes(
|
19
|
-
credential_configuration_id:
|
20
|
-
format: credential_configurations_supported[e].format,
|
13
|
+
const [result] = Object.keys(credential_configurations_supported).filter(e => e.includes(credentialId)).map(() => ({
|
14
|
+
credential_configuration_id: credentialId,
|
21
15
|
type: "openid_credential"
|
22
16
|
}));
|
23
17
|
if (!result) {
|
24
|
-
Logger.log(LogLevel.ERROR, `Requested credential
|
25
|
-
throw new Error(`No credential support the type '${
|
18
|
+
Logger.log(LogLevel.ERROR, `Requested credential ${credentialId} is not supported by the issuer according to its configuration ${JSON.stringify(credential_configurations_supported)}`);
|
19
|
+
throw new Error(`No credential support the type '${credentialId}'`);
|
26
20
|
}
|
27
21
|
return result;
|
28
22
|
};
|
29
23
|
|
30
24
|
/**
|
31
25
|
* Ensures that the response mode requested is supported by the issuer and contained in the issuer configuration.
|
26
|
+
* When multiple credentials are provided, all of them must support the same response_mode.
|
32
27
|
* @param issuerConf The issuer configuration
|
33
|
-
* @param
|
28
|
+
* @param credentialIds The credential configuration IDs to be requested
|
34
29
|
* @returns The response mode to be used in the request, "query" for PersonIdentificationData and "form_post.jwt" for all other types.
|
35
30
|
*/
|
36
|
-
const selectResponseMode = (issuerConf,
|
31
|
+
const selectResponseMode = (issuerConf, credentialIds) => {
|
37
32
|
const responseModeSupported = issuerConf.oauth_authorization_server.response_modes_supported;
|
38
|
-
const
|
39
|
-
|
33
|
+
const responseModeSet = new Set();
|
34
|
+
for (const credentialId of credentialIds) {
|
35
|
+
responseModeSet.add(credentialId.match(/PersonIdentificationData/i) ? "query" : "form_post.jwt");
|
36
|
+
}
|
37
|
+
if (responseModeSet.size !== 1) {
|
38
|
+
Logger.log(LogLevel.ERROR, `${credentialIds} have incompatible response_mode: ${[...responseModeSet.values()]}`);
|
39
|
+
throw new Error("Requested credentials have incompatible response_mode and cannot be requested with the same PAR request");
|
40
|
+
}
|
41
|
+
const [responseMode] = responseModeSet.values();
|
42
|
+
Logger.log(LogLevel.DEBUG, `Selected response mode ${responseMode} for credential IDs ${credentialIds}`);
|
40
43
|
if (!responseModeSupported.includes(responseMode)) {
|
41
44
|
Logger.log(LogLevel.ERROR, `Requested response mode ${responseMode} is not supported by the issuer according to its configuration ${JSON.stringify(responseModeSupported)}`);
|
42
|
-
throw new Error(`No response mode support
|
45
|
+
throw new Error(`No response mode support for IDs '${credentialIds}'`);
|
43
46
|
}
|
44
47
|
return responseMode;
|
45
48
|
};
|
46
49
|
|
47
50
|
/**
|
48
51
|
* WARNING: This function must be called after {@link evaluateIssuerTrust} and {@link startFlow}. The next steam is {@link compeUserAuthorizationWithQueryMode} or {@link compeUserAuthorizationWithFormPostJwtMode}
|
52
|
+
*
|
49
53
|
* Creates and sends a PAR request to the /as/par endpoint of the authorization server.
|
50
54
|
* This starts the authentication flow to obtain an access token.
|
51
|
-
* This token enables the Wallet Instance to request a digital credential from the Credential Endpoint of the Credential Issuer
|
55
|
+
* This token enables the Wallet Instance to request a digital credential from the Credential Endpoint of the Credential Issuer; when multiple credential types are passed,
|
56
|
+
* it is possible to use the same access token for the issuance of all requested credentials.
|
52
57
|
* This is an HTTP POST request containing the Wallet Instance identifier (client id), the code challenge and challenge method as specified by PKCE according to RFC 9126
|
53
58
|
* along with the WTE and its proof of possession (WTE-PoP).
|
54
59
|
* Additionally, it includes a request object, which is a signed JWT encapsulating the type of digital credential requested (authorization_details),
|
@@ -58,11 +63,12 @@ const selectResponseMode = (issuerConf, credentialType) => {
|
|
58
63
|
* to the Wallet Instance's Token Endpoint to obtain the Access Token, and the redirectUri of the Wallet Instance where the Authorization Response
|
59
64
|
* should be delivered. The redirect is achived by using a custom URL scheme that the Wallet Instance is registered to handle.
|
60
65
|
* @param issuerConf The issuer configuration
|
61
|
-
* @param
|
66
|
+
* @param credentialIds The credential configuration IDs to be requested
|
62
67
|
* @param ctx The context object containing the Wallet Instance's cryptographic context, the Wallet Instance's attestation, the redirect URI and the fetch implementation
|
63
|
-
* @returns The URI to which the end user should be redirected to start the authentication flow, along with the client id, the code verifier and the credential definition
|
68
|
+
* @returns The URI to which the end user should be redirected to start the authentication flow, along with the client id, the code verifier and the credential definition(s)
|
64
69
|
*/
|
65
|
-
|
70
|
+
|
71
|
+
export const startUserAuthorization = async (issuerConf, credentialIds, ctx) => {
|
66
72
|
const {
|
67
73
|
wiaCryptoContext,
|
68
74
|
walletInstanceAttestation,
|
@@ -76,13 +82,21 @@ export const startUserAuthorization = async (issuerConf, credentialType, ctx) =>
|
|
76
82
|
}
|
77
83
|
const codeVerifier = generateRandomAlphaNumericString(64);
|
78
84
|
const parEndpoint = issuerConf.oauth_authorization_server.pushed_authorization_request_endpoint;
|
79
|
-
const
|
80
|
-
const
|
85
|
+
const aud = issuerConf.openid_credential_issuer.credential_issuer;
|
86
|
+
const credentialDefinition = credentialIds.map(c => selectCredentialDefinition(issuerConf, c));
|
87
|
+
const responseMode = selectResponseMode(issuerConf, credentialIds);
|
81
88
|
const getPar = makeParRequest({
|
82
89
|
wiaCryptoContext,
|
83
90
|
appFetch
|
84
91
|
});
|
85
|
-
const issuerRequestUri = await getPar(
|
92
|
+
const issuerRequestUri = await getPar(parEndpoint, walletInstanceAttestation, {
|
93
|
+
aud,
|
94
|
+
clientId,
|
95
|
+
codeVerifier,
|
96
|
+
redirectUri,
|
97
|
+
responseMode,
|
98
|
+
authorizationDetails: credentialDefinition
|
99
|
+
});
|
86
100
|
return {
|
87
101
|
issuerRequestUri,
|
88
102
|
clientId,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["generateRandomAlphaNumericString","makeParRequest","
|
1
|
+
{"version":3,"names":["generateRandomAlphaNumericString","makeParRequest","LogLevel","Logger","selectCredentialDefinition","issuerConf","credentialId","credential_configurations_supported","openid_credential_issuer","result","Object","keys","filter","e","includes","map","credential_configuration_id","type","log","ERROR","JSON","stringify","Error","selectResponseMode","credentialIds","responseModeSupported","oauth_authorization_server","response_modes_supported","responseModeSet","Set","add","match","size","values","responseMode","DEBUG","startUserAuthorization","ctx","wiaCryptoContext","walletInstanceAttestation","redirectUri","appFetch","fetch","clientId","getPublicKey","then","_","kid","codeVerifier","parEndpoint","pushed_authorization_request_endpoint","aud","credential_issuer","credentialDefinition","c","getPar","issuerRequestUri","authorizationDetails"],"sourceRoot":"../../../../src","sources":["credential/issuance/03-start-user-authorization.ts"],"mappings":"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"}
|