@credo-ts/openid4vc 0.6.0-pr-2134-20241217213340 → 0.6.0-pr-2195-20250217170804
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/build/openid4vc-holder/OpenId4VcHolderApi.d.ts +61 -11
- package/build/openid4vc-holder/OpenId4VcHolderApi.js +17 -19
- package/build/openid4vc-holder/OpenId4VcHolderApi.js.map +1 -1
- package/build/openid4vc-holder/OpenId4VcHolderModule.js +1 -1
- package/build/openid4vc-holder/OpenId4VcHolderModule.js.map +1 -1
- package/build/openid4vc-holder/OpenId4VciHolderService.d.ts +7 -8
- package/build/openid4vc-holder/OpenId4VciHolderService.js +60 -45
- package/build/openid4vc-holder/OpenId4VciHolderService.js.map +1 -1
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.d.ts +3 -3
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js +1 -1
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js.map +1 -1
- package/build/openid4vc-holder/OpenId4vcSiopHolderService.d.ts +59 -13
- package/build/openid4vc-holder/OpenId4vcSiopHolderService.js +232 -172
- package/build/openid4vc-holder/OpenId4vcSiopHolderService.js.map +1 -1
- package/build/openid4vc-holder/OpenId4vcSiopHolderServiceOptions.d.ts +18 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerApi.d.ts +196 -46
- package/build/openid4vc-issuer/OpenId4VcIssuerApi.js +8 -19
- package/build/openid4vc-issuer/OpenId4VcIssuerApi.js.map +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerModule.js +3 -3
- package/build/openid4vc-issuer/OpenId4VcIssuerModule.js.map +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.d.ts +13 -13
- package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js +19 -40
- package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js.map +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerService.d.ts +198 -48
- package/build/openid4vc-issuer/OpenId4VcIssuerService.js +45 -37
- package/build/openid4vc-issuer/OpenId4VcIssuerService.js.map +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.d.ts +8 -3
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.d.ts +1 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js +26 -12
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js.map +1 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js +19 -22
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js.map +1 -1
- package/build/openid4vc-issuer/router/accessTokenEndpoint.js +11 -9
- package/build/openid4vc-issuer/router/accessTokenEndpoint.js.map +1 -1
- package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js +17 -6
- package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js.map +1 -1
- package/build/openid4vc-issuer/router/authorizationServerMetadataEndpoint.js +1 -1
- package/build/openid4vc-issuer/router/authorizationServerMetadataEndpoint.js.map +1 -1
- package/build/openid4vc-issuer/router/credentialEndpoint.js +11 -9
- package/build/openid4vc-issuer/router/credentialEndpoint.js.map +1 -1
- package/build/openid4vc-issuer/router/issuerMetadataEndpoint.js +7 -3
- package/build/openid4vc-issuer/router/issuerMetadataEndpoint.js.map +1 -1
- package/build/openid4vc-issuer/util/txCode.js +2 -3
- package/build/openid4vc-issuer/util/txCode.js.map +1 -1
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.d.ts +21 -7
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js +499 -263
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js.map +1 -1
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierServiceOptions.d.ts +23 -3
- package/build/openid4vc-verifier/OpenId4VcVerifierApi.d.ts +3 -3
- package/build/openid4vc-verifier/OpenId4VcVerifierApi.js +11 -18
- package/build/openid4vc-verifier/OpenId4VcVerifierApi.js.map +1 -1
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.js +3 -3
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.js.map +1 -1
- package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.js +11 -8
- package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.js.map +1 -1
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.d.ts +23 -4
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js +25 -29
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js.map +1 -1
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js +4 -6
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js.map +1 -1
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js +11 -6
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js.map +1 -1
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.js +7 -5
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.js.map +1 -1
- package/build/openid4vc-verifier/router/authorizationEndpoint.js +5 -104
- package/build/openid4vc-verifier/router/authorizationEndpoint.js.map +1 -1
- package/build/shared/callbacks.d.ts +16 -5
- package/build/shared/callbacks.js +120 -24
- package/build/shared/callbacks.js.map +1 -1
- package/build/shared/issuerMetadataUtils.d.ts +102 -144
- package/build/shared/models/index.d.ts +10 -8
- package/build/shared/models/index.js +5 -5
- package/build/shared/models/index.js.map +1 -1
- package/build/shared/router/context.d.ts +2 -2
- package/build/shared/router/context.js +5 -5
- package/build/shared/router/context.js.map +1 -1
- package/build/shared/router/tenants.js +1 -2
- package/build/shared/router/tenants.js.map +1 -1
- package/build/shared/utils.d.ts +6 -6
- package/build/shared/utils.js +22 -61
- package/build/shared/utils.js.map +1 -1
- package/package.json +7 -6
- package/build/shared/transform.d.ts +0 -5
- package/build/shared/transform.js +0 -73
- package/build/shared/transform.js.map +0 -1
|
@@ -11,179 +11,292 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.OpenId4VcSiopHolderService = void 0;
|
|
13
13
|
const core_1 = require("@credo-ts/core");
|
|
14
|
-
const
|
|
15
|
-
const
|
|
14
|
+
const oid4vp_1 = require("@openid4vc/oid4vp");
|
|
15
|
+
const callbacks_1 = require("../shared/callbacks");
|
|
16
16
|
const utils_1 = require("../shared/utils");
|
|
17
17
|
let OpenId4VcSiopHolderService = class OpenId4VcSiopHolderService {
|
|
18
|
-
constructor(presentationExchangeService) {
|
|
18
|
+
constructor(presentationExchangeService, dcqlService) {
|
|
19
19
|
this.presentationExchangeService = presentationExchangeService;
|
|
20
|
+
this.dcqlService = dcqlService;
|
|
20
21
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
getOid4vpClient(agentContext, trustedCertificates) {
|
|
23
|
+
const callbacks = (0, callbacks_1.getOid4vcCallbacks)(agentContext, trustedCertificates);
|
|
24
|
+
return new oid4vp_1.Oid4vpClient({ callbacks });
|
|
25
|
+
}
|
|
26
|
+
async handlePresentationExchangeRequest(agentContext, _presentationDefinition, transactionData) {
|
|
27
|
+
const presentationDefinition = _presentationDefinition;
|
|
28
|
+
this.presentationExchangeService.validatePresentationDefinition(presentationDefinition);
|
|
29
|
+
const presentationExchange = {
|
|
30
|
+
definition: presentationDefinition,
|
|
31
|
+
credentialsForRequest: await this.presentationExchangeService.getCredentialsForRequest(agentContext, presentationDefinition),
|
|
32
|
+
};
|
|
33
|
+
let credentialsForTransactionData = undefined;
|
|
34
|
+
// for each transaction data entry, get all submission entries that can be used to sign the respective transaction
|
|
35
|
+
if (transactionData) {
|
|
36
|
+
credentialsForTransactionData = [];
|
|
37
|
+
for (const transactionDataEntry of transactionData) {
|
|
38
|
+
for (const requirement of presentationExchange.credentialsForRequest.requirements) {
|
|
39
|
+
const recordSet = new Set();
|
|
40
|
+
const filtered = requirement.submissionEntry.filter((submission) => transactionDataEntry.credential_ids.includes(submission.inputDescriptorId));
|
|
41
|
+
for (const submission of filtered) {
|
|
42
|
+
for (const credential of submission.verifiableCredentials) {
|
|
43
|
+
recordSet.add(credential);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (recordSet.size === 0) {
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
credentialsForTransactionData.push({
|
|
50
|
+
transactionDataEntry,
|
|
51
|
+
submissionEntry: { ...filtered[0], verifiableCredentials: Array.from(recordSet) },
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
31
55
|
}
|
|
32
|
-
|
|
56
|
+
return { pex: { ...presentationExchange, transactionData: credentialsForTransactionData } };
|
|
57
|
+
}
|
|
58
|
+
async handleDcqlRequest(agentContext, dcql, transactionData) {
|
|
59
|
+
const dcqlQuery = this.dcqlService.validateDcqlQuery(dcql);
|
|
60
|
+
const dcqlQueryResult = await this.dcqlService.getCredentialsForRequest(agentContext, dcqlQuery);
|
|
61
|
+
let credentialsForTransactionData = undefined;
|
|
62
|
+
// for each transaction data entry, get all submission entries that can be used to sign the respective transaction
|
|
63
|
+
if (transactionData) {
|
|
64
|
+
credentialsForTransactionData = [];
|
|
65
|
+
for (const transactionDataEntry of transactionData) {
|
|
66
|
+
const result = transactionDataEntry.credential_ids
|
|
67
|
+
.map((credentialId) => {
|
|
68
|
+
const match = dcqlQueryResult.credential_matches[credentialId];
|
|
69
|
+
if (!match.success)
|
|
70
|
+
return undefined;
|
|
71
|
+
return {
|
|
72
|
+
transactionDataEntry,
|
|
73
|
+
dcql: {
|
|
74
|
+
record: match.record,
|
|
75
|
+
credentialQueryId: match.input_credential_index,
|
|
76
|
+
claimSetId: match.claim_set_index,
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
})
|
|
80
|
+
.filter((r) => r !== undefined);
|
|
81
|
+
credentialsForTransactionData.push(...result);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return { dcql: { queryResult: dcqlQueryResult, transactionData: credentialsForTransactionData } };
|
|
85
|
+
}
|
|
86
|
+
async resolveAuthorizationRequest(agentContext, requestJwtOrUri, trustedCertificates, origin) {
|
|
87
|
+
const openid4vpClient = this.getOid4vpClient(agentContext, trustedCertificates);
|
|
88
|
+
const { params } = openid4vpClient.parseOpenid4vpAuthorizationRequestPayload({ requestPayload: requestJwtOrUri });
|
|
89
|
+
const verifiedAuthRequest = await openid4vpClient.resolveOpenId4vpAuthorizationRequest({ request: params, origin });
|
|
90
|
+
const { client, pex, transactionData, dcql } = verifiedAuthRequest;
|
|
91
|
+
if (client.scheme !== 'x509_san_dns' &&
|
|
92
|
+
client.scheme !== 'x509_san_uri' &&
|
|
93
|
+
client.scheme !== 'did' &&
|
|
94
|
+
client.scheme !== 'web-origin') {
|
|
95
|
+
throw new core_1.CredoError(`Client scheme '${client.scheme}' is not supported`);
|
|
96
|
+
}
|
|
97
|
+
const { pex: pexResult } = pex?.presentation_definition
|
|
98
|
+
? await this.handlePresentationExchangeRequest(agentContext, pex.presentation_definition, transactionData)
|
|
99
|
+
: { pex: undefined };
|
|
100
|
+
const { dcql: dcqlResult } = dcql?.query
|
|
101
|
+
? await this.handleDcqlRequest(agentContext, dcql.query, transactionData)
|
|
102
|
+
: { dcql: undefined };
|
|
103
|
+
agentContext.config.logger.debug(`verified SIOP Authorization Request`);
|
|
104
|
+
agentContext.config.logger.debug(`requestJwtOrUri '${requestJwtOrUri}'`);
|
|
33
105
|
return {
|
|
34
|
-
authorizationRequest:
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
? {
|
|
38
|
-
definition: presentationDefinition,
|
|
39
|
-
credentialsForRequest: await this.presentationExchangeService.getCredentialsForRequest(agentContext, presentationDefinition),
|
|
40
|
-
}
|
|
41
|
-
: undefined,
|
|
106
|
+
authorizationRequest: verifiedAuthRequest,
|
|
107
|
+
presentationExchange: pexResult,
|
|
108
|
+
dcql: dcqlResult,
|
|
42
109
|
};
|
|
43
110
|
}
|
|
111
|
+
async getCredentialQueryIdsToSignTransactionData(dcql, transactionData) {
|
|
112
|
+
// check if all credentials are present for the transaction data
|
|
113
|
+
// This needs a deep integration into pex and out pex requirements
|
|
114
|
+
const dcqlCredentialQueryIds = [];
|
|
115
|
+
for (const tdEntry of transactionData) {
|
|
116
|
+
// find a inputDescriptor in the credential_ids which is present in the response
|
|
117
|
+
// and use it to sign of the transaction
|
|
118
|
+
const dcqlCredentialForRequest = tdEntry.credential_ids.find((credentialId) => dcql.credentials[credentialId]);
|
|
119
|
+
if (!dcqlCredentialForRequest) {
|
|
120
|
+
throw new core_1.CredoError('Cannot create authorization response. No credentials found for signing transaction data.');
|
|
121
|
+
}
|
|
122
|
+
dcqlCredentialQueryIds.push(dcqlCredentialForRequest);
|
|
123
|
+
}
|
|
124
|
+
return dcqlCredentialQueryIds;
|
|
125
|
+
}
|
|
126
|
+
async getInputDescriptorsToSignTransactionData(presentationExchange, transactionData) {
|
|
127
|
+
// check if all credentials are present for the transaction data
|
|
128
|
+
// This needs a deep integration into pex and out pex requirements
|
|
129
|
+
const inputDescriptorsToSignTransactionData = [];
|
|
130
|
+
for (const tdEntry of transactionData) {
|
|
131
|
+
// find a inputDescriptor in the credential_ids which is present in the response
|
|
132
|
+
// and use it to sign of the transaction
|
|
133
|
+
const inputDescriptorForCredential = tdEntry.credential_ids.find((credentialId) => presentationExchange.credentials[credentialId]);
|
|
134
|
+
if (!inputDescriptorForCredential) {
|
|
135
|
+
throw new core_1.CredoError('Cannot create authorization response. No credentials found for signing transaction data.');
|
|
136
|
+
}
|
|
137
|
+
inputDescriptorsToSignTransactionData.push(inputDescriptorForCredential);
|
|
138
|
+
}
|
|
139
|
+
return inputDescriptorsToSignTransactionData;
|
|
140
|
+
}
|
|
44
141
|
async acceptAuthorizationRequest(agentContext, options) {
|
|
45
|
-
|
|
46
|
-
const { authorizationRequest, presentationExchange } = options;
|
|
142
|
+
const { authorizationRequest, presentationExchange, dcql } = options;
|
|
47
143
|
let openIdTokenIssuer = options.openIdTokenIssuer;
|
|
48
144
|
let presentationExchangeOptions = undefined;
|
|
49
|
-
|
|
145
|
+
let dcqlOptions = undefined;
|
|
146
|
+
const nonce = authorizationRequest.payload.nonce;
|
|
147
|
+
const clientId = authorizationRequest.payload.client_id;
|
|
148
|
+
let responseUri;
|
|
149
|
+
if ((0, oid4vp_1.isOpenid4vpAuthorizationRequestDcApi)(authorizationRequest.payload)) {
|
|
150
|
+
const _responseUri = authorizationRequest.client.identifier ?? options.origin;
|
|
151
|
+
if (!_responseUri) {
|
|
152
|
+
throw new core_1.CredoError('Missing required parameter `origin` parameter for accepting openid4vp dc api requests.');
|
|
153
|
+
}
|
|
154
|
+
responseUri = _responseUri;
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
const _responseUri = authorizationRequest.payload.response_uri ?? authorizationRequest.payload.redirect_uri;
|
|
158
|
+
if (!_responseUri) {
|
|
159
|
+
throw new core_1.CredoError('Missing required parameter `response_uri` or `redirect_uri` in the authorization request.');
|
|
160
|
+
}
|
|
161
|
+
responseUri = _responseUri;
|
|
162
|
+
}
|
|
163
|
+
const wantsIdToken = authorizationRequest.payload.response_type.includes('id_token');
|
|
50
164
|
const authorizationResponseNonce = await agentContext.wallet.generateNonce();
|
|
51
165
|
// Handle presentation exchange part
|
|
52
|
-
if (authorizationRequest.
|
|
166
|
+
if (authorizationRequest.pex) {
|
|
53
167
|
if (!presentationExchange) {
|
|
54
168
|
throw new core_1.CredoError('Authorization request included presentation definition. `presentationExchange` MUST be supplied to accept authorization requests.');
|
|
55
169
|
}
|
|
56
|
-
|
|
57
|
-
if (
|
|
58
|
-
|
|
170
|
+
let inputDescriptorsToSignTransactionData = undefined;
|
|
171
|
+
if (authorizationRequest.transactionData && presentationExchange) {
|
|
172
|
+
inputDescriptorsToSignTransactionData = await this.getInputDescriptorsToSignTransactionData(presentationExchange, authorizationRequest.transactionData);
|
|
59
173
|
}
|
|
60
|
-
const
|
|
61
|
-
if (!clientId) {
|
|
62
|
-
throw new core_1.CredoError("Unable to extract 'client_id' from authorization request");
|
|
63
|
-
}
|
|
64
|
-
const responseUri = (_a = (await authorizationRequest.authorizationRequest.getMergedProperty('response_uri'))) !== null && _a !== void 0 ? _a : (await authorizationRequest.authorizationRequest.getMergedProperty('redirect_uri'));
|
|
65
|
-
if (!responseUri) {
|
|
66
|
-
throw new core_1.CredoError("Unable to extract 'response_uri' from authorization request");
|
|
67
|
-
}
|
|
68
|
-
const { verifiablePresentations, presentationSubmission } = await this.presentationExchangeService.createPresentation(agentContext, {
|
|
174
|
+
const { presentationSubmission, encodedVerifiablePresentations, verifiablePresentations } = await this.presentationExchangeService.createPresentation(agentContext, {
|
|
69
175
|
credentialsForInputDescriptor: presentationExchange.credentials,
|
|
70
|
-
|
|
176
|
+
transactionDataAuthorization: authorizationRequest.transactionData && inputDescriptorsToSignTransactionData
|
|
177
|
+
? {
|
|
178
|
+
credentials: inputDescriptorsToSignTransactionData,
|
|
179
|
+
transactionData: authorizationRequest.transactionData,
|
|
180
|
+
}
|
|
181
|
+
: undefined,
|
|
182
|
+
presentationDefinition: authorizationRequest.pex
|
|
183
|
+
.presentation_definition,
|
|
71
184
|
challenge: nonce,
|
|
72
185
|
domain: clientId,
|
|
73
186
|
presentationSubmissionLocation: core_1.DifPresentationExchangeSubmissionLocation.EXTERNAL,
|
|
74
|
-
openid4vp: {
|
|
75
|
-
mdocGeneratedNonce: authorizationResponseNonce,
|
|
76
|
-
responseUri,
|
|
77
|
-
},
|
|
187
|
+
openid4vp: { mdocGeneratedNonce: authorizationResponseNonce, responseUri },
|
|
78
188
|
});
|
|
79
|
-
presentationExchangeOptions = {
|
|
80
|
-
verifiablePresentations: verifiablePresentations.map((vp) => (0, transform_1.getSphereonVerifiablePresentation)(vp)),
|
|
81
|
-
presentationSubmission,
|
|
82
|
-
vpTokenLocation: did_auth_siop_1.VPTokenLocation.AUTHORIZATION_RESPONSE,
|
|
83
|
-
};
|
|
84
|
-
if (wantsIdToken && !openIdTokenIssuer) {
|
|
85
|
-
openIdTokenIssuer = this.getOpenIdTokenIssuerFromVerifiablePresentation(verifiablePresentations[0]);
|
|
86
|
-
}
|
|
189
|
+
presentationExchangeOptions = { verifiablePresentations, encodedVerifiablePresentations, presentationSubmission };
|
|
87
190
|
}
|
|
88
191
|
else if (options.presentationExchange) {
|
|
89
192
|
throw new core_1.CredoError('`presentationExchange` was supplied, but no presentation definition was found in the presentation request.');
|
|
90
193
|
}
|
|
194
|
+
if (authorizationRequest.dcql) {
|
|
195
|
+
if (!dcql) {
|
|
196
|
+
throw new core_1.CredoError('Authorization request included dcql request. `dcql` MUST be supplied to accept authorization requests.');
|
|
197
|
+
}
|
|
198
|
+
let credentialQuerIdsToSignTd = undefined;
|
|
199
|
+
if (authorizationRequest.transactionData) {
|
|
200
|
+
credentialQuerIdsToSignTd = await this.getCredentialQueryIdsToSignTransactionData(dcql, authorizationRequest.transactionData);
|
|
201
|
+
}
|
|
202
|
+
const { dcqlPresentation, encodedDcqlPresentation } = await this.dcqlService.createPresentation(agentContext, {
|
|
203
|
+
credentialQueryToCredential: dcql.credentials,
|
|
204
|
+
transactionDataAuthorization: authorizationRequest.transactionData && credentialQuerIdsToSignTd
|
|
205
|
+
? {
|
|
206
|
+
credentials: credentialQuerIdsToSignTd,
|
|
207
|
+
transactionData: authorizationRequest.transactionData,
|
|
208
|
+
}
|
|
209
|
+
: undefined,
|
|
210
|
+
challenge: nonce,
|
|
211
|
+
domain: clientId,
|
|
212
|
+
openid4vp: { mdocGeneratedNonce: authorizationResponseNonce, responseUri },
|
|
213
|
+
});
|
|
214
|
+
dcqlOptions = {
|
|
215
|
+
verifiablePresentations: dcqlPresentation,
|
|
216
|
+
encodedVerifiablePresentations: encodedDcqlPresentation,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
else if (options.dcql) {
|
|
220
|
+
throw new core_1.CredoError('`dcql` was supplied, but no dcql request was found in the presentation request.');
|
|
221
|
+
}
|
|
91
222
|
if (wantsIdToken) {
|
|
223
|
+
const presentations = presentationExchangeOptions?.verifiablePresentations ??
|
|
224
|
+
(dcqlOptions?.verifiablePresentations ? Object.values(dcqlOptions.verifiablePresentations) : []) ??
|
|
225
|
+
[];
|
|
226
|
+
const nonMdocPresentation = presentations.find((presentation) => presentation instanceof core_1.MdocDeviceResponse === false);
|
|
227
|
+
if (nonMdocPresentation) {
|
|
228
|
+
openIdTokenIssuer = this.getOpenIdTokenIssuerFromVerifiablePresentation(nonMdocPresentation);
|
|
229
|
+
}
|
|
92
230
|
if (!openIdTokenIssuer) {
|
|
93
231
|
throw new core_1.CredoError('Unable to create authorization response. openIdTokenIssuer MUST be supplied when no presentation is active and the ResponseType includes id_token.');
|
|
94
232
|
}
|
|
95
|
-
this.assertValidTokenIssuer(authorizationRequest, openIdTokenIssuer);
|
|
96
233
|
}
|
|
97
234
|
const jwtIssuer = wantsIdToken && openIdTokenIssuer
|
|
98
235
|
? await (0, utils_1.openIdTokenIssuerToJwtIssuer)(agentContext, openIdTokenIssuer)
|
|
99
236
|
: undefined;
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
237
|
+
let vpToken = presentationExchangeOptions?.encodedVerifiablePresentations.length === 1 &&
|
|
238
|
+
presentationExchangeOptions.presentationSubmission?.descriptor_map[0]?.path === '$'
|
|
239
|
+
? presentationExchangeOptions.encodedVerifiablePresentations[0]
|
|
240
|
+
: presentationExchangeOptions?.encodedVerifiablePresentations;
|
|
241
|
+
if (dcqlOptions?.encodedVerifiablePresentations) {
|
|
242
|
+
vpToken = dcqlOptions.encodedVerifiablePresentations;
|
|
243
|
+
}
|
|
244
|
+
const openid4vpClient = this.getOid4vpClient(agentContext);
|
|
245
|
+
const response = await openid4vpClient.createOpenid4vpAuthorizationResponse({
|
|
246
|
+
requestParams: authorizationRequest.payload,
|
|
247
|
+
responseParams: {
|
|
248
|
+
vp_token: vpToken,
|
|
249
|
+
presentation_submission: presentationExchangeOptions?.presentationSubmission,
|
|
250
|
+
},
|
|
251
|
+
jarm: authorizationRequest.payload.response_mode && (0, oid4vp_1.isJarmResponseMode)(authorizationRequest.payload.response_mode)
|
|
252
|
+
? {
|
|
253
|
+
jwtSigner: jwtIssuer,
|
|
254
|
+
encryption: { nonce: authorizationResponseNonce },
|
|
255
|
+
serverMetadata: {
|
|
256
|
+
authorization_signing_alg_values_supported: ['RS256'],
|
|
118
257
|
authorization_encryption_alg_values_supported: ['ECDH-ES'],
|
|
119
258
|
authorization_encryption_enc_values_supported: ['A256GCM'],
|
|
120
259
|
},
|
|
121
|
-
});
|
|
122
|
-
if (validatedMetadata.type !== 'encrypted') {
|
|
123
|
-
throw new core_1.CredoError('Only encrypted JARM responses are supported.');
|
|
124
260
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
authorizationResponseNonce,
|
|
137
|
-
});
|
|
138
|
-
return { response: jwe };
|
|
139
|
-
};
|
|
140
|
-
};
|
|
141
|
-
const response = await openidProvider.submitAuthorizationResponse(authorizationResponseWithCorrelationId, getCreateJarmResponseCallback(authorizationResponseNonce));
|
|
142
|
-
const responseText = await response
|
|
261
|
+
: undefined,
|
|
262
|
+
});
|
|
263
|
+
if ((0, oid4vp_1.isOpenid4vpAuthorizationRequestDcApi)(authorizationRequest.payload)) {
|
|
264
|
+
throw new core_1.CredoError('Submission of DC API responses is not yet supported.');
|
|
265
|
+
}
|
|
266
|
+
const result = await openid4vpClient.submitOpenid4vpAuthorizationResponse({
|
|
267
|
+
request: authorizationRequest.payload,
|
|
268
|
+
response: response.responseParams,
|
|
269
|
+
jarm: response.jarm ? { responseJwt: response.jarm.responseJwt } : undefined,
|
|
270
|
+
});
|
|
271
|
+
const responseText = await result.response
|
|
143
272
|
.clone()
|
|
144
273
|
.text()
|
|
145
274
|
.catch(() => null);
|
|
146
|
-
const responseJson = (await response
|
|
275
|
+
const responseJson = (await result.response
|
|
147
276
|
.clone()
|
|
148
277
|
.json()
|
|
149
278
|
.catch(() => null));
|
|
150
|
-
if (!response.ok) {
|
|
279
|
+
if (!result.response.ok) {
|
|
151
280
|
return {
|
|
152
281
|
ok: false,
|
|
153
282
|
serverResponse: {
|
|
154
|
-
status: response.status,
|
|
155
|
-
body: responseJson
|
|
283
|
+
status: result.response.status,
|
|
284
|
+
body: responseJson ?? responseText,
|
|
156
285
|
},
|
|
157
|
-
submittedResponse:
|
|
286
|
+
submittedResponse: response.responseParams,
|
|
158
287
|
};
|
|
159
288
|
}
|
|
160
289
|
return {
|
|
161
290
|
ok: true,
|
|
162
291
|
serverResponse: {
|
|
163
|
-
status: response.status,
|
|
164
|
-
body: responseJson
|
|
292
|
+
status: result.response.status,
|
|
293
|
+
body: responseJson ?? {},
|
|
165
294
|
},
|
|
166
|
-
submittedResponse:
|
|
167
|
-
redirectUri: responseJson
|
|
168
|
-
presentationDuringIssuanceSession: responseJson
|
|
295
|
+
submittedResponse: response.responseParams,
|
|
296
|
+
redirectUri: responseJson?.redirect_uri,
|
|
297
|
+
presentationDuringIssuanceSession: responseJson?.presentation_during_issuance_session,
|
|
169
298
|
};
|
|
170
299
|
}
|
|
171
|
-
async getOpenIdProvider(agentContext) {
|
|
172
|
-
const builder = did_auth_siop_1.OP.builder()
|
|
173
|
-
.withExpiresIn(6000)
|
|
174
|
-
.withIssuer(did_auth_siop_1.ResponseIss.SELF_ISSUED_V2)
|
|
175
|
-
.withResponseMode(did_auth_siop_1.ResponseMode.POST)
|
|
176
|
-
.withSupportedVersions([
|
|
177
|
-
did_auth_siop_1.SupportedVersion.SIOPv2_D11,
|
|
178
|
-
did_auth_siop_1.SupportedVersion.SIOPv2_D12_OID4VP_D18,
|
|
179
|
-
did_auth_siop_1.SupportedVersion.SIOPv2_D12_OID4VP_D20,
|
|
180
|
-
])
|
|
181
|
-
.withCreateJwtCallback((0, utils_1.getCreateJwtCallback)(agentContext))
|
|
182
|
-
.withVerifyJwtCallback((0, utils_1.getVerifyJwtCallback)(agentContext))
|
|
183
|
-
.withHasher(core_1.Hasher.hash);
|
|
184
|
-
const openidProvider = builder.build();
|
|
185
|
-
return openidProvider;
|
|
186
|
-
}
|
|
187
300
|
getOpenIdTokenIssuerFromVerifiablePresentation(verifiablePresentation) {
|
|
188
301
|
let openIdTokenIssuer;
|
|
189
302
|
if (verifiablePresentation instanceof core_1.W3cJsonLdVerifiablePresentation) {
|
|
@@ -239,64 +352,11 @@ let OpenId4VcSiopHolderService = class OpenId4VcSiopHolderService {
|
|
|
239
352
|
}
|
|
240
353
|
return openIdTokenIssuer;
|
|
241
354
|
}
|
|
242
|
-
assertValidTokenIssuer(authorizationRequest, openIdTokenIssuer) {
|
|
243
|
-
const subjectSyntaxTypesSupported = authorizationRequest.registrationMetadataPayload.subject_syntax_types_supported;
|
|
244
|
-
if (!subjectSyntaxTypesSupported) {
|
|
245
|
-
throw new core_1.CredoError('subject_syntax_types_supported is not supplied in the registration metadata. subject_syntax_types is REQUIRED.');
|
|
246
|
-
}
|
|
247
|
-
let allowedSubjectSyntaxTypes = [];
|
|
248
|
-
if (openIdTokenIssuer.method === 'did') {
|
|
249
|
-
const parsedDid = (0, core_1.parseDid)(openIdTokenIssuer.didUrl);
|
|
250
|
-
// Either did:<method> or did (for all did methods) is allowed
|
|
251
|
-
allowedSubjectSyntaxTypes = [`did:${parsedDid.method}`, 'did'];
|
|
252
|
-
}
|
|
253
|
-
else if (openIdTokenIssuer.method === 'jwk') {
|
|
254
|
-
allowedSubjectSyntaxTypes = ['urn:ietf:params:oauth:jwk-thumbprint'];
|
|
255
|
-
}
|
|
256
|
-
else {
|
|
257
|
-
throw new core_1.CredoError("Only 'did' and 'jwk' are supported as openIdTokenIssuer at the moment");
|
|
258
|
-
}
|
|
259
|
-
// At least one of the allowed subject syntax types must be supported by the RP
|
|
260
|
-
if (!allowedSubjectSyntaxTypes.some((allowed) => subjectSyntaxTypesSupported.includes(allowed))) {
|
|
261
|
-
throw new core_1.CredoError([
|
|
262
|
-
'The provided openIdTokenIssuer is not supported by the relying party.',
|
|
263
|
-
`Supported subject syntax types: '${subjectSyntaxTypesSupported.join(', ')}'`,
|
|
264
|
-
].join('\n'));
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
async encryptJarmResponse(agentContext, options) {
|
|
268
|
-
const { payload, jwkJson } = options;
|
|
269
|
-
const jwk = (0, core_1.getJwkFromJson)(jwkJson);
|
|
270
|
-
const key = jwk.key;
|
|
271
|
-
if (!agentContext.wallet.directEncryptCompactJweEcdhEs) {
|
|
272
|
-
throw new core_1.CredoError('Cannot decrypt Jarm Response, wallet does not support directEncryptCompactJweEcdhEs. You need to upgrade your wallet implementation.');
|
|
273
|
-
}
|
|
274
|
-
if (options.alg !== 'ECDH-ES') {
|
|
275
|
-
throw new core_1.CredoError("Only 'ECDH-ES' is supported as 'alg' value for JARM response encryption");
|
|
276
|
-
}
|
|
277
|
-
if (options.enc !== 'A256GCM') {
|
|
278
|
-
throw new core_1.CredoError("Only 'A256GCM' is supported as 'enc' value for JARM response encryption");
|
|
279
|
-
}
|
|
280
|
-
if (key.keyType !== core_1.KeyType.P256) {
|
|
281
|
-
throw new core_1.CredoError(`Only '${core_1.KeyType.P256}' key type is supported for JARM response encryption`);
|
|
282
|
-
}
|
|
283
|
-
const data = core_1.Buffer.from(JSON.stringify(payload));
|
|
284
|
-
const jwe = await agentContext.wallet.directEncryptCompactJweEcdhEs({
|
|
285
|
-
data,
|
|
286
|
-
recipientKey: key,
|
|
287
|
-
header: {
|
|
288
|
-
kid: jwkJson.kid,
|
|
289
|
-
},
|
|
290
|
-
encryptionAlgorithm: options.enc,
|
|
291
|
-
apu: core_1.TypedArrayEncoder.toBase64URL(core_1.TypedArrayEncoder.fromString(options.authorizationResponseNonce)),
|
|
292
|
-
apv: core_1.TypedArrayEncoder.toBase64URL(core_1.TypedArrayEncoder.fromString(options.authorizationRequestNonce)),
|
|
293
|
-
});
|
|
294
|
-
return jwe;
|
|
295
|
-
}
|
|
296
355
|
};
|
|
297
356
|
exports.OpenId4VcSiopHolderService = OpenId4VcSiopHolderService;
|
|
298
357
|
exports.OpenId4VcSiopHolderService = OpenId4VcSiopHolderService = __decorate([
|
|
299
358
|
(0, core_1.injectable)(),
|
|
300
|
-
__metadata("design:paramtypes", [core_1.DifPresentationExchangeService
|
|
359
|
+
__metadata("design:paramtypes", [core_1.DifPresentationExchangeService,
|
|
360
|
+
core_1.DcqlService])
|
|
301
361
|
], OpenId4VcSiopHolderService);
|
|
302
362
|
//# sourceMappingURL=OpenId4vcSiopHolderService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenId4vcSiopHolderService.js","sourceRoot":"","sources":["../../src/openid4vc-holder/OpenId4vcSiopHolderService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OpenId4vcSiopHolderService.js","sourceRoot":"","sources":["../../src/openid4vc-holder/OpenId4vcSiopHolderService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { DcqlCredentialsForRequest, DcqlQueryResult, DcqlTransactionDataRequest, DifPexCredentialsForRequest, DifPexInputDescriptorToCredentials, DifPresentationExchangeDefinition, TransactionDataRequest } from '@credo-ts/core';
|
|
1
2
|
import type { OpenId4VcJwtIssuer, OpenId4VcSiopVerifiedAuthorizationRequest } from '../shared';
|
|
2
|
-
import type { DifPexCredentialsForRequest, DifPexInputDescriptorToCredentials, DifPresentationExchangeDefinition } from '@credo-ts/core';
|
|
3
3
|
export interface OpenId4VcSiopResolvedAuthorizationRequest {
|
|
4
4
|
/**
|
|
5
5
|
* Parameters related to DIF Presentation Exchange. Only defined when
|
|
@@ -8,6 +8,11 @@ export interface OpenId4VcSiopResolvedAuthorizationRequest {
|
|
|
8
8
|
presentationExchange?: {
|
|
9
9
|
definition: DifPresentationExchangeDefinition;
|
|
10
10
|
credentialsForRequest: DifPexCredentialsForRequest;
|
|
11
|
+
transactionData?: TransactionDataRequest;
|
|
12
|
+
};
|
|
13
|
+
dcql?: {
|
|
14
|
+
queryResult: DcqlQueryResult;
|
|
15
|
+
transactionData?: DcqlTransactionDataRequest;
|
|
11
16
|
};
|
|
12
17
|
/**
|
|
13
18
|
* The verified authorization request.
|
|
@@ -22,6 +27,13 @@ export interface OpenId4VcSiopAcceptAuthorizationRequestOptions {
|
|
|
22
27
|
presentationExchange?: {
|
|
23
28
|
credentials: DifPexInputDescriptorToCredentials;
|
|
24
29
|
};
|
|
30
|
+
/**
|
|
31
|
+
* Parameters related to Dcql. MUST be present when the resolved
|
|
32
|
+
* authorization request included a `dcql` parameter.
|
|
33
|
+
*/
|
|
34
|
+
dcql?: {
|
|
35
|
+
credentials: DcqlCredentialsForRequest;
|
|
36
|
+
};
|
|
25
37
|
/**
|
|
26
38
|
* The issuer of the ID Token.
|
|
27
39
|
*
|
|
@@ -35,4 +47,9 @@ export interface OpenId4VcSiopAcceptAuthorizationRequestOptions {
|
|
|
35
47
|
* The verified authorization request.
|
|
36
48
|
*/
|
|
37
49
|
authorizationRequest: OpenId4VcSiopVerifiedAuthorizationRequest;
|
|
50
|
+
/**
|
|
51
|
+
* The origin of the verifier that is making the request.
|
|
52
|
+
* Required in combination with the DC Api
|
|
53
|
+
*/
|
|
54
|
+
origin?: string;
|
|
38
55
|
}
|