@credo-ts/openid4vc 0.6.0-pr-2094-20241120130052 → 0.6.0-pr-2100-20241121224938

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.
Files changed (43) hide show
  1. package/build/openid4vc-holder/OpenId4VcHolderApi.d.ts +12 -11
  2. package/build/openid4vc-holder/OpenId4VcHolderApi.js +21 -10
  3. package/build/openid4vc-holder/OpenId4VcHolderApi.js.map +1 -1
  4. package/build/openid4vc-holder/OpenId4VciHolderService.js +3 -0
  5. package/build/openid4vc-holder/OpenId4VciHolderService.js.map +1 -1
  6. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.d.ts +2 -1
  7. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js.map +1 -1
  8. package/build/openid4vc-holder/OpenId4vcSiopHolderService.d.ts +5 -170
  9. package/build/openid4vc-holder/OpenId4vcSiopHolderService.js +66 -89
  10. package/build/openid4vc-holder/OpenId4vcSiopHolderService.js.map +1 -1
  11. package/build/openid4vc-holder/OpenId4vcSiopHolderServiceOptions.d.ts +13 -26
  12. package/build/openid4vc-issuer/OpenId4VcIssuerModule.js +0 -2
  13. package/build/openid4vc-issuer/OpenId4VcIssuerModule.js.map +1 -1
  14. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.d.ts +7 -7
  15. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js +2 -10
  16. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js.map +1 -1
  17. package/build/openid4vc-issuer/OpenId4VcIssuerService.js +14 -6
  18. package/build/openid4vc-issuer/OpenId4VcIssuerService.js.map +1 -1
  19. package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.d.ts +7 -2
  20. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.d.ts +3 -12
  21. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js +26 -24
  22. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js.map +1 -1
  23. package/build/openid4vc-verifier/OpenId4VcSiopVerifierServiceOptions.d.ts +12 -1
  24. package/build/openid4vc-verifier/OpenId4VcVerifierModule.js +0 -3
  25. package/build/openid4vc-verifier/OpenId4VcVerifierModule.js.map +1 -1
  26. package/build/openid4vc-verifier/router/index.d.ts +0 -1
  27. package/build/openid4vc-verifier/router/index.js +1 -3
  28. package/build/openid4vc-verifier/router/index.js.map +1 -1
  29. package/build/shared/models/OpenId4VcJwtIssuer.d.ts +1 -4
  30. package/build/shared/models/index.d.ts +2 -0
  31. package/build/shared/models/index.js.map +1 -1
  32. package/build/shared/transform.js +1 -0
  33. package/build/shared/transform.js.map +1 -1
  34. package/build/shared/utils.d.ts +3 -11
  35. package/build/shared/utils.js +8 -100
  36. package/build/shared/utils.js.map +1 -1
  37. package/package.json +4 -6
  38. package/build/openid4vc-issuer/router/federationEndpoint.d.ts +0 -2
  39. package/build/openid4vc-issuer/router/federationEndpoint.js +0 -89
  40. package/build/openid4vc-issuer/router/federationEndpoint.js.map +0 -1
  41. package/build/openid4vc-verifier/router/federationEndpoint.d.ts +0 -2
  42. package/build/openid4vc-verifier/router/federationEndpoint.js +0 -118
  43. package/build/openid4vc-verifier/router/federationEndpoint.js.map +0 -1
@@ -1,10 +1,8 @@
1
- import type { OpenId4VcSiopCreateAuthorizationRequestOptions, OpenId4VcSiopCreateAuthorizationRequestReturn, OpenId4VcSiopCreateVerifierOptions, OpenId4VcSiopVerifiedAuthorizationResponse, OpenId4VcSiopVerifyAuthorizationResponseOptions, ResponseMode } from './OpenId4VcSiopVerifierServiceOptions';
1
+ import type { OpenId4VcSiopCreateAuthorizationRequestOptions, OpenId4VcSiopCreateAuthorizationRequestReturn, OpenId4VcSiopCreateVerifierOptions, OpenId4VcSiopVerifiedAuthorizationResponse, OpenId4VcSiopVerifyAuthorizationResponseOptions } from './OpenId4VcSiopVerifierServiceOptions';
2
2
  import type { OpenId4VcVerificationSessionRecord } from './repository';
3
3
  import type { OpenId4VcSiopAuthorizationResponsePayload } from '../shared';
4
- import type { AgentContext, DifPresentationExchangeDefinition, Query, QueryOptions } from '@credo-ts/core';
5
- import type { ClientIdScheme } from '@sphereon/did-auth-siop';
4
+ import type { AgentContext, Query, QueryOptions } from '@credo-ts/core';
6
5
  import { Logger, W3cCredentialService } from '@credo-ts/core';
7
- import { RP } from '@sphereon/did-auth-siop';
8
6
  import { OpenId4VcVerifierModuleConfig } from './OpenId4VcVerifierModuleConfig';
9
7
  import { OpenId4VcVerificationSessionRepository, OpenId4VcVerifierRecord, OpenId4VcVerifierRepository } from './repository';
10
8
  /**
@@ -52,13 +50,6 @@ export declare class OpenId4VcSiopVerifierService {
52
50
  createVerifier(agentContext: AgentContext, options?: OpenId4VcSiopCreateVerifierOptions): Promise<OpenId4VcVerifierRecord>;
53
51
  findVerificationSessionsByQuery(agentContext: AgentContext, query: Query<OpenId4VcVerificationSessionRecord>, queryOptions?: QueryOptions): Promise<OpenId4VcVerificationSessionRecord[]>;
54
52
  getVerificationSessionById(agentContext: AgentContext, verificationSessionId: string): Promise<OpenId4VcVerificationSessionRecord>;
55
- getRelyingParty(agentContext: AgentContext, verifier: OpenId4VcVerifierRecord, { idToken, presentationDefinition, clientId, clientIdScheme, authorizationResponseUrl, responseMode, }: {
56
- responseMode?: ResponseMode;
57
- idToken?: boolean;
58
- presentationDefinition?: DifPresentationExchangeDefinition;
59
- clientId: string;
60
- authorizationResponseUrl: string;
61
- clientIdScheme?: ClientIdScheme;
62
- }): Promise<RP>;
53
+ private getRelyingParty;
63
54
  private getPresentationVerificationCallback;
64
55
  }
@@ -46,12 +46,9 @@ let OpenId4VcSiopVerifierService = class OpenId4VcSiopVerifierService {
46
46
  options.verifier.verifierId,
47
47
  this.config.authorizationEndpoint.endpointPath,
48
48
  ]);
49
- const federationClientId = (0, core_1.joinUriParts)(this.config.baseUrl, [options.verifier.verifierId]);
50
49
  const jwtIssuer = options.requestSigner.method === 'x5c'
51
50
  ? await (0, utils_1.openIdTokenIssuerToJwtIssuer)(agentContext, Object.assign(Object.assign({}, options.requestSigner), { issuer: authorizationResponseUrl }))
52
- : options.requestSigner.method === 'openid-federation'
53
- ? await (0, utils_1.openIdTokenIssuerToJwtIssuer)(agentContext, Object.assign(Object.assign({}, options.requestSigner), { entityId: federationClientId }))
54
- : await (0, utils_1.openIdTokenIssuerToJwtIssuer)(agentContext, options.requestSigner);
51
+ : await (0, utils_1.openIdTokenIssuerToJwtIssuer)(agentContext, options.requestSigner);
55
52
  let clientIdScheme;
56
53
  let clientId;
57
54
  if (jwtIssuer.method === 'x5c') {
@@ -77,20 +74,12 @@ let OpenId4VcSiopVerifierService = class OpenId4VcSiopVerifierService {
77
74
  clientId = jwtIssuer.didUrl.split('#')[0];
78
75
  clientIdScheme = 'did';
79
76
  }
80
- else if (jwtIssuer.method === 'custom') {
81
- if (((_a = jwtIssuer.options) === null || _a === void 0 ? void 0 : _a.method) === 'openid-federation') {
82
- clientIdScheme = 'entity_id';
83
- clientId = federationClientId;
84
- }
85
- else {
86
- throw new core_1.CredoError(`jwtIssuer 'method' 'custom' must have a 'method' property with value 'openid-federation' when using the 'custom' method.`);
87
- }
88
- }
89
77
  else {
90
- throw new core_1.CredoError(`Unsupported jwt issuer method '${options.requestSigner.method}'. Only 'did', 'x5c' and 'custom' are supported.`);
78
+ throw new core_1.CredoError(`Unsupported jwt issuer method '${options.requestSigner.method}'. Only 'did' and 'x5c' are supported.`);
91
79
  }
92
80
  const relyingParty = await this.getRelyingParty(agentContext, options.verifier, {
93
- presentationDefinition: (_b = options.presentationExchange) === null || _b === void 0 ? void 0 : _b.definition,
81
+ presentationDefinition: (_a = options.presentationExchange) === null || _a === void 0 ? void 0 : _a.definition,
82
+ dcqlQuery: (_b = options.dcql) === null || _b === void 0 ? void 0 : _b.query,
94
83
  authorizationResponseUrl,
95
84
  clientId,
96
85
  clientIdScheme,
@@ -126,7 +115,7 @@ let OpenId4VcSiopVerifierService = class OpenId4VcSiopVerifierService {
126
115
  // NOTE: it's not possible to set the uri scheme when using the RP to create an auth request, only lower level
127
116
  // functions allow this. So we need to replace the uri scheme manually.
128
117
  let authorizationRequestUri = (await authorizationRequest.uri()).encodedUri;
129
- if (options.presentationExchange && !options.idToken) {
118
+ if ((options.presentationExchange || options.dcql) && !options.idToken) {
130
119
  authorizationRequestUri = authorizationRequestUri.replace('openid://', 'openid4vp://');
131
120
  }
132
121
  else {
@@ -148,12 +137,11 @@ let OpenId4VcSiopVerifierService = class OpenId4VcSiopVerifierService {
148
137
  const authorizationRequest = await did_auth_siop_1.AuthorizationRequest.fromUriOrJwt(options.verificationSession.authorizationRequestJwt);
149
138
  const verifier = await this.getVerifierByVerifierId(agentContext, options.verificationSession.verifierId);
150
139
  const requestClientId = await authorizationRequest.getMergedProperty('client_id');
151
- // TODO: Is this needed for the verification of the federation?
152
- const requestClientIdScheme = await authorizationRequest.getMergedProperty('client_id_scheme');
153
140
  const requestNonce = await authorizationRequest.getMergedProperty('nonce');
154
141
  const requestState = await authorizationRequest.getMergedProperty('state');
155
142
  const responseUri = await authorizationRequest.getMergedProperty('response_uri');
156
143
  const presentationDefinitionsWithLocation = await authorizationRequest.getPresentationDefinitions();
144
+ const dcqlQuery = await authorizationRequest.getDcqlQuery();
157
145
  if (!requestNonce || !requestClientId || !requestState) {
158
146
  throw new core_1.CredoError(`Unable to find nonce, state, or client_id in authorization request for verification session '${options.verificationSession.id}'`);
159
147
  }
@@ -163,9 +151,9 @@ let OpenId4VcSiopVerifierService = class OpenId4VcSiopVerifierService {
163
151
  ]);
164
152
  const relyingParty = await this.getRelyingParty(agentContext, verifier, {
165
153
  presentationDefinition: (_a = presentationDefinitionsWithLocation === null || presentationDefinitionsWithLocation === void 0 ? void 0 : presentationDefinitionsWithLocation[0]) === null || _a === void 0 ? void 0 : _a.definition,
154
+ dcqlQuery,
166
155
  authorizationResponseUrl,
167
156
  clientId: requestClientId,
168
- clientIdScheme: requestClientIdScheme,
169
157
  });
170
158
  // This is very unfortunate, but storing state in sphereon's SiOP-OID4VP library
171
159
  // is done async, so we can't be certain yet that the verification session record
@@ -188,6 +176,7 @@ let OpenId4VcSiopVerifierService = class OpenId4VcSiopVerifierService {
188
176
  correlationId: options.verificationSession.id,
189
177
  state: requestState,
190
178
  presentationDefinitions: presentationDefinitionsWithLocation,
179
+ dcqlQuery,
191
180
  verification: {
192
181
  presentationVerificationCallback: this.getPresentationVerificationCallback(agentContext, {
193
182
  correlationId: options.verificationSession.id,
@@ -241,12 +230,22 @@ let OpenId4VcSiopVerifierService = class OpenId4VcSiopVerifierService {
241
230
  descriptors: (0, core_1.extractPresentationsWithDescriptorsFromSubmission)(verifiablePresentations, submission, definition),
242
231
  };
243
232
  }
244
- if (!idToken && !presentationExchange) {
233
+ let dcql = undefined;
234
+ const dcqlQuery = await authorizationRequest.getDcqlQuery();
235
+ if (dcqlQuery) {
236
+ const dcqlQueryVpToken = authorizationResponse.payload.vp_token;
237
+ const presentationRecord = Object.fromEntries(Object.entries((0, OpenID4VP_1.extractPresentationRecordFromDcqlVpToken)(dcqlQueryVpToken, { hasher: core_1.Hasher.hash })).map(([key, value]) => {
238
+ return [key, (0, transform_1.getVerifiablePresentationFromSphereonWrapped)(value)];
239
+ }));
240
+ dcql = { query: dcqlQuery, presentationRecord };
241
+ }
242
+ if (!idToken && !(presentationExchange || dcqlQuery)) {
245
243
  throw new core_1.CredoError('No idToken or presentationExchange found in the response.');
246
244
  }
247
245
  return {
248
246
  idToken,
249
247
  presentationExchange,
248
+ dcql,
250
249
  };
251
250
  }
252
251
  /**
@@ -309,20 +308,20 @@ let OpenId4VcSiopVerifierService = class OpenId4VcSiopVerifierService {
309
308
  async getVerificationSessionById(agentContext, verificationSessionId) {
310
309
  return this.openId4VcVerificationSessionRepository.getById(agentContext, verificationSessionId);
311
310
  }
312
- async getRelyingParty(agentContext, verifier, { idToken, presentationDefinition, clientId, clientIdScheme, authorizationResponseUrl, responseMode, }) {
311
+ async getRelyingParty(agentContext, verifier, { idToken, presentationDefinition, dcqlQuery, clientId, clientIdScheme, authorizationResponseUrl, responseMode, }) {
313
312
  const signatureSuiteRegistry = agentContext.dependencyManager.resolve(core_1.SignatureSuiteRegistry);
314
313
  const supportedAlgs = (0, utils_1.getSupportedJwaSignatureAlgorithms)(agentContext);
315
314
  const supportedProofTypes = signatureSuiteRegistry.supportedProofTypes;
316
315
  // Check: audience must be set to the issuer with dynamic disc otherwise self-issued.me/v2.
317
316
  const builder = did_auth_siop_1.RP.builder();
318
317
  const responseTypes = [];
319
- if (!presentationDefinition && idToken === false) {
318
+ if (!(presentationDefinition && dcqlQuery) && idToken === false) {
320
319
  throw new core_1.CredoError('Either `presentationExchange` or `idToken` must be enabled');
321
320
  }
322
- if (presentationDefinition) {
321
+ if (presentationDefinition || dcqlQuery) {
323
322
  responseTypes.push(did_auth_siop_1.ResponseType.VP_TOKEN);
324
323
  }
325
- if (idToken === true || !presentationDefinition) {
324
+ if (idToken === true || !(presentationDefinition || dcqlQuery)) {
326
325
  responseTypes.push(did_auth_siop_1.ResponseType.ID_TOKEN);
327
326
  }
328
327
  // FIXME: we now manually remove did:peer, we should probably allow the user to configure this
@@ -411,6 +410,9 @@ let OpenId4VcSiopVerifierService = class OpenId4VcSiopVerifierService {
411
410
  if (presentationDefinition) {
412
411
  builder.withPresentationDefinition({ definition: presentationDefinition }, [did_auth_siop_1.PropertyTarget.REQUEST_OBJECT]);
413
412
  }
413
+ if (dcqlQuery) {
414
+ builder.withDcqlQuery(JSON.stringify(dcqlQuery));
415
+ }
414
416
  if (responseTypes.includes(did_auth_siop_1.ResponseType.ID_TOKEN)) {
415
417
  builder.withScope('openid');
416
418
  }
@@ -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,6 +1,6 @@
1
1
  import type { OpenId4VcVerificationSessionRecord, OpenId4VcVerifierRecordProps } from './repository';
2
2
  import type { OpenId4VcIssuerX5c, OpenId4VcJwtIssuer, OpenId4VcSiopAuthorizationResponsePayload, OpenId4VcSiopIdTokenPayload } from '../shared';
3
- import type { DifPresentationExchangeDefinition, DifPresentationExchangeSubmission, DifPresentationExchangeDefinitionV2, VerifiablePresentation, DifPexPresentationWithDescriptor } from '@credo-ts/core';
3
+ import type { DifPresentationExchangeDefinition, DifPresentationExchangeSubmission, DifPresentationExchangeDefinitionV2, VerifiablePresentation, DcqlQuery, DcqlPresentationRecord, DifPexPresentationWithDescriptor } from '@credo-ts/core';
4
4
  export type ResponseMode = 'direct_post' | 'direct_post.jwt';
5
5
  export interface OpenId4VcSiopCreateAuthorizationRequestOptions {
6
6
  /**
@@ -23,6 +23,12 @@ export interface OpenId4VcSiopCreateAuthorizationRequestOptions {
23
23
  presentationExchange?: {
24
24
  definition: DifPresentationExchangeDefinitionV2;
25
25
  };
26
+ /**
27
+ * A Digital Credentials Query Language (DCQL) can be provided to request the presentation of a Verifiable Credentials.
28
+ */
29
+ dcql?: {
30
+ query: DcqlQuery;
31
+ };
26
32
  /**
27
33
  * The response mode to use for the authorization request.
28
34
  * @default to `direct_post`.
@@ -48,6 +54,10 @@ export interface OpenId4VcSiopVerifiedAuthorizationResponsePresentationExchange
48
54
  presentations: Array<VerifiablePresentation>;
49
55
  descriptors: DifPexPresentationWithDescriptor[];
50
56
  }
57
+ export interface OpenId4VcSiopVerifiedAuthorizationResponseDcql {
58
+ query: DcqlQuery;
59
+ presentationRecord: DcqlPresentationRecord;
60
+ }
51
61
  /**
52
62
  * Either `idToken` and/or `presentationExchange` will be present.
53
63
  */
@@ -56,6 +66,7 @@ export interface OpenId4VcSiopVerifiedAuthorizationResponse {
56
66
  payload: OpenId4VcSiopIdTokenPayload;
57
67
  };
58
68
  presentationExchange?: OpenId4VcSiopVerifiedAuthorizationResponsePresentationExchange;
69
+ dcql?: OpenId4VcSiopVerifiedAuthorizationResponseDcql;
59
70
  }
60
71
  /**
61
72
  * Verifier metadata that will be send when creating a request
@@ -91,9 +91,6 @@ class OpenId4VcVerifierModule {
91
91
  // Configure endpoints
92
92
  (0, router_2.configureAuthorizationEndpoint)(endpointRouter, this.config.authorizationEndpoint);
93
93
  (0, authorizationRequestEndpoint_1.configureAuthorizationRequestEndpoint)(endpointRouter, this.config.authorizationRequestEndpoint);
94
- // TODO: The keys needs to be passed down to the federation endpoint to be used in the entity configuration for the openid relying party
95
- // TODO: But the keys also needs to be available for the request signing. They also needs to get saved because it needs to survive a restart of the agent.
96
- (0, router_2.configureFederationEndpoint)(endpointRouter);
97
94
  // First one will be called for all requests (when next is called)
98
95
  contextRouter.use(async (req, _res, next) => {
99
96
  const { agentContext } = (0, router_1.getRequestContext)(req);
@@ -1 +1 @@
1
- {"version":3,"file":"OpenId4VcVerifierModule.js","sourceRoot":"","sources":["../../src/openid4vc-verifier/OpenId4VcVerifierModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenId4VcVerifierModule.js","sourceRoot":"","sources":["../../src/openid4vc-verifier/OpenId4VcVerifierModule.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
1
  export { configureAuthorizationEndpoint } from './authorizationEndpoint';
2
2
  export { OpenId4VcVerificationRequest } from './requestContext';
3
- export { configureFederationEndpoint } from './federationEndpoint';
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configureFederationEndpoint = exports.configureAuthorizationEndpoint = void 0;
3
+ exports.configureAuthorizationEndpoint = void 0;
4
4
  var authorizationEndpoint_1 = require("./authorizationEndpoint");
5
5
  Object.defineProperty(exports, "configureAuthorizationEndpoint", { enumerable: true, get: function () { return authorizationEndpoint_1.configureAuthorizationEndpoint; } });
6
- var federationEndpoint_1 = require("./federationEndpoint");
7
- Object.defineProperty(exports, "configureFederationEndpoint", { enumerable: true, get: function () { return federationEndpoint_1.configureFederationEndpoint; } });
8
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/openid4vc-verifier/router/index.ts"],"names":[],"mappings":";;;AAAA,iEAAwE;AAA/D,uIAAA,8BAA8B,OAAA;AAEvC,2DAAkE;AAAzD,iIAAA,2BAA2B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/openid4vc-verifier/router/index.ts"],"names":[],"mappings":";;;AAAA,iEAAwE;AAA/D,uIAAA,8BAA8B,OAAA"}
@@ -24,8 +24,5 @@ interface OpenId4VcJwtIssuerJwk {
24
24
  method: 'jwk';
25
25
  jwk: Jwk;
26
26
  }
27
- export interface OpenId4VcJwtIssuerFederation {
28
- method: 'openid-federation';
29
- }
30
- export type OpenId4VcJwtIssuer = OpenId4VcJwtIssuerDid | OpenId4VcIssuerX5c | OpenId4VcJwtIssuerJwk | OpenId4VcJwtIssuerFederation;
27
+ export type OpenId4VcJwtIssuer = OpenId4VcJwtIssuerDid | OpenId4VcIssuerX5c | OpenId4VcJwtIssuerJwk;
31
28
  export {};
@@ -1,3 +1,4 @@
1
+ import type { AccessTokenResponse } from '@animo-id/oauth2';
1
2
  import type { CredentialConfigurationSupported, CredentialConfigurationSupportedWithFormats, CredentialIssuerMetadata, CredentialIssuerMetadataDisplayEntry, CredentialOfferPreAuthorizedCodeGrantTxCode, CredentialRequest, CredentialRequestFormatSpecific, CredentialRequestWithFormats, IssuerMetadataResult, ParseCredentialRequestReturn, CredentialOfferObject } from '@animo-id/oid4vci';
2
3
  import type { VerifiedAuthorizationRequest, AuthorizationRequestPayload, AuthorizationResponsePayload, IDTokenPayload } from '@sphereon/did-auth-siop';
3
4
  export { preAuthorizedCodeGrantIdentifier, authorizationCodeGrantIdentifier } from '@animo-id/oauth2';
@@ -5,6 +6,7 @@ export type OpenId4VciCredentialConfigurationSupportedWithFormats = CredentialCo
5
6
  export type OpenId4VciCredentialConfigurationSupported = CredentialConfigurationSupported;
6
7
  export type OpenId4VciCredentialConfigurationsSupported = Record<string, OpenId4VciCredentialConfigurationSupported>;
7
8
  export type OpenId4VciCredentialConfigurationsSupportedWithFormats = Record<string, OpenId4VciCredentialConfigurationSupportedWithFormats>;
9
+ export type OpenId4VciAccessTokenResponse = AccessTokenResponse;
8
10
  export type OpenId4VciMetadata = IssuerMetadataResult;
9
11
  export type OpenId4VciTxCode = CredentialOfferPreAuthorizedCodeGrantTxCode;
10
12
  export type OpenId4VciCredentialIssuerMetadata = CredentialIssuerMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAoBA,2CAAqG;AAA5F,0HAAA,gCAAgC,OAAA;AAAE,0HAAA,gCAAgC,OAAA;AA+B3E,uDAAoC;AACpC,4DAAyC;AACzC,sEAAmD;AACnD,wEAAqD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAqBA,2CAAqG;AAA5F,0HAAA,gCAAgC,OAAA;AAAE,0HAAA,gCAAgC,OAAA;AAgC3E,uDAAoC;AACpC,4DAAyC;AACzC,sEAAmD;AACnD,wEAAqD"}
@@ -59,6 +59,7 @@ function getVerifiablePresentationFromSphereonWrapped(wrappedVerifiablePresentat
59
59
  header,
60
60
  payload: wrappedVerifiablePresentation.presentation.signedPayload,
61
61
  prettyClaims: wrappedVerifiablePresentation.presentation.decodedPayload,
62
+ claimFormat: core_1.ClaimFormat.SdJwtVc,
62
63
  };
63
64
  }
64
65
  else if (wrappedVerifiablePresentation.format === 'mso_mdoc') {
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/shared/transform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/shared/transform.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { OpenId4VcIssuerX5c, OpenId4VcJwtIssuer, OpenId4VcJwtIssuerFederation } from './models';
1
+ import type { OpenId4VcIssuerX5c, OpenId4VcJwtIssuer } from './models';
2
2
  import type { AgentContext, DidPurpose, JwaSignatureAlgorithm, Key } from '@credo-ts/core';
3
3
  import type { JwtIssuerWithContext as VpJwtIssuerWithContext, VerifyJwtCallback } from '@sphereon/did-auth-siop';
4
4
  import type { DPoPJwtIssuerWithContext, CreateJwtCallback, JwtIssuer } from '@sphereon/oid4vc-common';
@@ -12,19 +12,11 @@ import type { DPoPJwtIssuerWithContext, CreateJwtCallback, JwtIssuer } from '@sp
12
12
  */
13
13
  export declare function getSupportedJwaSignatureAlgorithms(agentContext: AgentContext): JwaSignatureAlgorithm[];
14
14
  export declare function getKeyFromDid(agentContext: AgentContext, didUrl: string, allowedPurposes?: DidPurpose[]): Promise<Key>;
15
- type VerifyJwtCallbackOptions = {
16
- federation?: {
17
- trustedEntityIds?: string[];
18
- };
19
- };
20
- export declare function getVerifyJwtCallback(agentContext: AgentContext, options?: VerifyJwtCallbackOptions): VerifyJwtCallback;
15
+ export declare function getVerifyJwtCallback(agentContext: AgentContext): VerifyJwtCallback;
21
16
  export declare function getCreateJwtCallback(agentContext: AgentContext): CreateJwtCallback<DPoPJwtIssuerWithContext | VpJwtIssuerWithContext>;
22
- export declare function openIdTokenIssuerToJwtIssuer(agentContext: AgentContext, openId4VcTokenIssuer: Exclude<OpenId4VcJwtIssuer, OpenId4VcIssuerX5c | OpenId4VcJwtIssuerFederation> | (OpenId4VcIssuerX5c & {
17
+ export declare function openIdTokenIssuerToJwtIssuer(agentContext: AgentContext, openId4VcTokenIssuer: Exclude<OpenId4VcJwtIssuer, OpenId4VcIssuerX5c> | (OpenId4VcIssuerX5c & {
23
18
  issuer: string;
24
- }) | (OpenId4VcJwtIssuerFederation & {
25
- entityId: string;
26
19
  })): Promise<JwtIssuer>;
27
20
  export declare function getProofTypeFromKey(agentContext: AgentContext, key: Key): string;
28
21
  export declare function addSecondsToDate(date: Date, seconds: number): Date;
29
22
  export declare function dateToSeconds(date: Date): number;
30
- export {};
@@ -9,7 +9,6 @@ exports.getProofTypeFromKey = getProofTypeFromKey;
9
9
  exports.addSecondsToDate = addSecondsToDate;
10
10
  exports.dateToSeconds = dateToSeconds;
11
11
  const core_1 = require("@credo-ts/core");
12
- const core_2 = require("@openid-federation/core");
13
12
  /**
14
13
  * Returns the JWA Signature Algorithms that are supported by the wallet.
15
14
  *
@@ -36,10 +35,8 @@ async function getKeyFromDid(agentContext, didUrl, allowedPurposes = ['authentic
36
35
  const verificationMethod = didDocument.dereferenceKey(didUrl, allowedPurposes);
37
36
  return (0, core_1.getKeyFromVerificationMethod)(verificationMethod);
38
37
  }
39
- function getVerifyJwtCallback(agentContext, options = {}) {
40
- const logger = agentContext.config.logger;
38
+ function getVerifyJwtCallback(agentContext) {
41
39
  return async (jwtVerifier, jwt) => {
42
- var _a, _b, _c, _d;
43
40
  const jwsService = agentContext.dependencyManager.resolve(core_1.JwsService);
44
41
  if (jwtVerifier.method === 'did') {
45
42
  const key = await getKeyFromDid(agentContext, jwtVerifier.didUrl);
@@ -47,55 +44,17 @@ function getVerifyJwtCallback(agentContext, options = {}) {
47
44
  const res = await jwsService.verifyJws(agentContext, { jws: jwt.raw, jwkResolver: () => jwk });
48
45
  return res.isValid;
49
46
  }
50
- if (jwtVerifier.method === 'x5c' || jwtVerifier.method === 'jwk') {
47
+ else if (jwtVerifier.method === 'x5c' || jwtVerifier.method === 'jwk') {
51
48
  const res = await jwsService.verifyJws(agentContext, { jws: jwt.raw });
52
49
  return res.isValid;
53
50
  }
54
- if (jwtVerifier.method === 'openid-federation') {
55
- const { entityId } = jwtVerifier;
56
- const trustedEntityIds = (_a = options.federation) === null || _a === void 0 ? void 0 : _a.trustedEntityIds;
57
- if (!trustedEntityIds) {
58
- logger.error('No trusted entity ids provided but is required for the "openid-federation" method.');
59
- return false;
60
- }
61
- const validTrustChains = await (0, core_2.resolveTrustChains)({
62
- entityId,
63
- trustAnchorEntityIds: trustedEntityIds,
64
- verifyJwtCallback: async ({ jwt, jwk }) => {
65
- const res = await jwsService.verifyJws(agentContext, {
66
- jws: jwt,
67
- jwkResolver: () => (0, core_1.getJwkFromJson)(jwk),
68
- });
69
- return res.isValid;
70
- },
71
- });
72
- // When the chain is already invalid we can return false immediately
73
- if (validTrustChains.length === 0) {
74
- logger.error(`${entityId} is not part of a trusted federation.`);
75
- return false;
76
- }
77
- // Pick the first valid trust chain for validation of the leaf entity jwks
78
- const { leafEntityConfiguration } = validTrustChains[0];
79
- // TODO: No support yet for signed jwks and external jwks
80
- const rpSigningKeys = (_d = (_c = (_b = leafEntityConfiguration === null || leafEntityConfiguration === void 0 ? void 0 : leafEntityConfiguration.metadata) === null || _b === void 0 ? void 0 : _b.openid_relying_party) === null || _c === void 0 ? void 0 : _c.jwks) === null || _d === void 0 ? void 0 : _d.keys;
81
- if (!rpSigningKeys || rpSigningKeys.length === 0)
82
- throw new core_1.CredoError('No rp signing keys found in the entity configuration.');
83
- const res = await jwsService.verifyJws(agentContext, {
84
- jws: jwt.raw,
85
- jwkResolver: () => (0, core_1.getJwkFromJson)(rpSigningKeys[0]),
86
- });
87
- if (!res.isValid) {
88
- logger.error(`${entityId} does not match the expected signing key.`);
89
- }
90
- // TODO: There is no check yet for the policies
91
- return res.isValid;
51
+ else {
52
+ throw new Error(`Unsupported jwt verifier method: '${jwtVerifier.method}'`);
92
53
  }
93
- throw new Error(`Unsupported jwt verifier method: '${jwtVerifier.method}'`);
94
54
  };
95
55
  }
96
56
  function getCreateJwtCallback(agentContext) {
97
57
  return async (jwtIssuer, jwt) => {
98
- var _a;
99
58
  const jwsService = agentContext.dependencyManager.resolve(core_1.JwsService);
100
59
  if (jwtIssuer.method === 'did') {
101
60
  const key = await getKeyFromDid(agentContext, jwtIssuer.didUrl);
@@ -106,7 +65,7 @@ function getCreateJwtCallback(agentContext) {
106
65
  });
107
66
  return jws;
108
67
  }
109
- if (jwtIssuer.method === 'jwk') {
68
+ else if (jwtIssuer.method === 'jwk') {
110
69
  if (!jwtIssuer.jwk.kty) {
111
70
  throw new core_1.CredoError('Missing required key type (kty) in the jwk.');
112
71
  }
@@ -119,7 +78,7 @@ function getCreateJwtCallback(agentContext) {
119
78
  });
120
79
  return jws;
121
80
  }
122
- if (jwtIssuer.method === 'x5c') {
81
+ else if (jwtIssuer.method === 'x5c') {
123
82
  const leafCertificate = core_1.X509Service.getLeafCertificate(agentContext, { certificateChain: jwtIssuer.x5c });
124
83
  const jws = await jwsService.createJwsCompact(agentContext, {
125
84
  protectedHeaderOptions: Object.assign(Object.assign({}, jwt.header), { alg: jwtIssuer.alg, jwk: undefined }),
@@ -128,47 +87,6 @@ function getCreateJwtCallback(agentContext) {
128
87
  });
129
88
  return jws;
130
89
  }
131
- if (jwtIssuer.method === 'custom') {
132
- // TODO: This could be used as the issuer and verifier. Based on that we need to search for a jwk in the entity configuration
133
- const { options } = jwtIssuer;
134
- if (!options)
135
- throw new core_1.CredoError(`Custom jwtIssuer must have options defined.`);
136
- if (!options.method)
137
- throw new core_1.CredoError(`Custom jwtIssuer's options must have a 'method' property defined.`);
138
- if (options.method !== 'openid-federation')
139
- throw new core_1.CredoError(`Custom jwtIssuer's options 'method' property must be 'openid-federation' when using the 'custom' method.`);
140
- if (!options.entityId)
141
- throw new core_1.CredoError(`Custom jwtIssuer must have entityId defined.`);
142
- if (typeof options.entityId !== 'string')
143
- throw new core_1.CredoError(`Custom jwtIssuer's entityId must be a string.`);
144
- const { entityId } = options;
145
- const entityConfiguration = await (0, core_2.fetchEntityConfiguration)({
146
- entityId,
147
- verifyJwtCallback: async ({ jwt, jwk }) => {
148
- const res = await jwsService.verifyJws(agentContext, { jws: jwt, jwkResolver: () => (0, core_1.getJwkFromJson)(jwk) });
149
- return res.isValid;
150
- },
151
- });
152
- // TODO: Not really sure if this is also used for the issuer so if so we need to change this logic. But currently it's not possible to specify a issuer method with issuance so I think it's fine.
153
- // NOTE: Hardcoded part for the verifier
154
- const openIdRelyingParty = (_a = entityConfiguration.metadata) === null || _a === void 0 ? void 0 : _a.openid_relying_party;
155
- if (!openIdRelyingParty)
156
- throw new core_1.CredoError('No openid-relying-party found in the entity configuration.');
157
- // NOTE: No support for signed jwks and external jwks
158
- const jwks = openIdRelyingParty.jwks;
159
- if (!jwks)
160
- throw new core_1.CredoError('No jwks found in the openid-relying-party.');
161
- // TODO: Not 100% sure what key to pick here I think the one that matches the kid in the jwt header of the entity configuration or we should pass a alg and pick a jwk based on that?
162
- const jwk = (0, core_1.getJwkFromJson)(jwks.keys[0]);
163
- // TODO: This gives a weird error when the private key is not available in the wallet so we should handle that better
164
- const jws = await jwsService.createJwsCompact(agentContext, {
165
- protectedHeaderOptions: Object.assign(Object.assign({}, jwt.header), { jwk, alg: jwk.supportedSignatureAlgorithms[0] }),
166
- payload: core_1.JwtPayload.fromJson(jwt.payload),
167
- key: jwk.key,
168
- });
169
- return jws;
170
- }
171
- // @ts-expect-error - All methods are supported currently so there is no unsupported method anymore
172
90
  throw new Error(`Unsupported jwt issuer method '${jwtIssuer.method}'`);
173
91
  };
174
92
  }
@@ -185,7 +103,7 @@ async function openIdTokenIssuerToJwtIssuer(agentContext, openId4VcTokenIssuer)
185
103
  alg,
186
104
  };
187
105
  }
188
- if (openId4VcTokenIssuer.method === 'x5c') {
106
+ else if (openId4VcTokenIssuer.method === 'x5c') {
189
107
  const leafCertificate = core_1.X509Service.getLeafCertificate(agentContext, {
190
108
  certificateChain: openId4VcTokenIssuer.x5c,
191
109
  });
@@ -210,23 +128,13 @@ async function openIdTokenIssuerToJwtIssuer(agentContext, openId4VcTokenIssuer)
210
128
  }
211
129
  return Object.assign(Object.assign({}, openId4VcTokenIssuer), { alg });
212
130
  }
213
- if (openId4VcTokenIssuer.method === 'jwk') {
131
+ else if (openId4VcTokenIssuer.method === 'jwk') {
214
132
  const alg = openId4VcTokenIssuer.jwk.supportedSignatureAlgorithms[0];
215
133
  if (!alg) {
216
134
  throw new core_1.CredoError(`No supported signature algorithms for key type: '${openId4VcTokenIssuer.jwk.keyType}'`);
217
135
  }
218
136
  return Object.assign(Object.assign({}, openId4VcTokenIssuer), { jwk: openId4VcTokenIssuer.jwk.toJson(), alg });
219
137
  }
220
- if (openId4VcTokenIssuer.method === 'openid-federation') {
221
- // TODO: Not sure what we want here if we need to add a new type to the sphereon library or that we can do it with the custom issuer
222
- return {
223
- method: 'custom',
224
- options: {
225
- method: 'openid-federation',
226
- entityId: openId4VcTokenIssuer.entityId,
227
- },
228
- };
229
- }
230
138
  throw new core_1.CredoError(`Unsupported jwt issuer method '${openId4VcTokenIssuer.method}'`);
231
139
  }
232
140
  function getProofTypeFromKey(agentContext, key) {