@sphereon/ssi-sdk.siopv2-oid4vp-op-auth 0.32.1-feature.SPRIND.137.43 → 0.32.1-feature.SPRIND.137.70
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/agent/DidAuthSiopOpAuthenticator.d.ts +3 -1
- package/dist/agent/DidAuthSiopOpAuthenticator.d.ts.map +1 -1
- package/dist/agent/DidAuthSiopOpAuthenticator.js +4 -3
- package/dist/agent/DidAuthSiopOpAuthenticator.js.map +1 -1
- package/dist/services/Siopv2MachineService.d.ts +2 -0
- package/dist/services/Siopv2MachineService.d.ts.map +1 -1
- package/dist/services/Siopv2MachineService.js +81 -83
- package/dist/services/Siopv2MachineService.js.map +1 -1
- package/dist/utils/CredentialUtils.d.ts +23 -0
- package/dist/utils/CredentialUtils.d.ts.map +1 -0
- package/dist/utils/CredentialUtils.js +65 -0
- package/dist/utils/CredentialUtils.js.map +1 -0
- package/dist/utils/dcql.d.ts +5 -0
- package/dist/utils/dcql.d.ts.map +1 -0
- package/dist/utils/dcql.js +37 -0
- package/dist/utils/dcql.js.map +1 -0
- package/package.json +18 -18
- package/src/agent/DidAuthSiopOpAuthenticator.ts +10 -15
- package/src/services/Siopv2MachineService.ts +95 -92
- package/src/types/IDidAuthSiopOpAuthenticator.ts +1 -1
- package/src/utils/CredentialUtils.ts +71 -0
- package/src/utils/dcql.ts +36 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PresentationSignCallback, VerifiedAuthorizationRequest } from '@sphereon/did-auth-siop';
|
|
2
|
+
import { Hasher } from '@sphereon/ssi-types';
|
|
2
3
|
import { IAgentPlugin } from '@veramo/core';
|
|
3
4
|
import { DidAuthSiopOpAuthenticatorOptions, RequiredContext } from '../index';
|
|
4
5
|
import { IDidAuthSiopOpAuthenticator } from '../types';
|
|
@@ -12,7 +13,8 @@ export declare class DidAuthSiopOpAuthenticator implements IAgentPlugin {
|
|
|
12
13
|
private readonly onContactIdentityCreated?;
|
|
13
14
|
private readonly onIdentifierCreated?;
|
|
14
15
|
private readonly eventEmitter?;
|
|
15
|
-
|
|
16
|
+
private readonly hasher;
|
|
17
|
+
constructor(presentationSignCallback?: PresentationSignCallback, customApprovals?: Record<string, (verifiedAuthorizationRequest: VerifiedAuthorizationRequest, sessionId: string) => Promise<void>>, options?: DidAuthSiopOpAuthenticatorOptions, hasher?: Hasher);
|
|
16
18
|
onEvent(event: any, context: RequiredContext): Promise<void>;
|
|
17
19
|
private siopGetOPSession;
|
|
18
20
|
private siopRegisterOPSession;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DidAuthSiopOpAuthenticator.d.ts","sourceRoot":"","sources":["../../src/agent/DidAuthSiopOpAuthenticator.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"DidAuthSiopOpAuthenticator.d.ts","sourceRoot":"","sources":["../../src/agent/DidAuthSiopOpAuthenticator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,wBAAwB,EAAoB,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AAYnI,OAAO,EAAE,MAAM,EAA6C,MAAM,qBAAqB,CAAA;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EACL,iCAAiC,EAIjC,eAAe,EAKhB,MAAM,UAAU,CAAA;AAIjB,OAAO,EACL,2BAA2B,EAM5B,MAAM,UAAU,CAAA;AAwBjB,eAAO,MAAM,iCAAiC,EAAE,KAAK,CAAC,MAAM,CAW3D,CAAA;AAED,qBAAa,0BAA2B,YAAW,YAAY;IAC7D,QAAQ,CAAC,MAAM,MAAqC;IACpD,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAc5C;IAED,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkH;IAClJ,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAA0B;IAEpE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAuD;IACjG,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAkD;IACvF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAc;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;gBAGzC,wBAAwB,CAAC,EAAE,wBAAwB,EACnD,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,4BAA4B,EAAE,4BAA4B,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,EAClI,OAAO,CAAC,EAAE,iCAAiC,EAC3C,MAAM,CAAC,EAAE,MAAM;IAYJ,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAa3D,gBAAgB;YAShB,qBAAqB;YAcrB,mBAAmB;YAInB,4BAA4B;YAQ5B,0BAA0B;YAI1B,yBAAyB;YAyBzB,gBAAgB;YAehB,kBAAkB;YAgDlB,sBAAsB;YAsBtB,mBAAmB;YAuBnB,sBAAsB;YAuCtB,gBAAgB;IA2G9B,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,gBAAgB,CAGvB;IAED,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,iBAAiB,CAGxB;IAED,OAAO,CAAC,yBAAyB,CAIhC;YAEa,4BAA4B;CAgB3C"}
|
|
@@ -37,7 +37,7 @@ exports.didAuthSiopOpAuthenticatorMethods = [
|
|
|
37
37
|
'createVerifiablePresentation',
|
|
38
38
|
];
|
|
39
39
|
class DidAuthSiopOpAuthenticator {
|
|
40
|
-
constructor(presentationSignCallback, customApprovals, options) {
|
|
40
|
+
constructor(presentationSignCallback, customApprovals, options, hasher) {
|
|
41
41
|
this.schema = index_1.schema.IDidAuthSiopOpAuthenticator;
|
|
42
42
|
this.methods = {
|
|
43
43
|
siopGetOPSession: this.siopGetOPSession.bind(this),
|
|
@@ -79,6 +79,7 @@ class DidAuthSiopOpAuthenticator {
|
|
|
79
79
|
this.sessions = new Map();
|
|
80
80
|
this.customApprovals = customApprovals || {};
|
|
81
81
|
this.presentationSignCallback = presentationSignCallback;
|
|
82
|
+
this.hasher = hasher;
|
|
82
83
|
}
|
|
83
84
|
onEvent(event, context) {
|
|
84
85
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -199,7 +200,7 @@ class DidAuthSiopOpAuthenticator {
|
|
|
199
200
|
verifiedAuthorizationRequest.presentationDefinitions.length > 0)
|
|
200
201
|
? verifiedAuthorizationRequest.presentationDefinitions
|
|
201
202
|
: undefined,
|
|
202
|
-
dcqlQuery: verifiedAuthorizationRequest.dcqlQuery
|
|
203
|
+
dcqlQuery: verifiedAuthorizationRequest.dcqlQuery,
|
|
203
204
|
};
|
|
204
205
|
});
|
|
205
206
|
}
|
|
@@ -352,7 +353,7 @@ class DidAuthSiopOpAuthenticator {
|
|
|
352
353
|
}
|
|
353
354
|
}
|
|
354
355
|
}
|
|
355
|
-
const response = yield (0, Siopv2MachineService_1.siopSendAuthorizationResponse)(ssi_sdk_data_store_1.ConnectionType.SIOPv2_OpenID4VP, Object.assign(Object.assign({ sessionId: didAuthConfig.sessionId }, (args.idOpts && { idOpts: args.idOpts })), (authorizationRequestData.presentationDefinitions !== undefined && { verifiableCredentialsWithDefinition })), context);
|
|
356
|
+
const response = yield (0, Siopv2MachineService_1.siopSendAuthorizationResponse)(ssi_sdk_data_store_1.ConnectionType.SIOPv2_OpenID4VP, Object.assign(Object.assign(Object.assign({ sessionId: didAuthConfig.sessionId }, (args.idOpts && { idOpts: args.idOpts })), (authorizationRequestData.presentationDefinitions !== undefined && { verifiableCredentialsWithDefinition })), { hasher: this.hasher }), context);
|
|
356
357
|
const contentType = response.headers.get('content-type') || '';
|
|
357
358
|
let responseBody = null;
|
|
358
359
|
const text = yield response.text();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DidAuthSiopOpAuthenticator.js","sourceRoot":"","sources":["../../src/agent/DidAuthSiopOpAuthenticator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DidAuthSiopOpAuthenticator.js","sourceRoot":"","sources":["../../src/agent/DidAuthSiopOpAuthenticator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IPresentationDefinition } from '@sphereon/pex';
|
|
2
2
|
import { ManagedIdentifierOptsOrResult } from '@sphereon/ssi-sdk-ext.identifier-resolution';
|
|
3
3
|
import { ConnectionType } from '@sphereon/ssi-sdk.data-store';
|
|
4
|
+
import { Hasher } from '@sphereon/ssi-types';
|
|
4
5
|
import { RequiredContext, SelectableCredentialsMap, VerifiableCredentialsWithDefinition } from '../types';
|
|
5
6
|
import { DcqlQuery } from 'dcql';
|
|
6
7
|
export declare const logger: import("@sphereon/ssi-types").ISimpleLogger<unknown>;
|
|
@@ -9,6 +10,7 @@ export declare const siopSendAuthorizationResponse: (connectionType: ConnectionT
|
|
|
9
10
|
verifiableCredentialsWithDefinition?: VerifiableCredentialsWithDefinition[];
|
|
10
11
|
idOpts?: ManagedIdentifierOptsOrResult;
|
|
11
12
|
dcqlQuery?: DcqlQuery;
|
|
13
|
+
hasher?: Hasher;
|
|
12
14
|
}, context: RequiredContext) => Promise<Response>;
|
|
13
15
|
export declare const getSelectableCredentials: (presentationDefinition: IPresentationDefinition, context: RequiredContext) => Promise<SelectableCredentialsMap>;
|
|
14
16
|
export declare const translateCorrelationIdToName: (correlationId: string, context: RequiredContext) => Promise<string | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Siopv2MachineService.d.ts","sourceRoot":"","sources":["../../src/services/Siopv2MachineService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAO,MAAM,eAAe,CAAA;AAE5D,OAAO,EAA4B,6BAA6B,EAAE,MAAM,6CAA6C,CAAA;AAErH,OAAO,EAAE,cAAc,EAAkB,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"Siopv2MachineService.d.ts","sourceRoot":"","sources":["../../src/services/Siopv2MachineService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAO,MAAM,eAAe,CAAA;AAE5D,OAAO,EAA4B,6BAA6B,EAAE,MAAM,6CAA6C,CAAA;AAErH,OAAO,EAAE,cAAc,EAAkB,MAAM,8BAA8B,CAAA;AAC7E,OAAO,EAAoB,MAAM,EAAiE,MAAM,qBAAqB,CAAA;AAE7H,OAAO,EAGL,eAAe,EAEf,wBAAwB,EAGxB,mCAAmC,EAEpC,MAAM,UAAU,CAAA;AAIjB,OAAO,EAAkB,SAAS,EAAgD,MAAM,MAAM,CAAA;AAI9F,eAAO,MAAM,MAAM,sDAAwC,CAAA;AAqB3D,eAAO,MAAM,6BAA6B,mBACxB,cAAc,QACxB;IACJ,SAAS,EAAE,MAAM,CAAA;IACjB,mCAAmC,CAAC,EAAE,mCAAmC,EAAE,CAAA;IAC3E,MAAM,CAAC,EAAE,6BAA6B,CAAA;IACtC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,WACQ,eAAe,sBAqNzB,CAAA;AAYD,eAAO,MAAM,wBAAwB,2BACX,uBAAuB,WACtC,eAAe,KACvB,OAAO,CAAC,wBAAwB,CA8ClC,CAAA;AAED,eAAO,MAAM,4BAA4B,kBAAyB,MAAM,WAAW,eAAe,KAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAY9H,CAAA"}
|
|
@@ -20,6 +20,8 @@ const types_1 = require("../types");
|
|
|
20
20
|
const ssi_sdk_ext_did_utils_1 = require("@sphereon/ssi-sdk-ext.did-utils");
|
|
21
21
|
const ssi_sdk_core_1 = require("@sphereon/ssi-sdk.core");
|
|
22
22
|
const dcql_1 = require("dcql");
|
|
23
|
+
const dcql_2 = require("../utils/dcql");
|
|
24
|
+
const CredentialUtils_1 = require("../utils/CredentialUtils");
|
|
23
25
|
exports.logger = ssi_types_1.Loggers.DEFAULT.get(types_1.LOGGER_NAMESPACE);
|
|
24
26
|
const createEbsiIdentifier = (agentContext) => __awaiter(void 0, void 0, void 0, function* () {
|
|
25
27
|
exports.logger.log(`No EBSI key present yet. Creating a new one...`);
|
|
@@ -140,95 +142,91 @@ const siopSendAuthorizationResponse = (connectionType, args, context) => __await
|
|
|
140
142
|
// todo: Change issuer value in case we do not use identifier. Use key.meta.jwkThumbprint then
|
|
141
143
|
responseSignerOpts: idOpts }));
|
|
142
144
|
}
|
|
143
|
-
else if (
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
}
|
|
154
|
-
let identifier;
|
|
155
|
-
const digitalCredential = firstUniqueDC.digitalCredential;
|
|
156
|
-
const firstVC = firstUniqueDC.uniformVerifiableCredential;
|
|
157
|
-
const holder = ssi_types_1.CredentialMapper.isSdJwtDecodedCredential(firstVC)
|
|
158
|
-
? ((_l = firstVC.decodedPayload.cnf) === null || _l === void 0 ? void 0 : _l.jwk)
|
|
159
|
-
? //TODO SDK-19: convert the JWK to hex and search for the appropriate key and associated DID
|
|
160
|
-
//doesn't apply to did:jwk only, as you can represent any DID key as a JWK. So whenever you encounter a JWK it doesn't mean it had to come from a did:jwk in the system. It just can always be represented as a did:jwk
|
|
161
|
-
`did:jwk:${(0, ssi_sdk_core_1.encodeJoseBlob)((_m = firstVC.decodedPayload.cnf) === null || _m === void 0 ? void 0 : _m.jwk)}#0`
|
|
162
|
-
: firstVC.decodedPayload.sub
|
|
163
|
-
: Array.isArray(firstVC.credentialSubject)
|
|
164
|
-
? firstVC.credentialSubject[0].id
|
|
165
|
-
: firstVC.credentialSubject.id;
|
|
166
|
-
if (!digitalCredential.kmsKeyRef) {
|
|
167
|
-
// In case the store does not have the kmsKeyRef lets search for the holder
|
|
168
|
-
if (!holder) {
|
|
169
|
-
return Promise.reject(`No holder found and no kmsKeyRef in DB. Cannot determine identifier to use`);
|
|
145
|
+
else if (request.dcqlQuery) {
|
|
146
|
+
if (args.verifiableCredentialsWithDefinition !== undefined && args.verifiableCredentialsWithDefinition !== null) {
|
|
147
|
+
const vcs = args.verifiableCredentialsWithDefinition.flatMap((vcd) => vcd.credentials);
|
|
148
|
+
const domain = (_k = (_j = (yield request.authorizationRequest.getMergedProperty('client_id'))) !== null && _j !== void 0 ? _j : request.issuer) !== null && _k !== void 0 ? _k : (request.versions.includes(did_auth_siop_1.SupportedVersion.JWT_VC_PRESENTATION_PROFILE_v1)
|
|
149
|
+
? 'https://self-issued.me/v2/openid-vc'
|
|
150
|
+
: 'https://self-issued.me/v2');
|
|
151
|
+
exports.logger.debug(`NONCE: ${session.nonce}, domain: ${domain}`);
|
|
152
|
+
const firstUniqueDC = vcs[0];
|
|
153
|
+
if (typeof firstUniqueDC !== 'object' || !('digitalCredential' in firstUniqueDC)) {
|
|
154
|
+
return Promise.reject(Error('SiopMachine only supports UniqueDigitalCredentials for now'));
|
|
170
155
|
}
|
|
171
|
-
|
|
172
|
-
|
|
156
|
+
let identifier;
|
|
157
|
+
const digitalCredential = firstUniqueDC.digitalCredential;
|
|
158
|
+
const firstVC = firstUniqueDC.uniformVerifiableCredential;
|
|
159
|
+
const holder = ssi_types_1.CredentialMapper.isSdJwtDecodedCredential(firstVC)
|
|
160
|
+
? ((_l = firstVC.decodedPayload.cnf) === null || _l === void 0 ? void 0 : _l.jwk)
|
|
161
|
+
? //TODO SDK-19: convert the JWK to hex and search for the appropriate key and associated DID
|
|
162
|
+
//doesn't apply to did:jwk only, as you can represent any DID key as a JWK. So whenever you encounter a JWK it doesn't mean it had to come from a did:jwk in the system. It just can always be represented as a did:jwk
|
|
163
|
+
`did:jwk:${(0, ssi_sdk_core_1.encodeJoseBlob)((_m = firstVC.decodedPayload.cnf) === null || _m === void 0 ? void 0 : _m.jwk)}#0`
|
|
164
|
+
: firstVC.decodedPayload.sub
|
|
165
|
+
: Array.isArray(firstVC.credentialSubject)
|
|
166
|
+
? firstVC.credentialSubject[0].id
|
|
167
|
+
: firstVC.credentialSubject.id;
|
|
168
|
+
if (!digitalCredential.kmsKeyRef) {
|
|
169
|
+
// In case the store does not have the kmsKeyRef lets search for the holder
|
|
170
|
+
if (!holder) {
|
|
171
|
+
return Promise.reject(`No holder found and no kmsKeyRef in DB. Cannot determine identifier to use`);
|
|
172
|
+
}
|
|
173
|
+
try {
|
|
174
|
+
identifier = yield session.context.agent.identifierManagedGet({ identifier: holder });
|
|
175
|
+
}
|
|
176
|
+
catch (e) {
|
|
177
|
+
exports.logger.debug(`Holder DID not found: ${holder}`);
|
|
178
|
+
throw e;
|
|
179
|
+
}
|
|
173
180
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
181
|
+
else if ((0, ssi_sdk_ext_identifier_resolution_1.isOID4VCIssuerIdentifier)(digitalCredential.kmsKeyRef)) {
|
|
182
|
+
identifier = yield session.context.agent.identifierManagedGetByOID4VCIssuer({
|
|
183
|
+
identifier: firstUniqueDC.digitalCredential.kmsKeyRef,
|
|
184
|
+
});
|
|
177
185
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
186
|
+
else {
|
|
187
|
+
switch (digitalCredential.subjectCorrelationType) {
|
|
188
|
+
case 'DID':
|
|
189
|
+
identifier = yield session.context.agent.identifierManagedGetByDid({
|
|
190
|
+
identifier: (_o = digitalCredential.subjectCorrelationId) !== null && _o !== void 0 ? _o : holder,
|
|
191
|
+
kmsKeyRef: digitalCredential.kmsKeyRef,
|
|
192
|
+
});
|
|
193
|
+
break;
|
|
194
|
+
// TODO other implementations?
|
|
195
|
+
default:
|
|
196
|
+
// Since we are using the kmsKeyRef we will find the KID regardless of the identifier. We set it for later access though
|
|
197
|
+
identifier = yield session.context.agent.identifierManagedGetByKid({
|
|
198
|
+
identifier: (_q = (_p = digitalCredential.subjectCorrelationId) !== null && _p !== void 0 ? _p : holder) !== null && _q !== void 0 ? _q : digitalCredential.kmsKeyRef,
|
|
199
|
+
kmsKeyRef: digitalCredential.kmsKeyRef,
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
console.log(`Identifier`, identifier);
|
|
204
|
+
const dcqlRepresentations = [];
|
|
205
|
+
vcs.forEach((vc) => {
|
|
206
|
+
const rep = (0, dcql_2.convertToDcqlCredentials)(vc, args.hasher);
|
|
207
|
+
if (rep) {
|
|
208
|
+
dcqlRepresentations.push(rep);
|
|
209
|
+
}
|
|
182
210
|
});
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
kmsKeyRef: digitalCredential.kmsKeyRef,
|
|
198
|
-
});
|
|
211
|
+
const queryResult = dcql_1.DcqlQuery.query(request.dcqlQuery, dcqlRepresentations);
|
|
212
|
+
const presentation = {};
|
|
213
|
+
for (const [key, value] of Object.entries(queryResult.credential_matches)) {
|
|
214
|
+
const allMatches = Array.isArray(value) ? value : [value];
|
|
215
|
+
allMatches.forEach((match) => {
|
|
216
|
+
if (match.success) {
|
|
217
|
+
const originalCredential = (0, CredentialUtils_1.getOriginalVerifiableCredential)(vcs[match.input_credential_index]);
|
|
218
|
+
if (!originalCredential) {
|
|
219
|
+
throw new Error(`Index ${match.input_credential_index} out of range in credentials array`);
|
|
220
|
+
}
|
|
221
|
+
presentation[key] =
|
|
222
|
+
originalCredential['compactSdJwtVc'] !== undefined ? originalCredential.compactSdJwtVc : originalCredential;
|
|
223
|
+
}
|
|
224
|
+
});
|
|
199
225
|
}
|
|
226
|
+
const response = session.sendAuthorizationResponse(Object.assign({ responseSignerOpts: identifier }, { dcqlQuery: { dcqlPresentation: dcql_1.DcqlPresentation.parse(presentation) } }));
|
|
227
|
+
exports.logger.debug(`Response: `, response);
|
|
228
|
+
return response;
|
|
200
229
|
}
|
|
201
|
-
if (identifier === undefined && idOpts !== undefined && (yield hasEbsiClient(request.authorizationRequest))) {
|
|
202
|
-
identifier = yield createEbsiIdentifier(agentContext);
|
|
203
|
-
}
|
|
204
|
-
exports.logger.debug(`Identifier`, identifier);
|
|
205
|
-
const dcqlCredentialToCredential = new Map();
|
|
206
|
-
vcs.forEach((vc) => {
|
|
207
|
-
const payload = vc['decodedPayload'] !== undefined && vc['decodedPayload'] !== null ? vc.decodedPayload : vc;
|
|
208
|
-
const vct = payload === null || payload === void 0 ? void 0 : payload.vct;
|
|
209
|
-
const doctype = payload === null || payload === void 0 ? void 0 : payload.docType;
|
|
210
|
-
const namespaces = payload === null || payload === void 0 ? void 0 : payload.namespaces;
|
|
211
|
-
const credential_format = payload === null || payload === void 0 ? void 0 : payload.credential_format;
|
|
212
|
-
const result = {
|
|
213
|
-
claims: payload,
|
|
214
|
-
vct,
|
|
215
|
-
doctype,
|
|
216
|
-
namespaces,
|
|
217
|
-
credential_format
|
|
218
|
-
};
|
|
219
|
-
dcqlCredentialToCredential.set(result, vc);
|
|
220
|
-
});
|
|
221
|
-
const queryResult = dcql_1.DcqlQuery.query(request.dcqlQuery, Array.from(dcqlCredentialToCredential.keys()));
|
|
222
|
-
const presentation = {};
|
|
223
|
-
for (const [key, value] of Object.entries(queryResult.credential_matches)) {
|
|
224
|
-
const credential = dcqlCredentialToCredential.get((('output' in value) ? value === null || value === void 0 ? void 0 : value.output : value));
|
|
225
|
-
presentation[key] = credential.originalVerifiableCredential['compactSdJwtVc'] !== undefined ? credential.originalVerifiableCredential.compactSdJwtVc : credential.originalCredential.original;
|
|
226
|
-
}
|
|
227
|
-
return yield session.sendAuthorizationResponse({
|
|
228
|
-
// todo: Change issuer value in case we do not use identifier. Use key.meta.jwkThumbprint then
|
|
229
|
-
responseSignerOpts: idOpts,
|
|
230
|
-
dcqlQuery: { dcqlPresentation: dcql_1.DcqlPresentation.parse(presentation) }
|
|
231
|
-
});
|
|
232
230
|
}
|
|
233
231
|
throw Error('Presentation Definition or DCQL is required');
|
|
234
232
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Siopv2MachineService.js","sourceRoot":"","sources":["../../src/services/Siopv2MachineService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Siopv2MachineService.js","sourceRoot":"","sources":["../../src/services/Siopv2MachineService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ICredential, OriginalVerifiableCredential } from '@sphereon/ssi-types';
|
|
2
|
+
import { VerifiableCredential } from '@veramo/core';
|
|
3
|
+
import { UniqueDigitalCredential } from '@sphereon/ssi-sdk.credential-store';
|
|
4
|
+
/**
|
|
5
|
+
* Return the type(s) of a VC minus the VerifiableCredential type which should always be present
|
|
6
|
+
* @param credential The input credential
|
|
7
|
+
*/
|
|
8
|
+
export declare const getCredentialTypeAsString: (credential: ICredential | VerifiableCredential) => string;
|
|
9
|
+
/**
|
|
10
|
+
* Returns a Unique Verifiable Credential (with hash) as stored in Veramo, based upon matching the id of the input VC or the proof value of the input VC
|
|
11
|
+
* @param uniqueVCs The Unique VCs to search in
|
|
12
|
+
* @param searchVC The VC to search for in the unique VCs array
|
|
13
|
+
*/
|
|
14
|
+
export declare const getMatchingUniqueDigitalCredential: (uniqueVCs: UniqueDigitalCredential[], searchVC: OriginalVerifiableCredential) => UniqueDigitalCredential | undefined;
|
|
15
|
+
type InputCredential = UniqueDigitalCredential | VerifiableCredential | ICredential | OriginalVerifiableCredential;
|
|
16
|
+
/**
|
|
17
|
+
* Get an original verifiable credential. Maps to wrapped Verifiable Credential first, to get an original JWT as Veramo stores these with a special proof value
|
|
18
|
+
* @param credential The input VC
|
|
19
|
+
*/
|
|
20
|
+
export declare const getOriginalVerifiableCredential: (credential: InputCredential) => OriginalVerifiableCredential;
|
|
21
|
+
export declare const isUniqueDigitalCredential: (credential: InputCredential) => credential is UniqueDigitalCredential;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=CredentialUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CredentialUtils.d.ts","sourceRoot":"","sources":["../../src/utils/CredentialUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,WAAW,EAAyB,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAChI,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAE5E;;;GAGG;AACH,eAAO,MAAM,yBAAyB,eAAgB,WAAW,GAAG,oBAAoB,KAAG,MAO1F,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,cAClC,uBAAuB,EAAE,YAC1B,4BAA4B,KACrC,uBAAuB,GAAG,SAe5B,CAAA;AAED,KAAK,eAAe,GAAG,uBAAuB,GAAG,oBAAoB,GAAG,WAAW,GAAG,4BAA4B,CAAA;AAElH;;;GAGG;AAEH,eAAO,MAAM,+BAA+B,eAAgB,eAAe,KAAG,4BAS7E,CAAA;AAUD,eAAO,MAAM,yBAAyB,eAAgB,eAAe,KAAG,UAAU,IAAI,uBAErF,CAAA"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isUniqueDigitalCredential = exports.getOriginalVerifiableCredential = exports.getMatchingUniqueDigitalCredential = exports.getCredentialTypeAsString = void 0;
|
|
4
|
+
const ssi_types_1 = require("@sphereon/ssi-types");
|
|
5
|
+
/**
|
|
6
|
+
* Return the type(s) of a VC minus the VerifiableCredential type which should always be present
|
|
7
|
+
* @param credential The input credential
|
|
8
|
+
*/
|
|
9
|
+
const getCredentialTypeAsString = (credential) => {
|
|
10
|
+
if (!credential.type) {
|
|
11
|
+
return 'Verifiable Credential';
|
|
12
|
+
}
|
|
13
|
+
else if (typeof credential.type === 'string') {
|
|
14
|
+
return credential.type;
|
|
15
|
+
}
|
|
16
|
+
return credential.type.filter((type) => type !== 'VerifiableCredential').join(', ');
|
|
17
|
+
};
|
|
18
|
+
exports.getCredentialTypeAsString = getCredentialTypeAsString;
|
|
19
|
+
/**
|
|
20
|
+
* Returns a Unique Verifiable Credential (with hash) as stored in Veramo, based upon matching the id of the input VC or the proof value of the input VC
|
|
21
|
+
* @param uniqueVCs The Unique VCs to search in
|
|
22
|
+
* @param searchVC The VC to search for in the unique VCs array
|
|
23
|
+
*/
|
|
24
|
+
const getMatchingUniqueDigitalCredential = (uniqueVCs, searchVC) => {
|
|
25
|
+
// Since an ID is optional in a VC according to VCDM, and we really need the matches, we have a fallback match on something which is guaranteed to be unique for any VC (the proof(s))
|
|
26
|
+
return uniqueVCs.find((uniqueVC) => {
|
|
27
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
28
|
+
return (typeof searchVC !== 'string' &&
|
|
29
|
+
(uniqueVC.id === searchVC.id ||
|
|
30
|
+
uniqueVC.originalVerifiableCredential.proof === searchVC.proof)) ||
|
|
31
|
+
(typeof searchVC === 'string' && ((_b = (_a = uniqueVC.uniformVerifiableCredential) === null || _a === void 0 ? void 0 : _a.proof) === null || _b === void 0 ? void 0 : _b.jwt) === searchVC) ||
|
|
32
|
+
// We are ignoring the signature of the sd-jwt as PEX signs the vc again and it will not match anymore with the jwt in the proof of the stored jsonld vc
|
|
33
|
+
(typeof searchVC === 'string' &&
|
|
34
|
+
ssi_types_1.CredentialMapper.isSdJwtEncoded(searchVC) &&
|
|
35
|
+
((_c = uniqueVC.uniformVerifiableCredential) === null || _c === void 0 ? void 0 : _c.proof) &&
|
|
36
|
+
'jwt' in uniqueVC.uniformVerifiableCredential.proof &&
|
|
37
|
+
((_f = (_e = (_d = uniqueVC.uniformVerifiableCredential.proof.jwt) === null || _d === void 0 ? void 0 : _d.split('.')) === null || _e === void 0 ? void 0 : _e.slice(0, 2)) === null || _f === void 0 ? void 0 : _f.join('.')) === ((_h = (_g = searchVC.split('.')) === null || _g === void 0 ? void 0 : _g.slice(0, 2)) === null || _h === void 0 ? void 0 : _h.join('.')));
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
exports.getMatchingUniqueDigitalCredential = getMatchingUniqueDigitalCredential;
|
|
41
|
+
/**
|
|
42
|
+
* Get an original verifiable credential. Maps to wrapped Verifiable Credential first, to get an original JWT as Veramo stores these with a special proof value
|
|
43
|
+
* @param credential The input VC
|
|
44
|
+
*/
|
|
45
|
+
const getOriginalVerifiableCredential = (credential) => {
|
|
46
|
+
if ((0, exports.isUniqueDigitalCredential)(credential)) {
|
|
47
|
+
if (!credential.originalVerifiableCredential) {
|
|
48
|
+
throw new Error('originalVerifiableCredential is not defined in UniqueDigitalCredential');
|
|
49
|
+
}
|
|
50
|
+
return getCredentialFromProofOrWrapped(credential.originalVerifiableCredential);
|
|
51
|
+
}
|
|
52
|
+
return getCredentialFromProofOrWrapped(credential);
|
|
53
|
+
};
|
|
54
|
+
exports.getOriginalVerifiableCredential = getOriginalVerifiableCredential;
|
|
55
|
+
const getCredentialFromProofOrWrapped = (cred, hasher) => {
|
|
56
|
+
if (typeof cred === 'object' && 'proof' in cred && 'jwt' in cred.proof && ssi_types_1.CredentialMapper.isSdJwtEncoded(cred.proof.jwt)) {
|
|
57
|
+
return cred.proof.jwt;
|
|
58
|
+
}
|
|
59
|
+
return ssi_types_1.CredentialMapper.toWrappedVerifiableCredential(cred, { hasher }).original;
|
|
60
|
+
};
|
|
61
|
+
const isUniqueDigitalCredential = (credential) => {
|
|
62
|
+
return credential.digitalCredential !== undefined;
|
|
63
|
+
};
|
|
64
|
+
exports.isUniqueDigitalCredential = isUniqueDigitalCredential;
|
|
65
|
+
//# sourceMappingURL=CredentialUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CredentialUtils.js","sourceRoot":"","sources":["../../src/utils/CredentialUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { UniqueDigitalCredential } from '@sphereon/ssi-sdk.credential-store';
|
|
2
|
+
import { DcqlCredential } from 'dcql';
|
|
3
|
+
import { Hasher, OriginalVerifiableCredential } from '@sphereon/ssi-types';
|
|
4
|
+
export declare function convertToDcqlCredentials(credential: UniqueDigitalCredential | OriginalVerifiableCredential, hasher?: Hasher): DcqlCredential;
|
|
5
|
+
//# sourceMappingURL=dcql.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dcql.d.ts","sourceRoot":"","sources":["../../src/utils/dcql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,cAAc,EAA8C,MAAM,MAAM,CAAA;AACjF,OAAO,EAAoB,MAAM,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAG5F,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,uBAAuB,GAAG,4BAA4B,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CA8B5I"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertToDcqlCredentials = convertToDcqlCredentials;
|
|
4
|
+
const ssi_types_1 = require("@sphereon/ssi-types");
|
|
5
|
+
const CredentialUtils_1 = require("./CredentialUtils");
|
|
6
|
+
function convertToDcqlCredentials(credential, hasher) {
|
|
7
|
+
let payload;
|
|
8
|
+
if ((0, CredentialUtils_1.isUniqueDigitalCredential)(credential)) {
|
|
9
|
+
if (!credential.originalVerifiableCredential) {
|
|
10
|
+
throw new Error('originalVerifiableCredential is not defined in UniqueDigitalCredential');
|
|
11
|
+
}
|
|
12
|
+
payload = ssi_types_1.CredentialMapper.decodeVerifiableCredential(credential.originalVerifiableCredential, hasher);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
payload = ssi_types_1.CredentialMapper.decodeVerifiableCredential(credential, hasher);
|
|
16
|
+
}
|
|
17
|
+
if (!payload) {
|
|
18
|
+
throw new Error('No payload found');
|
|
19
|
+
}
|
|
20
|
+
if ('decodedPayload' in payload && payload.decodedPayload) {
|
|
21
|
+
payload = payload.decodedPayload;
|
|
22
|
+
}
|
|
23
|
+
if ('vct' in payload) {
|
|
24
|
+
return { vct: payload.vct, claims: payload, credential_format: 'vc+sd-jwt' }; // TODO dc+sd-jwt support?
|
|
25
|
+
}
|
|
26
|
+
else if ('docType' in payload && 'namespaces' in payload) {
|
|
27
|
+
// mdoc
|
|
28
|
+
return { docType: payload.docType, namespaces: payload.namespaces, claims: payload };
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
return {
|
|
32
|
+
claims: payload,
|
|
33
|
+
credential_format: 'jwt_vc_json', // TODO jwt_vc_json-ld support
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=dcql.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dcql.js","sourceRoot":"","sources":["../../src/utils/dcql.ts"],"names":[],"mappings":";;AAKA,4DA8BC;AAjCD,mDAA4F;AAC5F,uDAA6D;AAE7D,SAAgB,wBAAwB,CAAC,UAAkE,EAAE,MAAe;IAC1H,IAAI,OAAO,CAAA;IACX,IAAI,IAAA,2CAAyB,EAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;QAC3F,CAAC;QACD,OAAO,GAAG,4BAAgB,CAAC,0BAA0B,CAAC,UAAU,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAA;IACxG,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,4BAAgB,CAAC,0BAA0B,CAAC,UAA0C,EAAE,MAAM,CAAC,CAAA;IAC3G,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACrC,CAAC;IAED,IAAI,gBAAgB,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC1D,OAAO,GAAG,OAAO,CAAC,cAAc,CAAA;IAClC,CAAC;IAED,IAAI,KAAK,IAAI,OAAQ,EAAE,CAAC;QACtB,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAkC,CAAA,CAAC,0BAA0B;IACzI,CAAC;SAAM,IAAI,SAAS,IAAI,OAAQ,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;QAC5D,OAAO;QACP,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IACtF,CAAC;SAAM,CAAC;QACN,OAAO;YACL,MAAM,EAAE,OAAO;YACf,iBAAiB,EAAE,aAAa,EAAE,8BAA8B;SAC1C,CAAA;IAC1B,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth",
|
|
3
|
-
"version": "0.32.1-feature.SPRIND.137.
|
|
3
|
+
"version": "0.32.1-feature.SPRIND.137.70+3d71002a",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -14,26 +14,26 @@
|
|
|
14
14
|
"build:clean": "tsc --build --clean && tsc --build"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@sphereon/did-auth-siop": "0.16.1-feature.SPRIND.137.
|
|
18
|
-
"@sphereon/did-auth-siop-adapter": "0.16.1-feature.SPRIND.137.
|
|
19
|
-
"@sphereon/oid4vc-common": "0.16.1-feature.SPRIND.137.
|
|
17
|
+
"@sphereon/did-auth-siop": "0.16.1-feature.SPRIND.137.280+8b9a1ff",
|
|
18
|
+
"@sphereon/did-auth-siop-adapter": "0.16.1-feature.SPRIND.137.280+8b9a1ff",
|
|
19
|
+
"@sphereon/oid4vc-common": "0.16.1-feature.SPRIND.137.280+8b9a1ff",
|
|
20
20
|
"@sphereon/pex": "5.0.0-unstable.28",
|
|
21
21
|
"@sphereon/pex-models": "^2.3.2",
|
|
22
22
|
"@sphereon/ssi-sdk-ext.did-utils": "0.27.0",
|
|
23
23
|
"@sphereon/ssi-sdk-ext.identifier-resolution": "0.27.0",
|
|
24
24
|
"@sphereon/ssi-sdk-ext.jwt-service": "0.27.0",
|
|
25
|
-
"@sphereon/ssi-sdk.contact-manager": "0.32.1-feature.SPRIND.137.
|
|
26
|
-
"@sphereon/ssi-sdk.core": "0.32.1-feature.SPRIND.137.
|
|
27
|
-
"@sphereon/ssi-sdk.credential-store": "0.32.1-feature.SPRIND.137.
|
|
28
|
-
"@sphereon/ssi-sdk.credential-validation": "0.32.1-feature.SPRIND.137.
|
|
29
|
-
"@sphereon/ssi-sdk.data-store": "0.32.1-feature.SPRIND.137.
|
|
30
|
-
"@sphereon/ssi-sdk.issuance-branding": "0.32.1-feature.SPRIND.137.
|
|
31
|
-
"@sphereon/ssi-sdk.pd-manager": "0.32.1-feature.SPRIND.137.
|
|
32
|
-
"@sphereon/ssi-sdk.presentation-exchange": "0.32.1-feature.SPRIND.137.
|
|
33
|
-
"@sphereon/ssi-sdk.sd-jwt": "0.32.1-feature.SPRIND.137.
|
|
34
|
-
"@sphereon/ssi-sdk.siopv2-oid4vp-common": "0.32.1-feature.SPRIND.137.
|
|
35
|
-
"@sphereon/ssi-sdk.xstate-machine-persistence": "0.32.1-feature.SPRIND.137.
|
|
36
|
-
"@sphereon/ssi-types": "0.32.1-feature.SPRIND.137.
|
|
25
|
+
"@sphereon/ssi-sdk.contact-manager": "0.32.1-feature.SPRIND.137.70+3d71002a",
|
|
26
|
+
"@sphereon/ssi-sdk.core": "0.32.1-feature.SPRIND.137.70+3d71002a",
|
|
27
|
+
"@sphereon/ssi-sdk.credential-store": "0.32.1-feature.SPRIND.137.70+3d71002a",
|
|
28
|
+
"@sphereon/ssi-sdk.credential-validation": "0.32.1-feature.SPRIND.137.70+3d71002a",
|
|
29
|
+
"@sphereon/ssi-sdk.data-store": "0.32.1-feature.SPRIND.137.70+3d71002a",
|
|
30
|
+
"@sphereon/ssi-sdk.issuance-branding": "0.32.1-feature.SPRIND.137.70+3d71002a",
|
|
31
|
+
"@sphereon/ssi-sdk.pd-manager": "0.32.1-feature.SPRIND.137.70+3d71002a",
|
|
32
|
+
"@sphereon/ssi-sdk.presentation-exchange": "0.32.1-feature.SPRIND.137.70+3d71002a",
|
|
33
|
+
"@sphereon/ssi-sdk.sd-jwt": "0.32.1-feature.SPRIND.137.70+3d71002a",
|
|
34
|
+
"@sphereon/ssi-sdk.siopv2-oid4vp-common": "0.32.1-feature.SPRIND.137.70+3d71002a",
|
|
35
|
+
"@sphereon/ssi-sdk.xstate-machine-persistence": "0.32.1-feature.SPRIND.137.70+3d71002a",
|
|
36
|
+
"@sphereon/ssi-types": "0.32.1-feature.SPRIND.137.70+3d71002a",
|
|
37
37
|
"@sphereon/wellknown-dids-client": "^0.1.3",
|
|
38
38
|
"@veramo/core": "4.2.0",
|
|
39
39
|
"@veramo/credential-w3c": "4.2.0",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@sphereon/did-uni-client": "^0.6.3",
|
|
50
50
|
"@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.27.0",
|
|
51
|
-
"@sphereon/ssi-sdk.agent-config": "0.32.1-feature.SPRIND.137.
|
|
51
|
+
"@sphereon/ssi-sdk.agent-config": "0.32.1-feature.SPRIND.137.70+3d71002a",
|
|
52
52
|
"@types/i18n-js": "^3.8.9",
|
|
53
53
|
"@types/lodash.memoize": "^4.1.9",
|
|
54
54
|
"@types/sha.js": "^2.4.4",
|
|
@@ -91,5 +91,5 @@
|
|
|
91
91
|
"Authenticator"
|
|
92
92
|
],
|
|
93
93
|
"nx": {},
|
|
94
|
-
"gitHead": "
|
|
94
|
+
"gitHead": "3d71002aaea1ab7d1fc328f26ce8ba409f5b661d"
|
|
95
95
|
}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
decodeUriAsJson,
|
|
3
|
-
PresentationSignCallback,
|
|
4
|
-
SupportedVersion,
|
|
5
|
-
VerifiedAuthorizationRequest
|
|
6
|
-
} from '@sphereon/did-auth-siop'
|
|
1
|
+
import { decodeUriAsJson, PresentationSignCallback, SupportedVersion, VerifiedAuthorizationRequest } from '@sphereon/did-auth-siop'
|
|
7
2
|
import {
|
|
8
3
|
ConnectionType,
|
|
9
4
|
CorrelationIdentifierType,
|
|
@@ -13,9 +8,9 @@ import {
|
|
|
13
8
|
Identity,
|
|
14
9
|
IdentityOrigin,
|
|
15
10
|
NonPersistedIdentity,
|
|
16
|
-
Party
|
|
11
|
+
Party,
|
|
17
12
|
} from '@sphereon/ssi-sdk.data-store'
|
|
18
|
-
import { Loggers, SdJwtDecodedVerifiableCredential } from '@sphereon/ssi-types'
|
|
13
|
+
import { Hasher, Loggers, SdJwtDecodedVerifiableCredential } from '@sphereon/ssi-types'
|
|
19
14
|
import { IAgentPlugin } from '@veramo/core'
|
|
20
15
|
import { v4 as uuidv4 } from 'uuid'
|
|
21
16
|
import {
|
|
@@ -27,14 +22,10 @@ import {
|
|
|
27
22
|
schema,
|
|
28
23
|
SelectableCredentialsMap,
|
|
29
24
|
Siopv2AuthorizationResponseData,
|
|
30
|
-
VerifiableCredentialsWithDefinition
|
|
25
|
+
VerifiableCredentialsWithDefinition,
|
|
31
26
|
} from '../index'
|
|
32
27
|
import { Siopv2Machine } from '../machine/Siopv2Machine'
|
|
33
|
-
import {
|
|
34
|
-
getSelectableCredentials,
|
|
35
|
-
siopSendAuthorizationResponse,
|
|
36
|
-
translateCorrelationIdToName
|
|
37
|
-
} from '../services/Siopv2MachineService'
|
|
28
|
+
import { getSelectableCredentials, siopSendAuthorizationResponse, translateCorrelationIdToName } from '../services/Siopv2MachineService'
|
|
38
29
|
import { OpSession } from '../session'
|
|
39
30
|
import {
|
|
40
31
|
IDidAuthSiopOpAuthenticator,
|
|
@@ -105,11 +96,13 @@ export class DidAuthSiopOpAuthenticator implements IAgentPlugin {
|
|
|
105
96
|
private readonly onContactIdentityCreated?: (args: OnContactIdentityCreatedArgs) => Promise<void>
|
|
106
97
|
private readonly onIdentifierCreated?: (args: OnIdentifierCreatedArgs) => Promise<void>
|
|
107
98
|
private readonly eventEmitter?: EventEmitter
|
|
99
|
+
private readonly hasher: Hasher | undefined
|
|
108
100
|
|
|
109
101
|
constructor(
|
|
110
102
|
presentationSignCallback?: PresentationSignCallback,
|
|
111
103
|
customApprovals?: Record<string, (verifiedAuthorizationRequest: VerifiedAuthorizationRequest, sessionId: string) => Promise<void>>,
|
|
112
104
|
options?: DidAuthSiopOpAuthenticatorOptions,
|
|
105
|
+
hasher?: Hasher, // FIXME BEFORE PR move into DidAuthSiopOpAuthenticatorOptions (move everything into options like we do with the rest of the agent plugins)
|
|
113
106
|
) {
|
|
114
107
|
const { onContactIdentityCreated, onIdentifierCreated } = options ?? {}
|
|
115
108
|
this.onContactIdentityCreated = onContactIdentityCreated
|
|
@@ -118,6 +111,7 @@ export class DidAuthSiopOpAuthenticator implements IAgentPlugin {
|
|
|
118
111
|
this.sessions = new Map<string, OpSession>()
|
|
119
112
|
this.customApprovals = customApprovals || {}
|
|
120
113
|
this.presentationSignCallback = presentationSignCallback
|
|
114
|
+
this.hasher = hasher
|
|
121
115
|
}
|
|
122
116
|
|
|
123
117
|
public async onEvent(event: any, context: RequiredContext): Promise<void> {
|
|
@@ -256,7 +250,7 @@ export class DidAuthSiopOpAuthenticator implements IAgentPlugin {
|
|
|
256
250
|
verifiedAuthorizationRequest.presentationDefinitions.length > 0)
|
|
257
251
|
? verifiedAuthorizationRequest.presentationDefinitions
|
|
258
252
|
: undefined,
|
|
259
|
-
dcqlQuery: verifiedAuthorizationRequest.dcqlQuery
|
|
253
|
+
dcqlQuery: verifiedAuthorizationRequest.dcqlQuery,
|
|
260
254
|
}
|
|
261
255
|
}
|
|
262
256
|
|
|
@@ -431,6 +425,7 @@ export class DidAuthSiopOpAuthenticator implements IAgentPlugin {
|
|
|
431
425
|
sessionId: didAuthConfig.sessionId,
|
|
432
426
|
...(args.idOpts && { idOpts: args.idOpts }),
|
|
433
427
|
...(authorizationRequestData.presentationDefinitions !== undefined && { verifiableCredentialsWithDefinition }),
|
|
428
|
+
hasher: this.hasher,
|
|
434
429
|
},
|
|
435
430
|
context,
|
|
436
431
|
)
|
|
@@ -4,7 +4,7 @@ import { InputDescriptorV1, InputDescriptorV2, PresentationDefinitionV1, Present
|
|
|
4
4
|
import { isOID4VCIssuerIdentifier, ManagedIdentifierOptsOrResult } from '@sphereon/ssi-sdk-ext.identifier-resolution'
|
|
5
5
|
import { UniqueDigitalCredential, verifiableCredentialForRoleFilter } from '@sphereon/ssi-sdk.credential-store'
|
|
6
6
|
import { ConnectionType, CredentialRole } from '@sphereon/ssi-sdk.data-store'
|
|
7
|
-
import { CredentialMapper, Loggers, PresentationSubmission } from '@sphereon/ssi-types'
|
|
7
|
+
import { CredentialMapper, Hasher, Loggers, OriginalVerifiableCredential, PresentationSubmission } from '@sphereon/ssi-types'
|
|
8
8
|
import { OID4VP, OpSession } from '../session'
|
|
9
9
|
import {
|
|
10
10
|
DidAgents,
|
|
@@ -20,7 +20,9 @@ import {
|
|
|
20
20
|
import { IAgentContext, IDIDManager } from '@veramo/core'
|
|
21
21
|
import { getOrCreatePrimaryIdentifier, SupportedDidMethodEnum } from '@sphereon/ssi-sdk-ext.did-utils'
|
|
22
22
|
import { encodeJoseBlob } from '@sphereon/ssi-sdk.core'
|
|
23
|
-
import { DcqlCredential,
|
|
23
|
+
import { DcqlCredential, DcqlQuery, DcqlCredentialPresentation, DcqlPresentation } from 'dcql'
|
|
24
|
+
import { convertToDcqlCredentials } from '../utils/dcql'
|
|
25
|
+
import { getOriginalVerifiableCredential } from '../utils/CredentialUtils'
|
|
24
26
|
|
|
25
27
|
export const logger = Loggers.DEFAULT.get(LOGGER_NAMESPACE)
|
|
26
28
|
|
|
@@ -50,6 +52,7 @@ export const siopSendAuthorizationResponse = async (
|
|
|
50
52
|
verifiableCredentialsWithDefinition?: VerifiableCredentialsWithDefinition[]
|
|
51
53
|
idOpts?: ManagedIdentifierOptsOrResult
|
|
52
54
|
dcqlQuery?: DcqlQuery
|
|
55
|
+
hasher?: Hasher
|
|
53
56
|
},
|
|
54
57
|
context: RequiredContext,
|
|
55
58
|
) => {
|
|
@@ -165,103 +168,103 @@ export const siopSendAuthorizationResponse = async (
|
|
|
165
168
|
// todo: Change issuer value in case we do not use identifier. Use key.meta.jwkThumbprint then
|
|
166
169
|
responseSignerOpts: idOpts!,
|
|
167
170
|
})
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
if (typeof firstUniqueDC !== 'object' || !('digitalCredential' in firstUniqueDC)) {
|
|
183
|
-
return Promise.reject(Error('SiopMachine only supports UniqueDigitalCredentials for now'))
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
let identifier: ManagedIdentifierOptsOrResult
|
|
187
|
-
const digitalCredential = firstUniqueDC.digitalCredential
|
|
188
|
-
const firstVC = firstUniqueDC.uniformVerifiableCredential
|
|
189
|
-
const holder = CredentialMapper.isSdJwtDecodedCredential(firstVC)
|
|
190
|
-
? firstVC.decodedPayload.cnf?.jwk
|
|
191
|
-
? //TODO SDK-19: convert the JWK to hex and search for the appropriate key and associated DID
|
|
192
|
-
//doesn't apply to did:jwk only, as you can represent any DID key as a JWK. So whenever you encounter a JWK it doesn't mean it had to come from a did:jwk in the system. It just can always be represented as a did:jwk
|
|
193
|
-
`did:jwk:${encodeJoseBlob(firstVC.decodedPayload.cnf?.jwk)}#0`
|
|
194
|
-
: firstVC.decodedPayload.sub
|
|
195
|
-
: Array.isArray(firstVC.credentialSubject)
|
|
196
|
-
? firstVC.credentialSubject[0].id
|
|
197
|
-
: firstVC.credentialSubject.id
|
|
198
|
-
if (!digitalCredential.kmsKeyRef) {
|
|
199
|
-
// In case the store does not have the kmsKeyRef lets search for the holder
|
|
200
|
-
|
|
201
|
-
if (!holder) {
|
|
202
|
-
return Promise.reject(`No holder found and no kmsKeyRef in DB. Cannot determine identifier to use`)
|
|
171
|
+
} else if (request.dcqlQuery) {
|
|
172
|
+
if (args.verifiableCredentialsWithDefinition !== undefined && args.verifiableCredentialsWithDefinition !== null) {
|
|
173
|
+
const vcs = args.verifiableCredentialsWithDefinition.flatMap((vcd) => vcd.credentials)
|
|
174
|
+
const domain =
|
|
175
|
+
((await request.authorizationRequest.getMergedProperty('client_id')) as string) ??
|
|
176
|
+
request.issuer ??
|
|
177
|
+
(request.versions.includes(SupportedVersion.JWT_VC_PRESENTATION_PROFILE_v1)
|
|
178
|
+
? 'https://self-issued.me/v2/openid-vc'
|
|
179
|
+
: 'https://self-issued.me/v2')
|
|
180
|
+
logger.debug(`NONCE: ${session.nonce}, domain: ${domain}`)
|
|
181
|
+
|
|
182
|
+
const firstUniqueDC = vcs[0]
|
|
183
|
+
if (typeof firstUniqueDC !== 'object' || !('digitalCredential' in firstUniqueDC)) {
|
|
184
|
+
return Promise.reject(Error('SiopMachine only supports UniqueDigitalCredentials for now'))
|
|
203
185
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
186
|
+
|
|
187
|
+
let identifier: ManagedIdentifierOptsOrResult
|
|
188
|
+
const digitalCredential = firstUniqueDC.digitalCredential
|
|
189
|
+
const firstVC = firstUniqueDC.uniformVerifiableCredential
|
|
190
|
+
const holder = CredentialMapper.isSdJwtDecodedCredential(firstVC)
|
|
191
|
+
? firstVC.decodedPayload.cnf?.jwk
|
|
192
|
+
? //TODO SDK-19: convert the JWK to hex and search for the appropriate key and associated DID
|
|
193
|
+
//doesn't apply to did:jwk only, as you can represent any DID key as a JWK. So whenever you encounter a JWK it doesn't mean it had to come from a did:jwk in the system. It just can always be represented as a did:jwk
|
|
194
|
+
`did:jwk:${encodeJoseBlob(firstVC.decodedPayload.cnf?.jwk)}#0`
|
|
195
|
+
: firstVC.decodedPayload.sub
|
|
196
|
+
: Array.isArray(firstVC.credentialSubject)
|
|
197
|
+
? firstVC.credentialSubject[0].id
|
|
198
|
+
: firstVC.credentialSubject.id
|
|
199
|
+
if (!digitalCredential.kmsKeyRef) {
|
|
200
|
+
// In case the store does not have the kmsKeyRef lets search for the holder
|
|
201
|
+
|
|
202
|
+
if (!holder) {
|
|
203
|
+
return Promise.reject(`No holder found and no kmsKeyRef in DB. Cannot determine identifier to use`)
|
|
204
|
+
}
|
|
205
|
+
try {
|
|
206
|
+
identifier = await session.context.agent.identifierManagedGet({ identifier: holder })
|
|
207
|
+
} catch (e) {
|
|
208
|
+
logger.debug(`Holder DID not found: ${holder}`)
|
|
209
|
+
throw e
|
|
210
|
+
}
|
|
211
|
+
} else if (isOID4VCIssuerIdentifier(digitalCredential.kmsKeyRef)) {
|
|
212
|
+
identifier = await session.context.agent.identifierManagedGetByOID4VCIssuer({
|
|
213
|
+
identifier: firstUniqueDC.digitalCredential.kmsKeyRef,
|
|
214
|
+
})
|
|
215
|
+
} else {
|
|
216
|
+
switch (digitalCredential.subjectCorrelationType) {
|
|
217
|
+
case 'DID':
|
|
218
|
+
identifier = await session.context.agent.identifierManagedGetByDid({
|
|
219
|
+
identifier: digitalCredential.subjectCorrelationId ?? holder,
|
|
220
|
+
kmsKeyRef: digitalCredential.kmsKeyRef,
|
|
221
|
+
})
|
|
222
|
+
break
|
|
223
|
+
// TODO other implementations?
|
|
224
|
+
default:
|
|
225
|
+
// Since we are using the kmsKeyRef we will find the KID regardless of the identifier. We set it for later access though
|
|
226
|
+
identifier = await session.context.agent.identifierManagedGetByKid({
|
|
227
|
+
identifier: digitalCredential.subjectCorrelationId ?? holder ?? digitalCredential.kmsKeyRef,
|
|
228
|
+
kmsKeyRef: digitalCredential.kmsKeyRef,
|
|
229
|
+
})
|
|
230
|
+
}
|
|
209
231
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
232
|
+
console.log(`Identifier`, identifier)
|
|
233
|
+
|
|
234
|
+
const dcqlRepresentations: DcqlCredential[] = []
|
|
235
|
+
vcs.forEach((vc: UniqueDigitalCredential | OriginalVerifiableCredential) => {
|
|
236
|
+
const rep = convertToDcqlCredentials(vc, args.hasher)
|
|
237
|
+
if (rep) {
|
|
238
|
+
dcqlRepresentations.push(rep)
|
|
239
|
+
}
|
|
213
240
|
})
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
}
|
|
241
|
+
|
|
242
|
+
const queryResult = DcqlQuery.query(request.dcqlQuery, dcqlRepresentations)
|
|
243
|
+
const presentation: Record<string, DcqlCredentialPresentation> = {}
|
|
244
|
+
|
|
245
|
+
for (const [key, value] of Object.entries(queryResult.credential_matches)) {
|
|
246
|
+
const allMatches = Array.isArray(value) ? value : [value]
|
|
247
|
+
allMatches.forEach((match) => {
|
|
248
|
+
if (match.success) {
|
|
249
|
+
const originalCredential = getOriginalVerifiableCredential(vcs[match.input_credential_index])
|
|
250
|
+
if (!originalCredential) {
|
|
251
|
+
throw new Error(`Index ${match.input_credential_index} out of range in credentials array`)
|
|
252
|
+
}
|
|
253
|
+
presentation[key] =
|
|
254
|
+
(originalCredential as any)['compactSdJwtVc'] !== undefined ? (originalCredential as any).compactSdJwtVc : originalCredential
|
|
255
|
+
}
|
|
256
|
+
})
|
|
229
257
|
}
|
|
230
|
-
}
|
|
231
258
|
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
259
|
+
const response = session.sendAuthorizationResponse({
|
|
260
|
+
responseSignerOpts: identifier,
|
|
261
|
+
...{ dcqlQuery: { dcqlPresentation: DcqlPresentation.parse(presentation) } },
|
|
262
|
+
})
|
|
236
263
|
|
|
237
|
-
|
|
238
|
-
vcs.forEach((vc: any) => {
|
|
239
|
-
const payload = vc['decodedPayload'] !== undefined && vc['decodedPayload'] !== null ? vc.decodedPayload : vc
|
|
240
|
-
const vct = payload?.vct
|
|
241
|
-
const doctype = payload?.docType
|
|
242
|
-
const namespaces = payload?.namespaces
|
|
243
|
-
const credential_format = payload?.credential_format
|
|
244
|
-
const result: DcqlCredential = {
|
|
245
|
-
claims: payload,
|
|
246
|
-
vct,
|
|
247
|
-
doctype,
|
|
248
|
-
namespaces,
|
|
249
|
-
credential_format
|
|
250
|
-
}
|
|
251
|
-
dcqlCredentialToCredential.set(result, vc)
|
|
252
|
-
})
|
|
253
|
-
const queryResult = DcqlQuery.query(request.dcqlQuery!, Array.from(dcqlCredentialToCredential.keys()))
|
|
254
|
-
const presentation: DcqlPresentation.Output = {}
|
|
255
|
-
for (const [key, value] of Object.entries(queryResult.credential_matches)) {
|
|
256
|
-
const credential = dcqlCredentialToCredential.get((('output' in value) ? value?.output : value) as DcqlCredential)!
|
|
257
|
-
presentation[key] = (credential.originalVerifiableCredential as any)['compactSdJwtVc'] !== undefined ? (credential.originalVerifiableCredential as any).compactSdJwtVc : (credential.originalCredential as any).original
|
|
258
|
-
}
|
|
264
|
+
logger.debug(`Response: `, response)
|
|
259
265
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
responseSignerOpts: idOpts!,
|
|
263
|
-
dcqlQuery: { dcqlPresentation: DcqlPresentation.parse(presentation) }
|
|
264
|
-
})
|
|
266
|
+
return response
|
|
267
|
+
}
|
|
265
268
|
}
|
|
266
269
|
throw Error('Presentation Definition or DCQL is required')
|
|
267
270
|
}
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
VerifiablePresentationTypeFormat,
|
|
9
9
|
VerifiedAuthorizationRequest,
|
|
10
10
|
VerifyJwtCallback,
|
|
11
|
-
VPTokenLocation
|
|
11
|
+
VPTokenLocation,
|
|
12
12
|
} from '@sphereon/did-auth-siop'
|
|
13
13
|
import { CheckLinkedDomain, ResolveOpts } from '@sphereon/did-auth-siop-adapter'
|
|
14
14
|
import { DIDDocument } from '@sphereon/did-uni-client'
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { CredentialMapper, Hasher, ICredential, IVerifiableCredential, OriginalVerifiableCredential } from '@sphereon/ssi-types'
|
|
2
|
+
import { VerifiableCredential } from '@veramo/core'
|
|
3
|
+
import { UniqueDigitalCredential } from '@sphereon/ssi-sdk.credential-store'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Return the type(s) of a VC minus the VerifiableCredential type which should always be present
|
|
7
|
+
* @param credential The input credential
|
|
8
|
+
*/
|
|
9
|
+
export const getCredentialTypeAsString = (credential: ICredential | VerifiableCredential): string => {
|
|
10
|
+
if (!credential.type) {
|
|
11
|
+
return 'Verifiable Credential'
|
|
12
|
+
} else if (typeof credential.type === 'string') {
|
|
13
|
+
return credential.type
|
|
14
|
+
}
|
|
15
|
+
return credential.type.filter((type: string): boolean => type !== 'VerifiableCredential').join(', ')
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Returns a Unique Verifiable Credential (with hash) as stored in Veramo, based upon matching the id of the input VC or the proof value of the input VC
|
|
20
|
+
* @param uniqueVCs The Unique VCs to search in
|
|
21
|
+
* @param searchVC The VC to search for in the unique VCs array
|
|
22
|
+
*/
|
|
23
|
+
export const getMatchingUniqueDigitalCredential = (
|
|
24
|
+
uniqueVCs: UniqueDigitalCredential[],
|
|
25
|
+
searchVC: OriginalVerifiableCredential,
|
|
26
|
+
): UniqueDigitalCredential | undefined => {
|
|
27
|
+
// Since an ID is optional in a VC according to VCDM, and we really need the matches, we have a fallback match on something which is guaranteed to be unique for any VC (the proof(s))
|
|
28
|
+
return uniqueVCs.find(
|
|
29
|
+
(uniqueVC: UniqueDigitalCredential) =>
|
|
30
|
+
(typeof searchVC !== 'string' &&
|
|
31
|
+
(uniqueVC.id === (<IVerifiableCredential>searchVC).id ||
|
|
32
|
+
(uniqueVC.originalVerifiableCredential as VerifiableCredential).proof === (<IVerifiableCredential>searchVC).proof)) ||
|
|
33
|
+
(typeof searchVC === 'string' && (uniqueVC.uniformVerifiableCredential as VerifiableCredential)?.proof?.jwt === searchVC) ||
|
|
34
|
+
// We are ignoring the signature of the sd-jwt as PEX signs the vc again and it will not match anymore with the jwt in the proof of the stored jsonld vc
|
|
35
|
+
(typeof searchVC === 'string' &&
|
|
36
|
+
CredentialMapper.isSdJwtEncoded(searchVC) &&
|
|
37
|
+
uniqueVC.uniformVerifiableCredential?.proof &&
|
|
38
|
+
'jwt' in uniqueVC.uniformVerifiableCredential.proof &&
|
|
39
|
+
uniqueVC.uniformVerifiableCredential.proof.jwt?.split('.')?.slice(0, 2)?.join('.') === searchVC.split('.')?.slice(0, 2)?.join('.')),
|
|
40
|
+
)
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
type InputCredential = UniqueDigitalCredential | VerifiableCredential | ICredential | OriginalVerifiableCredential
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Get an original verifiable credential. Maps to wrapped Verifiable Credential first, to get an original JWT as Veramo stores these with a special proof value
|
|
47
|
+
* @param credential The input VC
|
|
48
|
+
*/
|
|
49
|
+
|
|
50
|
+
export const getOriginalVerifiableCredential = (credential: InputCredential): OriginalVerifiableCredential => {
|
|
51
|
+
if (isUniqueDigitalCredential(credential)) {
|
|
52
|
+
if (!credential.originalVerifiableCredential) {
|
|
53
|
+
throw new Error('originalVerifiableCredential is not defined in UniqueDigitalCredential')
|
|
54
|
+
}
|
|
55
|
+
return getCredentialFromProofOrWrapped(credential.originalVerifiableCredential)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return getCredentialFromProofOrWrapped(credential)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const getCredentialFromProofOrWrapped = (cred: any, hasher?: Hasher): OriginalVerifiableCredential => {
|
|
62
|
+
if (typeof cred === 'object' && 'proof' in cred && 'jwt' in cred.proof && CredentialMapper.isSdJwtEncoded(cred.proof.jwt)) {
|
|
63
|
+
return cred.proof.jwt
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return CredentialMapper.toWrappedVerifiableCredential(cred as OriginalVerifiableCredential, { hasher }).original
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export const isUniqueDigitalCredential = (credential: InputCredential): credential is UniqueDigitalCredential => {
|
|
70
|
+
return (credential as UniqueDigitalCredential).digitalCredential !== undefined
|
|
71
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { UniqueDigitalCredential } from '@sphereon/ssi-sdk.credential-store'
|
|
2
|
+
import { DcqlCredential, DcqlSdJwtVcCredential, DcqlW3cVcCredential } from 'dcql'
|
|
3
|
+
import { CredentialMapper, Hasher, OriginalVerifiableCredential } from '@sphereon/ssi-types'
|
|
4
|
+
import { isUniqueDigitalCredential } from './CredentialUtils'
|
|
5
|
+
|
|
6
|
+
export function convertToDcqlCredentials(credential: UniqueDigitalCredential | OriginalVerifiableCredential, hasher?: Hasher): DcqlCredential {
|
|
7
|
+
let payload
|
|
8
|
+
if (isUniqueDigitalCredential(credential)) {
|
|
9
|
+
if (!credential.originalVerifiableCredential) {
|
|
10
|
+
throw new Error('originalVerifiableCredential is not defined in UniqueDigitalCredential')
|
|
11
|
+
}
|
|
12
|
+
payload = CredentialMapper.decodeVerifiableCredential(credential.originalVerifiableCredential, hasher)
|
|
13
|
+
} else {
|
|
14
|
+
payload = CredentialMapper.decodeVerifiableCredential(credential as OriginalVerifiableCredential, hasher)
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
if (!payload) {
|
|
18
|
+
throw new Error('No payload found')
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if ('decodedPayload' in payload && payload.decodedPayload) {
|
|
22
|
+
payload = payload.decodedPayload
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if ('vct' in payload!) {
|
|
26
|
+
return { vct: payload.vct, claims: payload, credential_format: 'vc+sd-jwt' } satisfies DcqlSdJwtVcCredential // TODO dc+sd-jwt support?
|
|
27
|
+
} else if ('docType' in payload! && 'namespaces' in payload) {
|
|
28
|
+
// mdoc
|
|
29
|
+
return { docType: payload.docType, namespaces: payload.namespaces, claims: payload }
|
|
30
|
+
} else {
|
|
31
|
+
return {
|
|
32
|
+
claims: payload,
|
|
33
|
+
credential_format: 'jwt_vc_json', // TODO jwt_vc_json-ld support
|
|
34
|
+
} as DcqlW3cVcCredential
|
|
35
|
+
}
|
|
36
|
+
}
|