@credo-ts/openid4vc 0.6.0-pr-2195-20250223181657 → 0.6.0-pr-2195-20250225234342
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 +31 -28
- package/build/openid4vc-holder/OpenId4VcHolderApi.js +6 -4
- 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 +3 -3
- package/build/openid4vc-holder/OpenId4VciHolderService.js +8 -8
- package/build/openid4vc-holder/OpenId4VciHolderService.js.map +1 -1
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.d.ts +3 -3
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js +2 -2
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js.map +1 -1
- package/build/openid4vc-holder/OpenId4vcSiopHolderService.d.ts +24 -30
- package/build/openid4vc-holder/OpenId4vcSiopHolderService.js +46 -135
- package/build/openid4vc-holder/OpenId4vcSiopHolderService.js.map +1 -1
- package/build/openid4vc-holder/OpenId4vcSiopHolderServiceOptions.d.ts +5 -10
- package/build/openid4vc-issuer/OpenId4VcIssuerApi.d.ts +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerModule.js +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerModule.js.map +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerService.d.ts +5 -5
- package/build/openid4vc-issuer/OpenId4VcIssuerService.js +7 -7
- package/build/openid4vc-issuer/OpenId4VcIssuerService.js.map +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.d.ts +1 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.d.ts +1 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js.map +1 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js +2 -2
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js.map +1 -1
- package/build/openid4vc-issuer/router/accessTokenEndpoint.js +1 -1
- package/build/openid4vc-issuer/router/accessTokenEndpoint.js.map +1 -1
- package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js +1 -1
- package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js.map +1 -1
- package/build/openid4vc-issuer/router/credentialEndpoint.js +3 -3
- package/build/openid4vc-issuer/router/credentialEndpoint.js.map +1 -1
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.d.ts +8 -8
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js +142 -101
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js.map +1 -1
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierServiceOptions.d.ts +11 -17
- package/build/openid4vc-verifier/OpenId4VcVerifierApi.d.ts +2 -2
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.js +1 -4
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.js.map +1 -1
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.d.ts +19 -10
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js +18 -6
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js.map +1 -1
- package/build/openid4vc-verifier/router/authorizationEndpoint.js.map +1 -1
- package/build/openid4vc-verifier/router/authorizationRequestEndpoint.js +3 -16
- package/build/openid4vc-verifier/router/authorizationRequestEndpoint.js.map +1 -1
- package/build/shared/callbacks.d.ts +6 -9
- package/build/shared/callbacks.js +50 -56
- package/build/shared/callbacks.js.map +1 -1
- package/build/shared/issuerMetadataUtils.d.ts +1 -1
- package/build/shared/models/OpenId4VcJwtIssuer.d.ts +2 -3
- package/build/shared/models/index.d.ts +4 -4
- package/build/shared/models/index.js.map +1 -1
- package/build/shared/router/context.d.ts +1 -1
- package/build/shared/router/context.js +1 -1
- package/build/shared/router/context.js.map +1 -1
- package/build/shared/utils.d.ts +3 -5
- package/build/shared/utils.js +23 -21
- package/build/shared/utils.js.map +1 -1
- package/package.json +6 -7
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.d.ts +0 -102
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js +0 -273
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js.map +0 -1
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.d.ts +0 -49
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js +0 -164
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js.map +0 -1
|
@@ -11,23 +11,22 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
12
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
13
|
};
|
|
14
|
-
var OpenId4VcSiopVerifierService_1;
|
|
15
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
15
|
exports.OpenId4VcSiopVerifierService = void 0;
|
|
17
16
|
const core_1 = require("@credo-ts/core");
|
|
18
17
|
const oauth2_1 = require("@openid4vc/oauth2");
|
|
19
|
-
const
|
|
18
|
+
const openid4vp_1 = require("@openid4vc/openid4vp");
|
|
20
19
|
const callbacks_1 = require("../shared/callbacks");
|
|
21
20
|
const router_1 = require("../shared/router");
|
|
22
21
|
const utils_1 = require("../shared/utils");
|
|
23
22
|
const OpenId4VcVerificationSessionState_1 = require("./OpenId4VcVerificationSessionState");
|
|
23
|
+
const OpenId4VcVerifierEvents_1 = require("./OpenId4VcVerifierEvents");
|
|
24
24
|
const OpenId4VcVerifierModuleConfig_1 = require("./OpenId4VcVerifierModuleConfig");
|
|
25
25
|
const repository_1 = require("./repository");
|
|
26
|
-
const OpenId4VcRelyingPartyEventEmitter_1 = require("./repository/OpenId4VcRelyingPartyEventEmitter");
|
|
27
26
|
/**
|
|
28
27
|
* @internal
|
|
29
28
|
*/
|
|
30
|
-
let OpenId4VcSiopVerifierService =
|
|
29
|
+
let OpenId4VcSiopVerifierService = class OpenId4VcSiopVerifierService {
|
|
31
30
|
constructor(logger, w3cCredentialService, openId4VcVerifierRepository, config, openId4VcVerificationSessionRepository) {
|
|
32
31
|
this.logger = logger;
|
|
33
32
|
this.w3cCredentialService = w3cCredentialService;
|
|
@@ -37,30 +36,37 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
|
|
|
37
36
|
}
|
|
38
37
|
getOpenid4vpVerifier(agentContext) {
|
|
39
38
|
const callbacks = (0, callbacks_1.getOid4vcCallbacks)(agentContext);
|
|
40
|
-
const openid4vpClient = new
|
|
39
|
+
const openid4vpClient = new openid4vp_1.Openid4vpVerifier({ callbacks });
|
|
41
40
|
return openid4vpClient;
|
|
42
41
|
}
|
|
43
42
|
async createAuthorizationRequest(agentContext, options) {
|
|
44
43
|
const nonce = await agentContext.wallet.generateNonce();
|
|
45
44
|
const state = await agentContext.wallet.generateNonce();
|
|
46
|
-
|
|
47
|
-
const
|
|
45
|
+
const isDcApiRequest = options.responseMode === 'dc_api' || options.responseMode === 'dc_api.jwt';
|
|
46
|
+
const responseMode = options.responseMode ?? 'direct_post.jwt';
|
|
47
|
+
// No response url for DC API
|
|
48
48
|
let authorizationResponseUrl = (0, core_1.joinUriParts)(this.config.baseUrl, [
|
|
49
49
|
options.verifier.verifierId,
|
|
50
50
|
this.config.authorizationEndpoint.endpointPath,
|
|
51
51
|
]);
|
|
52
|
-
const jwtIssuer = options.requestSigner.method === '
|
|
53
|
-
?
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
const jwtIssuer = options.requestSigner.method === 'none'
|
|
53
|
+
? undefined
|
|
54
|
+
: options.requestSigner.method === 'x5c'
|
|
55
|
+
? await (0, utils_1.requestSignerToJwtIssuer)(agentContext, {
|
|
56
|
+
...options.requestSigner,
|
|
57
|
+
issuer: authorizationResponseUrl,
|
|
58
|
+
})
|
|
59
|
+
: await (0, utils_1.requestSignerToJwtIssuer)(agentContext, options.requestSigner);
|
|
58
60
|
let clientIdScheme;
|
|
59
61
|
let clientId;
|
|
60
|
-
if (jwtIssuer
|
|
61
|
-
if (
|
|
62
|
-
throw new
|
|
62
|
+
if (!jwtIssuer) {
|
|
63
|
+
if (!isDcApiRequest) {
|
|
64
|
+
throw new Error("requestSigner method 'none' is only supported for response mode 'dc_api' and 'dc_api.jwt'");
|
|
63
65
|
}
|
|
66
|
+
clientIdScheme = 'web-origin';
|
|
67
|
+
clientId = undefined;
|
|
68
|
+
}
|
|
69
|
+
else if (jwtIssuer?.method === 'x5c') {
|
|
64
70
|
const leafCertificate = core_1.X509Service.getLeafCertificate(agentContext, { certificateChain: jwtIssuer.x5c });
|
|
65
71
|
if (leafCertificate.sanDnsNames.includes((0, core_1.getDomainFromUrl)(jwtIssuer.issuer))) {
|
|
66
72
|
clientIdScheme = 'x509_san_dns';
|
|
@@ -76,7 +82,7 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
|
|
|
76
82
|
throw new core_1.CredoError(`With jwtIssuer 'method' 'x5c' the jwtIssuer's 'issuer' field must either match the match a sanDnsName (FQDN) or sanUriName in the leaf x509 chain's leaf certificate.`);
|
|
77
83
|
}
|
|
78
84
|
}
|
|
79
|
-
else if (jwtIssuer
|
|
85
|
+
else if (jwtIssuer?.method === 'did') {
|
|
80
86
|
clientId = jwtIssuer.didUrl.split('#')[0];
|
|
81
87
|
clientIdScheme = 'did';
|
|
82
88
|
}
|
|
@@ -84,50 +90,69 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
|
|
|
84
90
|
throw new core_1.CredoError(`Unsupported jwt issuer method '${options.requestSigner.method}'. Only 'did' and 'x5c' are supported.`);
|
|
85
91
|
}
|
|
86
92
|
// We always use shortened URIs currently
|
|
87
|
-
const hostedAuthorizationRequestUri =
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
93
|
+
const hostedAuthorizationRequestUri = !isDcApiRequest
|
|
94
|
+
? (0, core_1.joinUriParts)(this.config.baseUrl, [
|
|
95
|
+
options.verifier.verifierId,
|
|
96
|
+
this.config.authorizationRequestEndpoint.endpointPath,
|
|
97
|
+
// It doesn't really matter what the url is, as long as it's unique
|
|
98
|
+
core_1.utils.uuid(),
|
|
99
|
+
])
|
|
100
|
+
: // No hosted request needed when using DC API
|
|
101
|
+
undefined;
|
|
94
102
|
const client_id = clientIdScheme === 'did' || clientIdScheme === 'https' ? clientId : `${clientIdScheme}:${clientId}`;
|
|
95
|
-
const client_metadata = {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
103
|
+
const client_metadata = await this.getClientMetadata(agentContext, {
|
|
104
|
+
responseMode,
|
|
105
|
+
verifier: options.verifier,
|
|
106
|
+
authorizationResponseUrl,
|
|
107
|
+
});
|
|
108
|
+
const requestParamsBase = {
|
|
109
|
+
nonce,
|
|
110
|
+
presentation_definition: options.presentationExchange?.definition,
|
|
111
|
+
dcql_query: options.dcql?.query,
|
|
112
|
+
transaction_data: options.transactionData?.map((entry) => core_1.JsonEncoder.toBase64URL(entry)),
|
|
113
|
+
response_mode: responseMode,
|
|
114
|
+
response_type: 'vp_token',
|
|
115
|
+
client_metadata,
|
|
102
116
|
};
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
client_id,
|
|
108
|
-
|
|
117
|
+
const authorizationRequestPayload = requestParamsBase.response_mode === 'dc_api.jwt' || requestParamsBase.response_mode === 'dc_api'
|
|
118
|
+
? {
|
|
119
|
+
...requestParamsBase,
|
|
120
|
+
// No client_id for unsigned requests
|
|
121
|
+
client_id: jwtIssuer ? client_id : undefined,
|
|
122
|
+
response_mode: requestParamsBase.response_mode,
|
|
123
|
+
expected_origins: options.expectedOrigins,
|
|
124
|
+
}
|
|
125
|
+
: {
|
|
126
|
+
...requestParamsBase,
|
|
127
|
+
client_id: client_id,
|
|
109
128
|
state,
|
|
110
|
-
presentation_definition: options.presentationExchange?.definition,
|
|
111
|
-
dcql_query: options.dcql?.query,
|
|
112
|
-
transaction_data,
|
|
113
129
|
response_uri: authorizationResponseUrl,
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
130
|
+
};
|
|
131
|
+
const openid4vpVerifier = this.getOpenid4vpVerifier(agentContext);
|
|
132
|
+
const authorizationRequest = await openid4vpVerifier.createOpenId4vpAuthorizationRequest({
|
|
133
|
+
jar: jwtIssuer
|
|
134
|
+
? {
|
|
135
|
+
jwtSigner: jwtIssuer,
|
|
136
|
+
// FIXME: cast can be removed when PR 41 is merged in oid4vc-ts
|
|
137
|
+
requestUri: hostedAuthorizationRequestUri,
|
|
138
|
+
}
|
|
139
|
+
: undefined,
|
|
140
|
+
requestParams: authorizationRequestPayload,
|
|
119
141
|
});
|
|
120
|
-
const verificationSession =
|
|
121
|
-
|
|
122
|
-
.
|
|
123
|
-
verifierId: options.verifier.verifierId,
|
|
124
|
-
correlationId,
|
|
142
|
+
const verificationSession = new repository_1.OpenId4VcVerificationSessionRecord({
|
|
143
|
+
// Only store payload for unsiged requests
|
|
144
|
+
authorizationRequestPayload: authorizationRequest.jar ? undefined : authorizationRequestPayload,
|
|
125
145
|
authorizationRequestJwt: authorizationRequest.jar?.requestObjectJwt,
|
|
126
146
|
authorizationRequestUri: authorizationRequest.jar?.requestUri,
|
|
147
|
+
state: OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.RequestCreated,
|
|
148
|
+
verifierId: options.verifier.verifierId,
|
|
127
149
|
});
|
|
150
|
+
await this.openId4VcVerificationSessionRepository.save(agentContext, verificationSession);
|
|
151
|
+
this.emitStateChangedEvent(agentContext, verificationSession, null);
|
|
128
152
|
return {
|
|
129
153
|
authorizationRequest: authorizationRequest.authRequest,
|
|
130
154
|
verificationSession,
|
|
155
|
+
authorizationRequestObject: authorizationRequest.authRequestObject,
|
|
131
156
|
};
|
|
132
157
|
}
|
|
133
158
|
getDcqlVerifiedResponse(agentContext, _dcqlQuery, presentation) {
|
|
@@ -151,47 +176,56 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
|
|
|
151
176
|
let parsedAuthResponse;
|
|
152
177
|
let rawResponsePayload = responsePayload;
|
|
153
178
|
try {
|
|
154
|
-
parsedAuthResponse = await (0,
|
|
179
|
+
parsedAuthResponse = await (0, openid4vp_1.parseOpenid4vpAuthorizationResponse)({
|
|
155
180
|
responsePayload,
|
|
156
181
|
callbacks: {
|
|
157
182
|
...(0, callbacks_1.getOid4vcCallbacks)(agentContext),
|
|
158
183
|
getOpenid4vpAuthorizationRequest: async (responsePayload) => {
|
|
159
184
|
const { state, nonce } = responsePayload;
|
|
160
185
|
rawResponsePayload = responsePayload;
|
|
161
|
-
const
|
|
162
|
-
|
|
186
|
+
const session = await this.findVerificationSessionForAuthorizationResponse(agentContext, {
|
|
187
|
+
authorizationResponseParams: { state, nonce },
|
|
188
|
+
verifierId,
|
|
189
|
+
});
|
|
163
190
|
if (!session) {
|
|
164
191
|
agentContext.config.logger.warn(`No verification session found for incoming authorization response for verifier ${verifierId}`);
|
|
165
192
|
throw new core_1.CredoError(`No state or nonce provided in authorization response for verifier ${verifierId}`);
|
|
166
193
|
}
|
|
167
194
|
verificationSession = session;
|
|
168
|
-
const authorizationRequest = (0,
|
|
169
|
-
|
|
195
|
+
const authorizationRequest = (0, openid4vp_1.parseOpenid4vpAuthorizationRequestPayload)({
|
|
196
|
+
authorizationRequest: verificationSession.request,
|
|
170
197
|
});
|
|
171
|
-
if (authorizationRequest.type !== 'openid4vp') {
|
|
172
|
-
throw new core_1.CredoError(`Invalid authorization request jwt. Expected 'openid4vp' request, received '${authorizationRequest.type}'.`);
|
|
198
|
+
if (authorizationRequest.type !== 'openid4vp' && authorizationRequest.type !== 'openid4vp_dc_api') {
|
|
199
|
+
throw new core_1.CredoError(`Invalid authorization request jwt. Expected 'openid4vp' or 'openid4vp_dc_api' request, received '${authorizationRequest.type}'.`);
|
|
200
|
+
}
|
|
201
|
+
if (authorizationRequest.params.client_id) {
|
|
202
|
+
return {
|
|
203
|
+
authorizationRequest: {
|
|
204
|
+
...authorizationRequest.params,
|
|
205
|
+
client_id: authorizationRequest.params.client_id,
|
|
206
|
+
},
|
|
207
|
+
};
|
|
173
208
|
}
|
|
174
|
-
|
|
209
|
+
if (!options.origin) {
|
|
210
|
+
throw new core_1.CredoError('Origin must be provided when client id is not set.');
|
|
211
|
+
}
|
|
212
|
+
return {
|
|
213
|
+
authorizationRequest: {
|
|
214
|
+
...authorizationRequest.params,
|
|
215
|
+
client_id: authorizationRequest.params.client_id ?? `web-origin:${options.origin}`,
|
|
216
|
+
},
|
|
217
|
+
};
|
|
175
218
|
},
|
|
176
219
|
},
|
|
177
220
|
});
|
|
178
221
|
}
|
|
179
222
|
catch (error) {
|
|
180
|
-
if (
|
|
181
|
-
verificationSession
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
throw new error();
|
|
187
|
-
await agentContext.dependencyManager
|
|
188
|
-
.resolve(OpenId4VcRelyingPartyEventEmitter_1.OpenId4VcRelyingPartyEventHandler)
|
|
189
|
-
.authorizationResponseReceivedFailed(agentContext, {
|
|
190
|
-
verifierId,
|
|
191
|
-
correlationId: verificationSession.id,
|
|
192
|
-
authorizationResponsePayload: parsed.data,
|
|
193
|
-
errorMessage: error.message,
|
|
194
|
-
});
|
|
223
|
+
if (verificationSession?.state === OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.RequestUriRetrieved ||
|
|
224
|
+
verificationSession?.state === OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.RequestCreated) {
|
|
225
|
+
const parsed = openid4vp_1.zOpenid4vpAuthorizationResponse.safeParse(rawResponsePayload);
|
|
226
|
+
verificationSession.authorizationResponsePayload = parsed.success ? parsed.data : undefined;
|
|
227
|
+
verificationSession.errorMessage = error.message;
|
|
228
|
+
await this.updateState(agentContext, verificationSession, OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.Error);
|
|
195
229
|
}
|
|
196
230
|
throw error;
|
|
197
231
|
}
|
|
@@ -207,7 +241,8 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
|
|
|
207
241
|
if (!verificationSession) {
|
|
208
242
|
throw new core_1.CredoError('Missing verification session, cannot verify authorization response.');
|
|
209
243
|
}
|
|
210
|
-
|
|
244
|
+
// FIXME: export JarmMode from openid4vp
|
|
245
|
+
if (parsedAuthResponse.jarm && `${parsedAuthResponse.jarm.type}` !== 'Encrypted') {
|
|
211
246
|
throw new oauth2_1.Oauth2ServerErrorResponseError({
|
|
212
247
|
error: oauth2_1.Oauth2ErrorCodes.InvalidRequest,
|
|
213
248
|
error_description: `Only encrypted JARM responses are supported, received '${parsedAuthResponse.jarm.type}'.`,
|
|
@@ -220,11 +255,9 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
|
|
|
220
255
|
}
|
|
221
256
|
async verifyAuthorizationResponse(agentContext, options) {
|
|
222
257
|
const openid4vpVerifier = this.getOpenid4vpVerifier(agentContext);
|
|
223
|
-
const openId4VcRelyingPartyEventHandler = agentContext.dependencyManager.resolve(OpenId4VcRelyingPartyEventEmitter_1.OpenId4VcRelyingPartyEventHandler);
|
|
224
258
|
const result = await this.parseAuthorizationResponse(agentContext, {
|
|
225
259
|
verifierId: options.verifierId,
|
|
226
260
|
responsePayload: options.authorizationResponse,
|
|
227
|
-
setResponseState: true,
|
|
228
261
|
});
|
|
229
262
|
result.verificationSession.assertState([
|
|
230
263
|
OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.RequestUriRetrieved,
|
|
@@ -333,33 +366,24 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
|
|
|
333
366
|
}
|
|
334
367
|
}
|
|
335
368
|
catch (error) {
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
correlationId: result.verificationSession.id,
|
|
339
|
-
errorMessage: error.message,
|
|
340
|
-
});
|
|
369
|
+
result.verificationSession.errorMessage = error.message;
|
|
370
|
+
await this.updateState(agentContext, result.verificationSession, OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.Error);
|
|
341
371
|
throw error;
|
|
342
372
|
}
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
});
|
|
348
|
-
const verificationSession = await this.getVerificationSessionById(agentContext, result.verificationSession.id);
|
|
349
|
-
const verifiedAuthorizationResponse = await this.getVerifiedAuthorizationResponse(agentContext, verificationSession);
|
|
350
|
-
return { ...verifiedAuthorizationResponse, verificationSession, transactionData };
|
|
373
|
+
result.verificationSession.authorizationResponsePayload = result.authResponsePayload;
|
|
374
|
+
await this.updateState(agentContext, result.verificationSession, OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.ResponseVerified);
|
|
375
|
+
const verifiedAuthorizationResponse = await this.getVerifiedAuthorizationResponse(agentContext, result.verificationSession);
|
|
376
|
+
return { ...verifiedAuthorizationResponse, verificationSession: result.verificationSession };
|
|
351
377
|
}
|
|
352
378
|
async getVerifiedAuthorizationResponse(agentContext, verificationSession) {
|
|
353
379
|
verificationSession.assertState(OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.ResponseVerified);
|
|
354
380
|
if (!verificationSession.authorizationResponsePayload) {
|
|
355
381
|
throw new core_1.CredoError('No authorization response payload found in the verification session.');
|
|
356
382
|
}
|
|
357
|
-
const openid4vpAuthorizationResponsePayload =
|
|
358
|
-
? verificationSession.authorizationResponsePayload.data
|
|
359
|
-
: verificationSession.authorizationResponsePayload;
|
|
383
|
+
const openid4vpAuthorizationResponsePayload = verificationSession.authorizationResponsePayload;
|
|
360
384
|
const openid4vpVerifier = this.getOpenid4vpVerifier(agentContext);
|
|
361
385
|
const authorizationRequest = openid4vpVerifier.parseOpenid4vpAuthorizationRequestPayload({
|
|
362
|
-
|
|
386
|
+
authorizationRequest: verificationSession.request,
|
|
363
387
|
});
|
|
364
388
|
if (authorizationRequest.provided !== 'jwt' || authorizationRequest.type === 'jar') {
|
|
365
389
|
throw new core_1.CredoError('Invalid authorization request jwt');
|
|
@@ -456,7 +480,7 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
|
|
|
456
480
|
return this.openId4VcVerificationSessionRepository.getById(agentContext, verificationSessionId);
|
|
457
481
|
}
|
|
458
482
|
async getClientMetadata(agentContext, options) {
|
|
459
|
-
const { responseMode, verifier
|
|
483
|
+
const { responseMode, verifier } = options;
|
|
460
484
|
const signatureSuiteRegistry = agentContext.dependencyManager.resolve(core_1.SignatureSuiteRegistry);
|
|
461
485
|
const supportedAlgs = (0, utils_1.getSupportedJwaSignatureAlgorithms)(agentContext);
|
|
462
486
|
const supportedMdocAlgs = supportedAlgs.filter(core_1.isMdocSupportedSignatureAlgorithm);
|
|
@@ -466,7 +490,7 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
|
|
|
466
490
|
.resolve(core_1.DidsApi)
|
|
467
491
|
.supportedResolverMethods.filter((m) => m !== 'peer');
|
|
468
492
|
let jarmEncryptionJwk;
|
|
469
|
-
if ((0,
|
|
493
|
+
if ((0, openid4vp_1.isJarmResponseMode)(responseMode)) {
|
|
470
494
|
const key = await agentContext.wallet.createKey({ keyType: core_1.KeyType.P256 });
|
|
471
495
|
jarmEncryptionJwk = { ...(0, core_1.getJwkFromKey)(key).toJson(), kid: key.fingerprint, use: 'enc' };
|
|
472
496
|
}
|
|
@@ -480,10 +504,6 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
|
|
|
480
504
|
return {
|
|
481
505
|
...jarmClientMetadata,
|
|
482
506
|
...verifier.clientMetadata,
|
|
483
|
-
// FIXME: not passing client_id here means it will not be added
|
|
484
|
-
// to the authorization request url (not the signed payload). Need
|
|
485
|
-
// to fix that in Sphereon lib
|
|
486
|
-
client_id: clientId,
|
|
487
507
|
response_types_supported: ['vp_token'],
|
|
488
508
|
subject_syntax_types_supported: [
|
|
489
509
|
'urn:ietf:params:oauth:jwk-thumbprint',
|
|
@@ -658,7 +678,7 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
|
|
|
658
678
|
type: 'openId4VpDcApi',
|
|
659
679
|
clientId: options.audience,
|
|
660
680
|
verifierGeneratedNonce: options.nonce,
|
|
661
|
-
origin: options.
|
|
681
|
+
origin: options.origin,
|
|
662
682
|
};
|
|
663
683
|
}
|
|
664
684
|
else {
|
|
@@ -739,9 +759,30 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
|
|
|
739
759
|
};
|
|
740
760
|
}
|
|
741
761
|
}
|
|
762
|
+
/**
|
|
763
|
+
* Update the record to a new state and emit an state changed event. Also updates the record
|
|
764
|
+
* in storage.
|
|
765
|
+
*/
|
|
766
|
+
async updateState(agentContext, verificationSession, newState) {
|
|
767
|
+
agentContext.config.logger.debug(`Updating openid4vc verification session record ${verificationSession.id} to state ${newState} (previous=${verificationSession.state})`);
|
|
768
|
+
const previousState = verificationSession.state;
|
|
769
|
+
verificationSession.state = newState;
|
|
770
|
+
await this.openId4VcVerificationSessionRepository.update(agentContext, verificationSession);
|
|
771
|
+
this.emitStateChangedEvent(agentContext, verificationSession, previousState);
|
|
772
|
+
}
|
|
773
|
+
emitStateChangedEvent(agentContext, verificationSession, previousState) {
|
|
774
|
+
const eventEmitter = agentContext.dependencyManager.resolve(core_1.EventEmitter);
|
|
775
|
+
eventEmitter.emit(agentContext, {
|
|
776
|
+
type: OpenId4VcVerifierEvents_1.OpenId4VcVerifierEvents.VerificationSessionStateChanged,
|
|
777
|
+
payload: {
|
|
778
|
+
verificationSession: verificationSession.clone(),
|
|
779
|
+
previousState,
|
|
780
|
+
},
|
|
781
|
+
});
|
|
782
|
+
}
|
|
742
783
|
};
|
|
743
784
|
exports.OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService;
|
|
744
|
-
exports.OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService =
|
|
785
|
+
exports.OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService = __decorate([
|
|
745
786
|
(0, core_1.injectable)(),
|
|
746
787
|
__param(0, (0, core_1.inject)(core_1.InjectionSymbols.Logger)),
|
|
747
788
|
__metadata("design:paramtypes", [Object, core_1.W3cCredentialService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenId4VcSiopVerifierService.js","sourceRoot":"","sources":["../../src/openid4vc-verifier/OpenId4VcSiopVerifierService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OpenId4VcSiopVerifierService.js","sourceRoot":"","sources":["../../src/openid4vc-verifier/OpenId4VcSiopVerifierService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +1,31 @@
|
|
|
1
|
-
import type { DcqlPresentation, DcqlPresentationResult, DcqlQuery, DifPexPresentationWithDescriptor, DifPresentationExchangeDefinition, DifPresentationExchangeDefinitionV2, DifPresentationExchangeSubmission, TransactionData, VerifiablePresentation } from '@credo-ts/core';
|
|
2
|
-
import type { OpenId4VcIssuerX5c, OpenId4VcJwtIssuer, OpenId4VcSiopAuthorizationResponsePayload } from '../shared';
|
|
3
1
|
import type { OpenId4VcVerificationSessionRecord, OpenId4VcVerifierRecordProps } from './repository';
|
|
2
|
+
import type { OpenId4VcIssuerX5c, OpenId4VcJwtIssuerDid, OpenId4VcSiopAuthorizationResponsePayload } from '../shared';
|
|
3
|
+
import type { DcqlPresentation, DcqlPresentationResult, DcqlQuery, DifPexPresentationWithDescriptor, DifPresentationExchangeDefinition, DifPresentationExchangeDefinitionV2, DifPresentationExchangeSubmission, TransactionData, VerifiablePresentation } from '@credo-ts/core';
|
|
4
|
+
import type { createOpenid4vpAuthorizationRequest } from '@openid4vc/openid4vp';
|
|
4
5
|
export type ResponseMode = 'direct_post' | 'direct_post.jwt' | 'dc_api' | 'dc_api.jwt';
|
|
5
6
|
export interface OpenId4VcSiopCreateAuthorizationRequestOptions {
|
|
6
7
|
/**
|
|
7
8
|
* Signing information for the request JWT. This will be used to sign the request JWT
|
|
8
9
|
* and to set the client_id and client_id_scheme for registration of client_metadata.
|
|
9
|
-
*
|
|
10
|
-
* For x5c signer's the issuer value can be omitted as it can be derived from the authorization response endpoint.
|
|
11
|
-
*/
|
|
12
|
-
requestSigner: Exclude<OpenId4VcJwtIssuer, OpenId4VcIssuerX5c> | (Omit<OpenId4VcIssuerX5c, 'issuer'> & {
|
|
13
|
-
issuer?: string;
|
|
14
|
-
});
|
|
15
|
-
/**
|
|
16
|
-
* Whether to reuqest an ID Token. Enabled by defualt when `presentationExchange` is not provided,
|
|
17
|
-
* disabled by default when `presentationExchange` is provided.
|
|
18
10
|
*/
|
|
19
|
-
|
|
11
|
+
requestSigner: OpenId4VcJwtIssuerDid | Omit<OpenId4VcIssuerX5c, 'issuer'> | {
|
|
12
|
+
/**
|
|
13
|
+
* Do not sign the request. Only available for DC API
|
|
14
|
+
*/
|
|
15
|
+
method: 'none';
|
|
16
|
+
};
|
|
17
|
+
transactionData?: TransactionData;
|
|
20
18
|
/**
|
|
21
19
|
* A DIF Presentation Definition (v2) can be provided to request a Verifiable Presentation using OpenID4VP.
|
|
22
20
|
*/
|
|
23
21
|
presentationExchange?: {
|
|
24
22
|
definition: DifPresentationExchangeDefinitionV2;
|
|
25
|
-
transactionData?: TransactionData;
|
|
26
23
|
};
|
|
27
24
|
/**
|
|
28
25
|
* A Digital Credentials Query Language (DCQL) can be provided to request the presentation of a Verifiable Credentials.
|
|
29
26
|
*/
|
|
30
27
|
dcql?: {
|
|
31
28
|
query: DcqlQuery;
|
|
32
|
-
transactionData?: TransactionData;
|
|
33
29
|
};
|
|
34
30
|
/**
|
|
35
31
|
* The response mode to use for the authorization request.
|
|
@@ -54,6 +50,7 @@ export interface OpenId4VcSiopVerifyAuthorizationResponseOptions {
|
|
|
54
50
|
export interface OpenId4VcSiopCreateAuthorizationRequestReturn {
|
|
55
51
|
authorizationRequest: string;
|
|
56
52
|
verificationSession: OpenId4VcVerificationSessionRecord;
|
|
53
|
+
authorizationRequestObject: Awaited<ReturnType<typeof createOpenid4vpAuthorizationRequest>>['authRequestObject'];
|
|
57
54
|
}
|
|
58
55
|
export interface OpenId4VcSiopVerifiedAuthorizationResponsePresentationExchange {
|
|
59
56
|
submission: DifPresentationExchangeSubmission;
|
|
@@ -66,9 +63,6 @@ export interface OpenId4VcSiopVerifiedAuthorizationResponseDcql {
|
|
|
66
63
|
presentation: DcqlPresentation;
|
|
67
64
|
presentationResult: DcqlPresentationResult;
|
|
68
65
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Either `idToken` and/or `presentationExchange` will be present.
|
|
71
|
-
*/
|
|
72
66
|
export interface OpenId4VcSiopVerifiedAuthorizationResponse {
|
|
73
67
|
presentationExchange?: OpenId4VcSiopVerifiedAuthorizationResponsePresentationExchange;
|
|
74
68
|
dcql?: OpenId4VcSiopVerifiedAuthorizationResponseDcql;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { Query, QueryOptions } from '@credo-ts/core';
|
|
2
|
-
import type { OpenId4VcSiopAuthorizationResponsePayload } from '../shared';
|
|
3
1
|
import type { OpenId4VcSiopCreateAuthorizationRequestOptions, OpenId4VcSiopCreateAuthorizationRequestReturn, OpenId4VcSiopCreateVerifierOptions, OpenId4VcSiopVerifyAuthorizationResponseOptions, OpenId4VcUpdateVerifierRecordOptions } from './OpenId4VcSiopVerifierServiceOptions';
|
|
4
2
|
import type { OpenId4VcVerificationSessionRecord } from './repository';
|
|
3
|
+
import type { OpenId4VcSiopAuthorizationResponsePayload } from '../shared';
|
|
4
|
+
import type { Query, QueryOptions } from '@credo-ts/core';
|
|
5
5
|
import { AgentContext } from '@credo-ts/core';
|
|
6
6
|
import { OpenId4VcSiopVerifierService } from './OpenId4VcSiopVerifierService';
|
|
7
7
|
import { OpenId4VcVerifierModuleConfig } from './OpenId4VcVerifierModuleConfig';
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OpenId4VcVerifierModule = void 0;
|
|
4
|
-
const oauth2_1 = require("@openid4vc/oauth2");
|
|
5
4
|
const core_1 = require("@credo-ts/core");
|
|
5
|
+
const oauth2_1 = require("@openid4vc/oauth2");
|
|
6
6
|
const router_1 = require("../shared/router");
|
|
7
7
|
const OpenId4VcSiopVerifierService_1 = require("./OpenId4VcSiopVerifierService");
|
|
8
8
|
const OpenId4VcVerifierApi_1 = require("./OpenId4VcVerifierApi");
|
|
9
9
|
const OpenId4VcVerifierModuleConfig_1 = require("./OpenId4VcVerifierModuleConfig");
|
|
10
10
|
const repository_1 = require("./repository");
|
|
11
|
-
const OpenId4VcRelyingPartyEventEmitter_1 = require("./repository/OpenId4VcRelyingPartyEventEmitter");
|
|
12
11
|
const router_2 = require("./router");
|
|
13
12
|
const authorizationRequestEndpoint_1 = require("./router/authorizationRequestEndpoint");
|
|
14
13
|
/**
|
|
@@ -37,8 +36,6 @@ class OpenId4VcVerifierModule {
|
|
|
37
36
|
dependencyManager.registerSingleton(OpenId4VcSiopVerifierService_1.OpenId4VcSiopVerifierService);
|
|
38
37
|
// Repository
|
|
39
38
|
dependencyManager.registerSingleton(repository_1.OpenId4VcVerifierRepository);
|
|
40
|
-
// Global event emitter
|
|
41
|
-
dependencyManager.registerSingleton(OpenId4VcRelyingPartyEventEmitter_1.OpenId4VcRelyingPartyEventHandler);
|
|
42
39
|
}
|
|
43
40
|
async initialize(rootAgentContext) {
|
|
44
41
|
this.configureRouter(rootAgentContext);
|