@sphereon/did-auth-siop-adapter 0.16.1-next.4 → 0.16.1-next.402
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/dist/DidJwtAdapter.d.ts +1 -2
- package/dist/DidJwtAdapter.d.ts.map +1 -1
- package/dist/DidJwtAdapter.js +6 -0
- package/dist/DidJwtAdapter.js.map +1 -1
- package/dist/did/DIDResolution.d.ts.map +1 -1
- package/dist/did/DIDResolution.js +6 -1
- package/dist/did/DIDResolution.js.map +1 -1
- package/dist/did/DidJWT.d.ts.map +1 -1
- package/dist/did/DidJWT.js +26 -10
- package/dist/did/DidJWT.js.map +1 -1
- package/dist/did/LinkedDomainValidations.d.ts.map +1 -1
- package/dist/did/LinkedDomainValidations.js +5 -1
- package/dist/did/LinkedDomainValidations.js.map +1 -1
- package/dist/types/SIOP.types.d.ts +1 -1
- package/dist/types/SIOP.types.d.ts.map +1 -1
- package/lib/DidJwtAdapter.ts +7 -2
- package/lib/did/DIDResolution.ts +11 -6
- package/lib/did/DidJWT.ts +23 -4
- package/lib/did/LinkedDomainValidations.ts +6 -3
- package/lib/types/SIOP.types.ts +1 -1
- package/package.json +5 -5
package/dist/DidJwtAdapter.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { JwtIssuerWithContext } from '@sphereon/did-auth-siop';
|
|
2
|
-
import { JwtVerifier } from '@sphereon/did-auth-siop';
|
|
1
|
+
import { JwtIssuerWithContext, JwtVerifier } from '@sphereon/did-auth-siop';
|
|
3
2
|
import { JwtHeader, JwtPayload } from '@sphereon/oid4vc-common';
|
|
4
3
|
import { Resolvable } from 'did-resolver';
|
|
5
4
|
import { ExternalSignature, ExternalVerification, InternalSignature, InternalVerification, SuppliedSignature } from './types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DidJwtAdapter.d.ts","sourceRoot":"","sources":["../lib/DidJwtAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+C,oBAAoB,
|
|
1
|
+
{"version":3,"file":"DidJwtAdapter.d.ts","sourceRoot":"","sources":["../lib/DidJwtAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+C,oBAAoB,EAAE,WAAW,EAAwB,MAAM,yBAAyB,CAAA;AAC9I,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,OAAO,EAAqB,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhJ,eAAO,MAAM,mBAAmB,gBACjB,WAAW,OACnB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,WACnD;IACP,YAAY,EAAE,oBAAoB,GAAG,oBAAoB,CAAA;IACzD,QAAQ,EAAE,UAAU,CAAA;CACrB,KACA,QAAQ,OAAO,CAkCjB,CAAA;AAED,eAAO,MAAM,mBAAmB,cACnB,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB,aACzD,oBAAoB,OAC1B;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,KAC9C,QAAQ,MAAM,CAWhB,CAAA"}
|
package/dist/DidJwtAdapter.js
CHANGED
|
@@ -20,9 +20,15 @@ const verfiyDidJwtAdapter = (jwtVerifier, jwt, options) => __awaiter(void 0, voi
|
|
|
20
20
|
if (jwtVerifier.type === 'request-object' && ((_g = jwt.payload.client_id) === null || _g === void 0 ? void 0 : _g.startsWith('did:'))) {
|
|
21
21
|
const authorizationRequestPayload = jwt.payload;
|
|
22
22
|
if (((_h = options.verification) === null || _h === void 0 ? void 0 : _h.checkLinkedDomain) && options.verification.checkLinkedDomain != types_1.CheckLinkedDomain.NEVER) {
|
|
23
|
+
if (!authorizationRequestPayload.client_id) {
|
|
24
|
+
return Promise.reject(Error('missing client_id from AuthorizationRequestPayload'));
|
|
25
|
+
}
|
|
23
26
|
yield (0, did_1.validateLinkedDomainWithDid)(authorizationRequestPayload.client_id, options.verification);
|
|
24
27
|
}
|
|
25
28
|
else if (!((_j = options.verification) === null || _j === void 0 ? void 0 : _j.checkLinkedDomain) && options.verification.wellknownDIDVerifyCallback) {
|
|
29
|
+
if (!authorizationRequestPayload.client_id) {
|
|
30
|
+
return Promise.reject(Error('missing client_id from AuthorizationRequestPayload'));
|
|
31
|
+
}
|
|
26
32
|
yield (0, did_1.validateLinkedDomainWithDid)(authorizationRequestPayload.client_id, options.verification);
|
|
27
33
|
}
|
|
28
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DidJwtAdapter.js","sourceRoot":"","sources":["../lib/DidJwtAdapter.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"DidJwtAdapter.js","sourceRoot":"","sources":["../lib/DidJwtAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DIDResolution.d.ts","sourceRoot":"","sources":["../../lib/did/DIDResolution.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwD,UAAU,
|
|
1
|
+
{"version":3,"file":"DIDResolution.d.ts","sourceRoot":"","sources":["../../lib/did/DIDResolution.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwD,UAAU,EAA8B,MAAM,cAAc,CAAA;AAE3H,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAInD,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,CAoCzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,UAAU,EAC1B,2BAA2B,EAAE,MAAM,EAAE,GAAG,MAAM,EAC9C,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GACnC,UAAU,CAmCZ;AAED,wBAAgB,kBAAkB,CAAC,2BAA2B,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,MAAM,EAAE,CAQ/H;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAa9F"}
|
|
@@ -77,11 +77,16 @@ function getResolverUnion(customResolver, subjectSyntaxTypesSupported, resolverM
|
|
|
77
77
|
let methodResolver;
|
|
78
78
|
if (!resolverMap.has(dm) || resolverMap.get(dm) === null) {
|
|
79
79
|
methodResolver = (0, did_uni_client_1.getUniResolver)((0, index_1.getMethodFromDid)(dm));
|
|
80
|
+
if (methodResolver) {
|
|
81
|
+
uniResolvers.push(methodResolver);
|
|
82
|
+
}
|
|
80
83
|
}
|
|
81
84
|
else {
|
|
82
85
|
methodResolver = resolverMap.get(dm);
|
|
86
|
+
if (methodResolver) {
|
|
87
|
+
uniResolvers.push({ [dm]: methodResolver.resolve });
|
|
88
|
+
}
|
|
83
89
|
}
|
|
84
|
-
uniResolvers.push(methodResolver);
|
|
85
90
|
});
|
|
86
91
|
return subjectTypes.indexOf(did_auth_siop_1.SubjectSyntaxTypesSupportedValues.DID.valueOf()) !== -1
|
|
87
92
|
? new did_resolver_1.Resolver(...Object.assign({ fallbackResolver }, uniResolvers))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DIDResolution.js","sourceRoot":"","sources":["../../lib/did/DIDResolution.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2DAAkG;AAClG,6DAAsE;AACtE,+
|
|
1
|
+
{"version":3,"file":"DIDResolution.js","sourceRoot":"","sources":["../../lib/did/DIDResolution.ts"],"names":[],"mappings":"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"}
|
package/dist/did/DidJWT.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DidJWT.d.ts","sourceRoot":"","sources":["../../lib/did/DidJWT.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DidJWT.d.ts","sourceRoot":"","sources":["../../lib/did/DidJWT.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EAEd,oBAAoB,EAKpB,WAAW,EACZ,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAOL,SAAS,EACT,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,MAAM,EAEP,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAElF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAErH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,EAC5B,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,UAAU,EACvD,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GACzB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB,mBAkBrI;AAED,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB,mBA+BjJ;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,cAAc,GAAG,oBAAoB,EAC9C,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,MAAM,EACX,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC,CAajB;AAkED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,UAWtC;AASD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAgBpF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAM5D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAYpD;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,UAO9D"}
|
package/dist/did/DidJWT.js
CHANGED
|
@@ -11,7 +11,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.toSIOPRegistrationDidMethod = exports.getMethodFromDid = exports.isIssSelfIssued = exports.getSubDidFromPayload = exports.getAudience = exports.signDidJwtInternal = exports.signRequestObjectPayload = exports.signIDTokenPayload = exports.createDidJWT = exports.verifyDidJWT = void 0;
|
|
13
13
|
const did_auth_siop_1 = require("@sphereon/did-auth-siop");
|
|
14
|
-
const did_auth_siop_2 = require("@sphereon/did-auth-siop");
|
|
15
14
|
const oid4vc_common_1 = require("@sphereon/oid4vc-common");
|
|
16
15
|
const did_jwt_1 = require("did-jwt");
|
|
17
16
|
const helpers_1 = require("../helpers");
|
|
@@ -68,12 +67,18 @@ exports.createDidJWT = createDidJWT;
|
|
|
68
67
|
function signIDTokenPayload(payload, signature) {
|
|
69
68
|
return __awaiter(this, void 0, void 0, function* () {
|
|
70
69
|
if ((0, helpers_1.isInternalSignature)(signature)) {
|
|
70
|
+
if (!signature.kid) {
|
|
71
|
+
return Promise.reject(Error('missing kid from signature'));
|
|
72
|
+
}
|
|
71
73
|
return signDidJwtInternal(payload, payload.issuer, signature.hexPrivateKey, signature.alg, signature.kid, signature.customJwtSigner);
|
|
72
74
|
}
|
|
73
75
|
else if ((0, helpers_1.isExternalSignature)(signature)) {
|
|
74
76
|
return signDidJwtExternal(payload, signature.signatureUri, signature.authZToken, signature.alg, signature.kid);
|
|
75
77
|
}
|
|
76
78
|
else if ((0, helpers_1.isSuppliedSignature)(signature)) {
|
|
79
|
+
if (!signature.kid) {
|
|
80
|
+
return Promise.reject(Error('missing kid from signature'));
|
|
81
|
+
}
|
|
77
82
|
return signDidJwtSupplied(payload, payload.issuer, signature.signature, signature.alg, signature.kid);
|
|
78
83
|
}
|
|
79
84
|
else {
|
|
@@ -98,12 +103,18 @@ function signRequestObjectPayload(payload, signature) {
|
|
|
98
103
|
payload.sub = signature.did;
|
|
99
104
|
}
|
|
100
105
|
if ((0, helpers_1.isInternalSignature)(signature)) {
|
|
106
|
+
if (!signature.kid) {
|
|
107
|
+
return Promise.reject(Error('missing kid from signature'));
|
|
108
|
+
}
|
|
101
109
|
return signDidJwtInternal(payload, issuer, signature.hexPrivateKey, signature.alg, signature.kid, signature.customJwtSigner);
|
|
102
110
|
}
|
|
103
111
|
else if ((0, helpers_1.isExternalSignature)(signature)) {
|
|
104
112
|
return signDidJwtExternal(payload, signature.signatureUri, signature.authZToken, signature.alg, signature.kid);
|
|
105
113
|
}
|
|
106
114
|
else if ((0, helpers_1.isSuppliedSignature)(signature)) {
|
|
115
|
+
if (!signature.kid) {
|
|
116
|
+
return Promise.reject(Error('missing kid from signature'));
|
|
117
|
+
}
|
|
107
118
|
return signDidJwtSupplied(payload, issuer, signature.signature, signature.alg, signature.kid);
|
|
108
119
|
}
|
|
109
120
|
else {
|
|
@@ -122,7 +133,7 @@ function signDidJwtInternal(payload, issuer, hexPrivateKey, alg, kid, customJwtS
|
|
|
122
133
|
const options = {
|
|
123
134
|
issuer,
|
|
124
135
|
signer,
|
|
125
|
-
expiresIn:
|
|
136
|
+
expiresIn: did_auth_siop_1.DEFAULT_EXPIRATION_TIME,
|
|
126
137
|
};
|
|
127
138
|
return yield createDidJWT(Object.assign({}, payload), options, header);
|
|
128
139
|
});
|
|
@@ -133,12 +144,15 @@ function signDidJwtExternal(payload, signatureUri, authZToken, alg, kid) {
|
|
|
133
144
|
const body = {
|
|
134
145
|
issuer: payload.iss && payload.iss.includes('did:') ? payload.iss : payload.sub,
|
|
135
146
|
payload,
|
|
136
|
-
expiresIn:
|
|
147
|
+
expiresIn: did_auth_siop_1.DEFAULT_EXPIRATION_TIME,
|
|
137
148
|
alg,
|
|
138
|
-
selfIssued: payload.iss.includes(
|
|
149
|
+
selfIssued: payload.iss && payload.iss.includes(did_auth_siop_1.ResponseIss.SELF_ISSUED_V2) ? payload.iss : undefined,
|
|
139
150
|
kid,
|
|
140
151
|
};
|
|
141
152
|
const response = yield (0, did_auth_siop_1.post)(signatureUri, JSON.stringify(body), { bearerToken: authZToken });
|
|
153
|
+
if (!response.successBody) {
|
|
154
|
+
return Promise.reject(Error('the siop SignatureResponse does not have a successBody'));
|
|
155
|
+
}
|
|
142
156
|
return response.successBody.jws;
|
|
143
157
|
});
|
|
144
158
|
}
|
|
@@ -151,7 +165,7 @@ function signDidJwtSupplied(payload, issuer, signer, alg, kid) {
|
|
|
151
165
|
const options = {
|
|
152
166
|
issuer,
|
|
153
167
|
signer,
|
|
154
|
-
expiresIn:
|
|
168
|
+
expiresIn: did_auth_siop_1.DEFAULT_EXPIRATION_TIME,
|
|
155
169
|
};
|
|
156
170
|
return yield createDidJWT(Object.assign({}, payload), options, header);
|
|
157
171
|
});
|
|
@@ -180,13 +194,13 @@ const determineSigner = (alg, hexPrivateKey, customSigner) => {
|
|
|
180
194
|
function getAudience(jwt) {
|
|
181
195
|
const { payload } = (0, did_jwt_1.decodeJWT)(jwt);
|
|
182
196
|
if (!payload) {
|
|
183
|
-
throw new Error(
|
|
197
|
+
throw new Error(did_auth_siop_1.SIOPErrors.NO_AUDIENCE);
|
|
184
198
|
}
|
|
185
199
|
else if (!payload.aud) {
|
|
186
200
|
return undefined;
|
|
187
201
|
}
|
|
188
202
|
else if (Array.isArray(payload.aud)) {
|
|
189
|
-
throw new Error(
|
|
203
|
+
throw new Error(did_auth_siop_1.SIOPErrors.INVALID_AUDIENCE);
|
|
190
204
|
}
|
|
191
205
|
return payload.aud;
|
|
192
206
|
}
|
|
@@ -215,19 +229,21 @@ function getSubDidFromPayload(payload, header) {
|
|
|
215
229
|
}
|
|
216
230
|
exports.getSubDidFromPayload = getSubDidFromPayload;
|
|
217
231
|
function isIssSelfIssued(payload) {
|
|
218
|
-
return payload.iss
|
|
232
|
+
return ((payload.iss && payload.iss.includes(did_auth_siop_1.ResponseIss.SELF_ISSUED_V1)) ||
|
|
233
|
+
(payload.iss && payload.iss.includes(did_auth_siop_1.ResponseIss.SELF_ISSUED_V2)) ||
|
|
234
|
+
payload.iss === payload.sub);
|
|
219
235
|
}
|
|
220
236
|
exports.isIssSelfIssued = isIssSelfIssued;
|
|
221
237
|
function getMethodFromDid(did) {
|
|
222
238
|
if (!did) {
|
|
223
|
-
throw new Error(
|
|
239
|
+
throw new Error(did_auth_siop_1.SIOPErrors.BAD_PARAMS);
|
|
224
240
|
}
|
|
225
241
|
const split = did.split(':');
|
|
226
242
|
if (split.length == 1 && did.length > 0) {
|
|
227
243
|
return did;
|
|
228
244
|
}
|
|
229
245
|
else if (!did.startsWith('did:') || split.length < 2) {
|
|
230
|
-
throw new Error(
|
|
246
|
+
throw new Error(did_auth_siop_1.SIOPErrors.BAD_PARAMS);
|
|
231
247
|
}
|
|
232
248
|
return split[1];
|
|
233
249
|
}
|
package/dist/did/DidJWT.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DidJWT.js","sourceRoot":"","sources":["../../lib/did/DidJWT.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"DidJWT.js","sourceRoot":"","sources":["../../lib/did/DidJWT.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedDomainValidations.d.ts","sourceRoot":"","sources":["../../lib/did/LinkedDomainValidations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqB,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAiD3F,wBAAsB,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,oBAAoB,GAAG,oBAAoB,
|
|
1
|
+
{"version":3,"file":"LinkedDomainValidations.d.ts","sourceRoot":"","sources":["../../lib/did/LinkedDomainValidations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqB,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAiD3F,wBAAsB,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,oBAAoB,GAAG,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCvI"}
|
|
@@ -15,11 +15,12 @@ const types_1 = require("./../types/");
|
|
|
15
15
|
const DIDResolution_1 = require("./DIDResolution");
|
|
16
16
|
const DidJWT_1 = require("./DidJWT");
|
|
17
17
|
function getValidationErrorMessages(validationResult) {
|
|
18
|
+
var _a;
|
|
18
19
|
const messages = [];
|
|
19
20
|
if (validationResult.message) {
|
|
20
21
|
messages.push(validationResult.message);
|
|
21
22
|
}
|
|
22
|
-
if (validationResult === null || validationResult === void 0 ? void 0 : validationResult.endpointDescriptors.length) {
|
|
23
|
+
if ((_a = validationResult === null || validationResult === void 0 ? void 0 : validationResult.endpointDescriptors) === null || _a === void 0 ? void 0 : _a.length) {
|
|
23
24
|
for (const endpointDescriptor of validationResult.endpointDescriptors) {
|
|
24
25
|
if (endpointDescriptor.message) {
|
|
25
26
|
messages.push(endpointDescriptor.message);
|
|
@@ -72,6 +73,9 @@ function validateLinkedDomainWithDid(did, verification) {
|
|
|
72
73
|
return;
|
|
73
74
|
}
|
|
74
75
|
try {
|
|
76
|
+
if (!wellknownDIDVerifyCallback) {
|
|
77
|
+
return Promise.reject(Error('wellknownDIDVerifyCallback is required for checkWellKnownDid'));
|
|
78
|
+
}
|
|
75
79
|
const validationResult = yield checkWellKnownDid({ didDocument, verifyCallback: wellknownDIDVerifyCallback });
|
|
76
80
|
if (validationResult.status === wellknown_dids_client_1.ValidationStatusEnum.INVALID) {
|
|
77
81
|
const validationErrorMessages = getValidationErrorMessages(validationResult);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedDomainValidations.js","sourceRoot":"","sources":["../../lib/did/LinkedDomainValidations.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAAiJ;AAIjJ,uCAA2F;AAC3F,mDAAoD;AACpD,qCAAwE;AAExE,SAAS,0BAA0B,CAAC,gBAA0C
|
|
1
|
+
{"version":3,"file":"LinkedDomainValidations.js","sourceRoot":"","sources":["../../lib/did/LinkedDomainValidations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SIOP.types.d.ts","sourceRoot":"","sources":["../../lib/types/SIOP.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,cAAc,IAAI,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,oBAAY,iBAAiB;IAC3B,KAAK,UAAU,CAAE,yCAAyC;IAC1D,UAAU,eAAe,CAAE,sGAAsG;IACjI,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAA;IACrB,GAAG,EAAE,MAAM,CAAA;IAEX,GAAG,EAAE,WAAW,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,KAAK,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,CAAA;IAE1E,GAAG,EAAE,WAAW,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,
|
|
1
|
+
{"version":3,"file":"SIOP.types.d.ts","sourceRoot":"","sources":["../../lib/types/SIOP.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,cAAc,IAAI,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,oBAAY,iBAAiB;IAC3B,KAAK,UAAU,CAAE,yCAAyC;IAC1D,UAAU,eAAe,CAAE,sGAAsG;IACjI,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAA;IACrB,GAAG,EAAE,MAAM,CAAA;IAEX,GAAG,EAAE,WAAW,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,KAAK,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,CAAA;IAE1E,GAAG,EAAE,WAAW,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,GAAG,EAAE,WAAW,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,oBAAY,gBAAgB;IAC1B,QAAQ,IAAA;IACR,QAAQ,IAAA;CACT;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AACD,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,KAAK,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,CAAA;AAEpF,MAAM,WAAW,YAAY;IAC3B,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,0BAA0B,CAAC,EAAE,0BAA0B,CAAA;IACvD,WAAW,EAAE,WAAW,CAAA;CACzB;AAED,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAA;AAE/C,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAChC,QAAQ,CAAC,EAAE,UAAU,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAA;CACvC"}
|
package/lib/DidJwtAdapter.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { AuthorizationRequestPayload, IDTokenPayload, JwtIssuerWithContext, RequestObjectPayload } from '@sphereon/did-auth-siop'
|
|
2
|
-
import { JwtVerifier } from '@sphereon/did-auth-siop'
|
|
1
|
+
import { AuthorizationRequestPayload, IDTokenPayload, JwtIssuerWithContext, JwtVerifier, RequestObjectPayload } from '@sphereon/did-auth-siop'
|
|
3
2
|
import { JwtHeader, JwtPayload } from '@sphereon/oid4vc-common'
|
|
4
3
|
import { Resolvable } from 'did-resolver'
|
|
5
4
|
|
|
@@ -22,8 +21,14 @@ export const verfiyDidJwtAdapter = async (
|
|
|
22
21
|
if (jwtVerifier.type === 'request-object' && (jwt.payload as JwtPayload & { client_id?: string }).client_id?.startsWith('did:')) {
|
|
23
22
|
const authorizationRequestPayload = jwt.payload as AuthorizationRequestPayload
|
|
24
23
|
if (options.verification?.checkLinkedDomain && options.verification.checkLinkedDomain != CheckLinkedDomain.NEVER) {
|
|
24
|
+
if (!authorizationRequestPayload.client_id) {
|
|
25
|
+
return Promise.reject(Error('missing client_id from AuthorizationRequestPayload'))
|
|
26
|
+
}
|
|
25
27
|
await validateLinkedDomainWithDid(authorizationRequestPayload.client_id, options.verification)
|
|
26
28
|
} else if (!options.verification?.checkLinkedDomain && options.verification.wellknownDIDVerifyCallback) {
|
|
29
|
+
if (!authorizationRequestPayload.client_id) {
|
|
30
|
+
return Promise.reject(Error('missing client_id from AuthorizationRequestPayload'))
|
|
31
|
+
}
|
|
27
32
|
await validateLinkedDomainWithDid(authorizationRequestPayload.client_id, options.verification)
|
|
28
33
|
}
|
|
29
34
|
}
|
package/lib/did/DIDResolution.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SubjectIdentifierType, SubjectSyntaxTypesSupportedValues } from '@sphereon/did-auth-siop'
|
|
2
2
|
import { getUniResolver, UniResolver } from '@sphereon/did-uni-client'
|
|
3
|
-
import { DIDResolutionOptions, DIDResolutionResult, ParsedDID, Resolvable, Resolver } from 'did-resolver'
|
|
3
|
+
import { DIDResolutionOptions, DIDResolutionResult, ParsedDID, Resolvable, Resolver, ResolverRegistry } from 'did-resolver'
|
|
4
4
|
|
|
5
5
|
import { DIDDocument, ResolveOpts } from '../types'
|
|
6
6
|
|
|
@@ -21,7 +21,7 @@ export function getResolver(opts: ResolveOpts): Resolvable {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
const uniResolvers: {
|
|
24
|
-
[p: string]: (did: string, _parsed: ParsedDID, _didResolver:
|
|
24
|
+
[p: string]: (did: string, _parsed: ParsedDID, _didResolver: Resolvable, _options: DIDResolutionOptions) => Promise<DIDResolutionResult>
|
|
25
25
|
}[] = []
|
|
26
26
|
if (opts.subjectSyntaxTypesSupported.indexOf(SubjectIdentifierType.DID) === -1) {
|
|
27
27
|
const specificDidMethods = opts.subjectSyntaxTypesSupported.filter((sst) => sst.includes('did:'))
|
|
@@ -65,7 +65,7 @@ export function getResolverUnion(
|
|
|
65
65
|
}
|
|
66
66
|
const fallbackResolver: Resolvable = customResolver ? customResolver : new UniResolver()
|
|
67
67
|
const uniResolvers: {
|
|
68
|
-
[p: string]: (did: string, _parsed: ParsedDID, _didResolver:
|
|
68
|
+
[p: string]: (did: string, _parsed: ParsedDID, _didResolver: Resolvable, _options: DIDResolutionOptions) => Promise<DIDResolutionResult>
|
|
69
69
|
}[] = []
|
|
70
70
|
const subjectTypes: string[] = []
|
|
71
71
|
if (subjectSyntaxTypesSupported) {
|
|
@@ -78,13 +78,18 @@ export function getResolverUnion(
|
|
|
78
78
|
}
|
|
79
79
|
const specificDidMethods = subjectTypes.filter((sst) => !!sst && sst.startsWith('did:'))
|
|
80
80
|
specificDidMethods.forEach((dm) => {
|
|
81
|
-
let methodResolver
|
|
81
|
+
let methodResolver: ResolverRegistry | Resolvable | undefined
|
|
82
82
|
if (!resolverMap.has(dm) || resolverMap.get(dm) === null) {
|
|
83
83
|
methodResolver = getUniResolver(getMethodFromDid(dm))
|
|
84
|
+
if (methodResolver) {
|
|
85
|
+
uniResolvers.push(methodResolver)
|
|
86
|
+
}
|
|
84
87
|
} else {
|
|
85
88
|
methodResolver = resolverMap.get(dm)
|
|
89
|
+
if (methodResolver) {
|
|
90
|
+
uniResolvers.push({ [dm]: methodResolver.resolve })
|
|
91
|
+
}
|
|
86
92
|
}
|
|
87
|
-
uniResolvers.push(methodResolver)
|
|
88
93
|
})
|
|
89
94
|
return subjectTypes.indexOf(SubjectSyntaxTypesSupportedValues.DID.valueOf()) !== -1
|
|
90
95
|
? new Resolver(...{ fallbackResolver, ...uniResolvers })
|
|
@@ -113,5 +118,5 @@ export async function resolveDidDocument(did: string, opts?: ResolveOpts): Promi
|
|
|
113
118
|
// todo: This looks like a bug. It seems that sometimes we get back a DID document directly instead of a did resolution results
|
|
114
119
|
return result as unknown as DIDDocument
|
|
115
120
|
}
|
|
116
|
-
return result.didDocument
|
|
121
|
+
return result.didDocument as DIDDocument
|
|
117
122
|
}
|
package/lib/did/DidJWT.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { post } from '@sphereon/did-auth-siop'
|
|
2
1
|
import {
|
|
3
2
|
DEFAULT_EXPIRATION_TIME,
|
|
4
3
|
IDTokenPayload,
|
|
4
|
+
post,
|
|
5
5
|
RequestObjectPayload,
|
|
6
6
|
ResponseIss,
|
|
7
7
|
SignatureResponse,
|
|
@@ -81,10 +81,16 @@ export async function createDidJWT(
|
|
|
81
81
|
|
|
82
82
|
export async function signIDTokenPayload(payload: IDTokenPayload, signature: InternalSignature | ExternalSignature | SuppliedSignature) {
|
|
83
83
|
if (isInternalSignature(signature)) {
|
|
84
|
+
if (!signature.kid) {
|
|
85
|
+
return Promise.reject(Error('missing kid from signature'))
|
|
86
|
+
}
|
|
84
87
|
return signDidJwtInternal(payload, payload.issuer, signature.hexPrivateKey, signature.alg, signature.kid, signature.customJwtSigner)
|
|
85
88
|
} else if (isExternalSignature(signature)) {
|
|
86
89
|
return signDidJwtExternal(payload, signature.signatureUri, signature.authZToken, signature.alg, signature.kid)
|
|
87
90
|
} else if (isSuppliedSignature(signature)) {
|
|
91
|
+
if (!signature.kid) {
|
|
92
|
+
return Promise.reject(Error('missing kid from signature'))
|
|
93
|
+
}
|
|
88
94
|
return signDidJwtSupplied(payload, payload.issuer, signature.signature, signature.alg, signature.kid)
|
|
89
95
|
} else {
|
|
90
96
|
throw new Error(
|
|
@@ -108,10 +114,16 @@ export async function signRequestObjectPayload(payload: RequestObjectPayload, si
|
|
|
108
114
|
payload.sub = signature.did
|
|
109
115
|
}
|
|
110
116
|
if (isInternalSignature(signature)) {
|
|
117
|
+
if (!signature.kid) {
|
|
118
|
+
return Promise.reject(Error('missing kid from signature'))
|
|
119
|
+
}
|
|
111
120
|
return signDidJwtInternal(payload, issuer, signature.hexPrivateKey, signature.alg, signature.kid, signature.customJwtSigner)
|
|
112
121
|
} else if (isExternalSignature(signature)) {
|
|
113
122
|
return signDidJwtExternal(payload, signature.signatureUri, signature.authZToken, signature.alg, signature.kid)
|
|
114
123
|
} else if (isSuppliedSignature(signature)) {
|
|
124
|
+
if (!signature.kid) {
|
|
125
|
+
return Promise.reject(Error('missing kid from signature'))
|
|
126
|
+
}
|
|
115
127
|
return signDidJwtSupplied(payload, issuer, signature.signature, signature.alg, signature.kid)
|
|
116
128
|
} else {
|
|
117
129
|
throw new Error(
|
|
@@ -154,11 +166,14 @@ async function signDidJwtExternal(
|
|
|
154
166
|
payload,
|
|
155
167
|
expiresIn: DEFAULT_EXPIRATION_TIME,
|
|
156
168
|
alg,
|
|
157
|
-
selfIssued: payload.iss.includes(ResponseIss.SELF_ISSUED_V2) ? payload.iss : undefined,
|
|
169
|
+
selfIssued: payload.iss && payload.iss.includes(ResponseIss.SELF_ISSUED_V2) ? payload.iss : undefined,
|
|
158
170
|
kid,
|
|
159
171
|
}
|
|
160
172
|
|
|
161
173
|
const response: SIOPResonse<SignatureResponse> = await post(signatureUri, JSON.stringify(body), { bearerToken: authZToken })
|
|
174
|
+
if (!response.successBody) {
|
|
175
|
+
return Promise.reject(Error('the siop SignatureResponse does not have a successBody'))
|
|
176
|
+
}
|
|
162
177
|
return response.successBody.jws
|
|
163
178
|
}
|
|
164
179
|
|
|
@@ -238,11 +253,15 @@ export function getSubDidFromPayload(payload: JWTPayload, header?: JWTHeader): s
|
|
|
238
253
|
return did
|
|
239
254
|
}
|
|
240
255
|
}
|
|
241
|
-
return payload.sub
|
|
256
|
+
return payload.sub!
|
|
242
257
|
}
|
|
243
258
|
|
|
244
259
|
export function isIssSelfIssued(payload: JWTPayload): boolean {
|
|
245
|
-
return
|
|
260
|
+
return (
|
|
261
|
+
(payload.iss && payload.iss.includes(ResponseIss.SELF_ISSUED_V1)) ||
|
|
262
|
+
(payload.iss && payload.iss.includes(ResponseIss.SELF_ISSUED_V2)) ||
|
|
263
|
+
payload.iss === payload.sub
|
|
264
|
+
)
|
|
246
265
|
}
|
|
247
266
|
|
|
248
267
|
export function getMethodFromDid(did: string): string {
|
|
@@ -11,7 +11,7 @@ function getValidationErrorMessages(validationResult: IDomainLinkageValidation):
|
|
|
11
11
|
if (validationResult.message) {
|
|
12
12
|
messages.push(validationResult.message)
|
|
13
13
|
}
|
|
14
|
-
if (validationResult?.endpointDescriptors
|
|
14
|
+
if (validationResult?.endpointDescriptors?.length) {
|
|
15
15
|
for (const endpointDescriptor of validationResult.endpointDescriptors) {
|
|
16
16
|
if (endpointDescriptor.message) {
|
|
17
17
|
messages.push(endpointDescriptor.message)
|
|
@@ -51,7 +51,7 @@ function checkInvalidMessages(validationErrorMessages: string[]): { status: bool
|
|
|
51
51
|
return { status: true }
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
export async function validateLinkedDomainWithDid(did: string, verification: InternalVerification | ExternalVerification) {
|
|
54
|
+
export async function validateLinkedDomainWithDid(did: string, verification: InternalVerification | ExternalVerification): Promise<void> {
|
|
55
55
|
const { checkLinkedDomain, resolveOpts, wellknownDIDVerifyCallback } = verification
|
|
56
56
|
if (checkLinkedDomain === CheckLinkedDomain.NEVER) {
|
|
57
57
|
return
|
|
@@ -68,6 +68,9 @@ export async function validateLinkedDomainWithDid(did: string, verification: Int
|
|
|
68
68
|
return
|
|
69
69
|
}
|
|
70
70
|
try {
|
|
71
|
+
if (!wellknownDIDVerifyCallback) {
|
|
72
|
+
return Promise.reject(Error('wellknownDIDVerifyCallback is required for checkWellKnownDid'))
|
|
73
|
+
}
|
|
71
74
|
const validationResult = await checkWellKnownDid({ didDocument, verifyCallback: wellknownDIDVerifyCallback })
|
|
72
75
|
if (validationResult.status === ValidationStatusEnum.INVALID) {
|
|
73
76
|
const validationErrorMessages = getValidationErrorMessages(validationResult)
|
|
@@ -76,7 +79,7 @@ export async function validateLinkedDomainWithDid(did: string, verification: Int
|
|
|
76
79
|
throw new Error(messageCondition.message ? messageCondition.message : validationErrorMessages[0])
|
|
77
80
|
}
|
|
78
81
|
}
|
|
79
|
-
} catch (err) {
|
|
82
|
+
} catch (err: any) {
|
|
80
83
|
const messageCondition: { status: boolean; message?: string } = checkInvalidMessages([err.message])
|
|
81
84
|
if (checkLinkedDomain === CheckLinkedDomain.ALWAYS || (checkLinkedDomain === CheckLinkedDomain.IF_PRESENT && !messageCondition.status)) {
|
|
82
85
|
throw new Error(err.message)
|
package/lib/types/SIOP.types.ts
CHANGED
|
@@ -36,7 +36,7 @@ export interface NoSignature {
|
|
|
36
36
|
export interface ExternalSignature {
|
|
37
37
|
signatureUri: string // url to call to generate a withSignature
|
|
38
38
|
did: string
|
|
39
|
-
authZToken
|
|
39
|
+
authZToken: string // Optional: bearer token to use to the call
|
|
40
40
|
hexPublicKey?: string // Optional: hex encoded public key to compute JWK key, if not possible from DIDres Document
|
|
41
41
|
|
|
42
42
|
alg: SigningAlgo
|
package/package.json
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/did-auth-siop-adapter",
|
|
3
|
-
"version": "0.16.1-next.
|
|
3
|
+
"version": "0.16.1-next.402+ad794b8",
|
|
4
4
|
"description": "Self Issued OpenID V2 (SIOPv2) and OpenID 4 Verifiable Presentations (OID4VP) did adapter",
|
|
5
5
|
"source": "lib/index.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"scripts": {
|
|
9
9
|
"build": "tsc",
|
|
10
|
+
"build:clean": "tsc --build --clean && tsc --build",
|
|
10
11
|
"clean": "rimraf dist coverage"
|
|
11
12
|
},
|
|
12
13
|
"dependencies": {
|
|
13
|
-
"@sphereon/did-auth-siop": "0.16.1-next.
|
|
14
|
+
"@sphereon/did-auth-siop": "0.16.1-next.402+ad794b8",
|
|
14
15
|
"@sphereon/did-uni-client": "^0.6.2",
|
|
15
|
-
"@sphereon/oid4vc-common": "0.16.1-next.
|
|
16
|
+
"@sphereon/oid4vc-common": "0.16.1-next.402+ad794b8",
|
|
16
17
|
"@sphereon/wellknown-dids-client": "^0.1.3",
|
|
17
18
|
"did-jwt": "6.11.6",
|
|
18
19
|
"did-resolver": "^4.1.0"
|
|
19
20
|
},
|
|
20
21
|
"devDependencies": {
|
|
21
22
|
"@types/jest": "^29.5.12",
|
|
22
|
-
"@types/jwt-decode": "^3.1.0",
|
|
23
23
|
"typescript": "5.4.5"
|
|
24
24
|
},
|
|
25
25
|
"engines": {
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"publishConfig": {
|
|
51
51
|
"access": "public"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "ad794b8ca432c2bad045968407c53ad3cf9ebf8c"
|
|
54
54
|
}
|