@credo-ts/openid4vc 0.6.0-pr-2195-20250226092707 → 0.6.0-pr-2209-20250321171013

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 (99) hide show
  1. package/build/openid4vc-holder/OpenId4VcHolderApi.d.ts +14 -119
  2. package/build/openid4vc-holder/OpenId4VcHolderApi.js +9 -24
  3. package/build/openid4vc-holder/OpenId4VcHolderApi.js.map +1 -1
  4. package/build/openid4vc-holder/OpenId4VcHolderModule.js +1 -1
  5. package/build/openid4vc-holder/OpenId4VcHolderModule.js.map +1 -1
  6. package/build/openid4vc-holder/OpenId4VciHolderService.d.ts +8 -7
  7. package/build/openid4vc-holder/OpenId4VciHolderService.js +21 -19
  8. package/build/openid4vc-holder/OpenId4VciHolderService.js.map +1 -1
  9. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.d.ts +4 -4
  10. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js +2 -2
  11. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js.map +1 -1
  12. package/build/openid4vc-holder/OpenId4vcSiopHolderService.d.ts +15 -116
  13. package/build/openid4vc-holder/OpenId4vcSiopHolderService.js +233 -239
  14. package/build/openid4vc-holder/OpenId4vcSiopHolderService.js.map +1 -1
  15. package/build/openid4vc-holder/OpenId4vcSiopHolderServiceOptions.d.ts +9 -25
  16. package/build/openid4vc-issuer/OpenId4VcIssuerApi.d.ts +44 -194
  17. package/build/openid4vc-issuer/OpenId4VcIssuerEvents.d.ts +1 -1
  18. package/build/openid4vc-issuer/OpenId4VcIssuerModule.d.ts +1 -1
  19. package/build/openid4vc-issuer/OpenId4VcIssuerModule.js +1 -1
  20. package/build/openid4vc-issuer/OpenId4VcIssuerModule.js.map +1 -1
  21. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.d.ts +8 -8
  22. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js +10 -2
  23. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js.map +1 -1
  24. package/build/openid4vc-issuer/OpenId4VcIssuerService.d.ts +48 -198
  25. package/build/openid4vc-issuer/OpenId4VcIssuerService.js +27 -39
  26. package/build/openid4vc-issuer/OpenId4VcIssuerService.js.map +1 -1
  27. package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.d.ts +6 -11
  28. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.d.ts +2 -2
  29. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js +1 -0
  30. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js.map +1 -1
  31. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.d.ts +1 -1
  32. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.d.ts +1 -1
  33. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js +3 -3
  34. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js.map +1 -1
  35. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRepository.d.ts +1 -1
  36. package/build/openid4vc-issuer/router/accessTokenEndpoint.d.ts +2 -2
  37. package/build/openid4vc-issuer/router/accessTokenEndpoint.js +1 -1
  38. package/build/openid4vc-issuer/router/accessTokenEndpoint.js.map +1 -1
  39. package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js +1 -1
  40. package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js.map +1 -1
  41. package/build/openid4vc-issuer/router/authorizationServerMetadataEndpoint.js +1 -1
  42. package/build/openid4vc-issuer/router/authorizationServerMetadataEndpoint.js.map +1 -1
  43. package/build/openid4vc-issuer/router/credentialEndpoint.d.ts +1 -1
  44. package/build/openid4vc-issuer/router/credentialEndpoint.js +3 -3
  45. package/build/openid4vc-issuer/router/credentialEndpoint.js.map +1 -1
  46. package/build/openid4vc-issuer/router/credentialOfferEndpoint.d.ts +1 -1
  47. package/build/openid4vc-issuer/router/issuerMetadataEndpoint.js +1 -1
  48. package/build/openid4vc-issuer/router/issuerMetadataEndpoint.js.map +1 -1
  49. package/build/openid4vc-issuer/router/jwksEndpoint.d.ts +1 -1
  50. package/build/openid4vc-issuer/router/nonceEndpoint.d.ts +1 -1
  51. package/build/openid4vc-issuer/util/txCode.d.ts +1 -1
  52. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.d.ts +12 -20
  53. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js +325 -571
  54. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js.map +1 -1
  55. package/build/openid4vc-verifier/OpenId4VcSiopVerifierServiceOptions.d.ts +20 -36
  56. package/build/openid4vc-verifier/OpenId4VcVerifierApi.d.ts +2 -2
  57. package/build/openid4vc-verifier/OpenId4VcVerifierApi.js +2 -2
  58. package/build/openid4vc-verifier/OpenId4VcVerifierApi.js.map +1 -1
  59. package/build/openid4vc-verifier/OpenId4VcVerifierEvents.d.ts +1 -1
  60. package/build/openid4vc-verifier/OpenId4VcVerifierModule.d.ts +1 -1
  61. package/build/openid4vc-verifier/OpenId4VcVerifierModule.js +4 -1
  62. package/build/openid4vc-verifier/OpenId4VcVerifierModule.js.map +1 -1
  63. package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.d.ts +2 -2
  64. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.d.ts +49 -0
  65. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js +230 -0
  66. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js.map +1 -0
  67. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.d.ts +19 -0
  68. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js +144 -0
  69. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js.map +1 -0
  70. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.d.ts +11 -20
  71. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js +7 -18
  72. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js.map +1 -1
  73. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.d.ts +1 -1
  74. package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.d.ts +1 -1
  75. package/build/openid4vc-verifier/repository/OpenId4VcVerifierRepository.d.ts +1 -1
  76. package/build/openid4vc-verifier/router/authorizationEndpoint.js +103 -5
  77. package/build/openid4vc-verifier/router/authorizationEndpoint.js.map +1 -1
  78. package/build/openid4vc-verifier/router/authorizationRequestEndpoint.js +16 -3
  79. package/build/openid4vc-verifier/router/authorizationRequestEndpoint.js.map +1 -1
  80. package/build/shared/callbacks.d.ts +6 -14
  81. package/build/shared/callbacks.js +14 -102
  82. package/build/shared/callbacks.js.map +1 -1
  83. package/build/shared/issuerMetadataUtils.d.ts +144 -102
  84. package/build/shared/models/OpenId4VcJwtIssuer.d.ts +3 -2
  85. package/build/shared/models/index.d.ts +10 -10
  86. package/build/shared/models/index.js +5 -5
  87. package/build/shared/models/index.js.map +1 -1
  88. package/build/shared/router/context.d.ts +3 -3
  89. package/build/shared/router/context.js +4 -4
  90. package/build/shared/router/context.js.map +1 -1
  91. package/build/shared/router/express.js +1 -2
  92. package/build/shared/router/express.js.map +1 -1
  93. package/build/shared/transform.d.ts +5 -0
  94. package/build/shared/transform.js +69 -0
  95. package/build/shared/transform.js.map +1 -0
  96. package/build/shared/utils.d.ts +8 -6
  97. package/build/shared/utils.js +105 -34
  98. package/build/shared/utils.js.map +1 -1
  99. package/package.json +8 -6
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSphereonVerifiableCredential = getSphereonVerifiableCredential;
4
+ exports.getSphereonVerifiablePresentation = getSphereonVerifiablePresentation;
5
+ exports.getVerifiablePresentationFromSphereonWrapped = getVerifiablePresentationFromSphereonWrapped;
6
+ const core_1 = require("@credo-ts/core");
7
+ function getSphereonVerifiableCredential(verifiableCredential) {
8
+ // encoded sd-jwt or jwt
9
+ if (typeof verifiableCredential === 'string') {
10
+ return verifiableCredential;
11
+ }
12
+ if (verifiableCredential instanceof core_1.W3cJsonLdVerifiableCredential) {
13
+ return core_1.JsonTransformer.toJSON(verifiableCredential);
14
+ }
15
+ if (verifiableCredential instanceof core_1.W3cJwtVerifiableCredential) {
16
+ return verifiableCredential.serializedJwt;
17
+ }
18
+ if (verifiableCredential instanceof core_1.Mdoc) {
19
+ return verifiableCredential.base64Url;
20
+ }
21
+ return verifiableCredential.compact;
22
+ }
23
+ function getSphereonVerifiablePresentation(verifiablePresentation) {
24
+ // encoded sd-jwt or jwt
25
+ if (typeof verifiablePresentation === 'string') {
26
+ return verifiablePresentation;
27
+ }
28
+ if (verifiablePresentation instanceof core_1.W3cJsonLdVerifiablePresentation) {
29
+ return core_1.JsonTransformer.toJSON(verifiablePresentation);
30
+ }
31
+ if (verifiablePresentation instanceof core_1.W3cJwtVerifiablePresentation) {
32
+ return verifiablePresentation.serializedJwt;
33
+ }
34
+ if (verifiablePresentation instanceof core_1.MdocDeviceResponse) {
35
+ return verifiablePresentation.base64Url;
36
+ }
37
+ return verifiablePresentation.compact;
38
+ }
39
+ function getVerifiablePresentationFromSphereonWrapped(wrappedVerifiablePresentation) {
40
+ if (wrappedVerifiablePresentation.format === 'jwt_vp') {
41
+ if (typeof wrappedVerifiablePresentation.original !== 'string') {
42
+ throw new core_1.CredoError('Unable to transform JWT VP to W3C VP');
43
+ }
44
+ return core_1.W3cJwtVerifiablePresentation.fromSerializedJwt(wrappedVerifiablePresentation.original);
45
+ }
46
+ if (wrappedVerifiablePresentation.format === 'ldp_vp') {
47
+ return core_1.JsonTransformer.fromJSON(wrappedVerifiablePresentation.original, core_1.W3cJsonLdVerifiablePresentation);
48
+ }
49
+ if (wrappedVerifiablePresentation.format === 'vc+sd-jwt') {
50
+ // We use some custom logic here so we don't have to re-process the encoded SD-JWT
51
+ const [encodedHeader] = wrappedVerifiablePresentation.presentation.compactSdJwtVc.split('.');
52
+ const header = core_1.JsonEncoder.fromBase64(encodedHeader);
53
+ return {
54
+ compact: wrappedVerifiablePresentation.presentation.compactSdJwtVc,
55
+ header,
56
+ payload: wrappedVerifiablePresentation.presentation.signedPayload,
57
+ prettyClaims: wrappedVerifiablePresentation.presentation.decodedPayload,
58
+ };
59
+ }
60
+ if (wrappedVerifiablePresentation.format === 'mso_mdoc') {
61
+ if (typeof wrappedVerifiablePresentation.original !== 'string') {
62
+ const base64Url = core_1.TypedArrayEncoder.toBase64URL(new Uint8Array(wrappedVerifiablePresentation.original.cborEncode()));
63
+ return core_1.MdocDeviceResponse.fromBase64Url(base64Url);
64
+ }
65
+ return core_1.MdocDeviceResponse.fromBase64Url(wrappedVerifiablePresentation.original);
66
+ }
67
+ throw new core_1.CredoError(`Unsupported presentation format: ${wrappedVerifiablePresentation.format}`);
68
+ }
69
+ //# sourceMappingURL=transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/shared/transform.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import type { OpenId4VcJwtIssuer } from './models';
2
- import type { AgentContext, DidPurpose, JwaSignatureAlgorithm, Key } from '@credo-ts/core';
3
- import type { JwtSigner, JwtSignerX5c } from '@openid4vc/oauth2';
1
+ import type { AgentContext, DidPurpose, EncodedX509Certificate, JwaSignatureAlgorithm, Key } from '@credo-ts/core';
2
+ import type { VerifyJwtCallback, JwtIssuerWithContext as VpJwtIssuerWithContext } from '@sphereon/did-auth-siop';
3
+ import type { CreateJwtCallback, DPoPJwtIssuerWithContext, JwtIssuer } from '@sphereon/oid4vc-common';
4
+ import type { OpenId4VcIssuerX5c, OpenId4VcJwtIssuer } from './models';
4
5
  /**
5
6
  * Returns the JWA Signature Algorithms that are supported by the wallet.
6
7
  *
@@ -11,10 +12,11 @@ import type { JwtSigner, JwtSignerX5c } from '@openid4vc/oauth2';
11
12
  */
12
13
  export declare function getSupportedJwaSignatureAlgorithms(agentContext: AgentContext): JwaSignatureAlgorithm[];
13
14
  export declare function getKeyFromDid(agentContext: AgentContext, didUrl: string, allowedPurposes?: DidPurpose[]): Promise<Key>;
14
- export declare function requestSignerToJwtIssuer(agentContext: AgentContext, requestSigner: OpenId4VcJwtIssuer): Promise<Exclude<JwtSigner, JwtSignerX5c> | (JwtSignerX5c & {
15
+ export declare function getVerifyJwtCallback(agentContext: AgentContext, _trustedCertificates?: EncodedX509Certificate[]): VerifyJwtCallback;
16
+ export declare function getCreateJwtCallback(agentContext: AgentContext): CreateJwtCallback<DPoPJwtIssuerWithContext | VpJwtIssuerWithContext>;
17
+ export declare function openIdTokenIssuerToJwtIssuer(agentContext: AgentContext, openId4VcTokenIssuer: Exclude<OpenId4VcJwtIssuer, OpenId4VcIssuerX5c> | (OpenId4VcIssuerX5c & {
15
18
  issuer: string;
16
- })>;
19
+ })): Promise<JwtIssuer>;
17
20
  export declare function getProofTypeFromKey(agentContext: AgentContext, key: Key): string;
18
21
  export declare function addSecondsToDate(date: Date, seconds: number): Date;
19
22
  export declare function dateToSeconds(date: Date): number;
20
- export declare function parseIfJson<T>(input: T): T | Record<string, unknown>;
@@ -2,11 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getSupportedJwaSignatureAlgorithms = getSupportedJwaSignatureAlgorithms;
4
4
  exports.getKeyFromDid = getKeyFromDid;
5
- exports.requestSignerToJwtIssuer = requestSignerToJwtIssuer;
5
+ exports.getVerifyJwtCallback = getVerifyJwtCallback;
6
+ exports.getCreateJwtCallback = getCreateJwtCallback;
7
+ exports.openIdTokenIssuerToJwtIssuer = openIdTokenIssuerToJwtIssuer;
6
8
  exports.getProofTypeFromKey = getProofTypeFromKey;
7
9
  exports.addSecondsToDate = addSecondsToDate;
8
10
  exports.dateToSeconds = dateToSeconds;
9
- exports.parseIfJson = parseIfJson;
10
11
  const core_1 = require("@credo-ts/core");
11
12
  /**
12
13
  * Returns the JWA Signature Algorithms that are supported by the wallet.
@@ -34,58 +35,141 @@ async function getKeyFromDid(agentContext, didUrl, allowedPurposes = ['authentic
34
35
  const verificationMethod = didDocument.dereferenceKey(didUrl, allowedPurposes);
35
36
  return (0, core_1.getKeyFromVerificationMethod)(verificationMethod);
36
37
  }
37
- async function requestSignerToJwtIssuer(agentContext, requestSigner) {
38
- if (requestSigner.method === 'did') {
39
- const key = await getKeyFromDid(agentContext, requestSigner.didUrl);
38
+ function getVerifyJwtCallback(agentContext, _trustedCertificates) {
39
+ return async (jwtVerifier, jwt) => {
40
+ const jwsService = agentContext.dependencyManager.resolve(core_1.JwsService);
41
+ let trustedCertificates = _trustedCertificates;
42
+ if (jwtVerifier.method === 'did') {
43
+ const key = await getKeyFromDid(agentContext, jwtVerifier.didUrl);
44
+ const jwk = (0, core_1.getJwkFromKey)(key);
45
+ const res = await jwsService.verifyJws(agentContext, {
46
+ jws: jwt.raw,
47
+ jwkResolver: () => jwk,
48
+ // No certificates trusted
49
+ trustedCertificates: [],
50
+ });
51
+ return res.isValid;
52
+ }
53
+ if (jwtVerifier.method === 'x5c' || jwtVerifier.method === 'jwk') {
54
+ if (jwtVerifier.type === 'request-object') {
55
+ const x509Config = agentContext.dependencyManager.resolve(core_1.X509ModuleConfig);
56
+ const certificateChain = jwt.header.x5c?.map((cert) => core_1.X509Certificate.fromEncodedCertificate(cert));
57
+ if (!trustedCertificates && certificateChain && x509Config.getTrustedCertificatesForVerification) {
58
+ trustedCertificates = await x509Config.getTrustedCertificatesForVerification(agentContext, {
59
+ certificateChain,
60
+ verification: {
61
+ type: 'oauth2SecuredAuthorizationRequest',
62
+ authorizationRequest: {
63
+ jwt: jwt.raw,
64
+ payload: core_1.JwtPayload.fromJson(jwt.payload),
65
+ },
66
+ },
67
+ });
68
+ }
69
+ if (!trustedCertificates) {
70
+ // We also take from the config here to avoid the callback being called again
71
+ trustedCertificates = x509Config.trustedCertificates ?? [];
72
+ }
73
+ }
74
+ const res = await jwsService.verifyJws(agentContext, {
75
+ jws: jwt.raw,
76
+ // Only allowed for request object
77
+ trustedCertificates: jwtVerifier.type === 'request-object' ? trustedCertificates : [],
78
+ });
79
+ return res.isValid;
80
+ }
81
+ throw new Error(`Unsupported jwt verifier method: '${jwtVerifier.method}'`);
82
+ };
83
+ }
84
+ function getCreateJwtCallback(agentContext) {
85
+ return async (jwtIssuer, jwt) => {
86
+ const jwsService = agentContext.dependencyManager.resolve(core_1.JwsService);
87
+ if (jwtIssuer.method === 'did') {
88
+ const key = await getKeyFromDid(agentContext, jwtIssuer.didUrl);
89
+ const jws = await jwsService.createJwsCompact(agentContext, {
90
+ protectedHeaderOptions: { ...jwt.header, alg: jwtIssuer.alg, jwk: undefined },
91
+ payload: core_1.JwtPayload.fromJson(jwt.payload),
92
+ key,
93
+ });
94
+ return jws;
95
+ }
96
+ if (jwtIssuer.method === 'jwk') {
97
+ if (!jwtIssuer.jwk.kty) {
98
+ throw new core_1.CredoError('Missing required key type (kty) in the jwk.');
99
+ }
100
+ const jwk = (0, core_1.getJwkFromJson)(jwtIssuer.jwk);
101
+ const key = jwk.key;
102
+ const jws = await jwsService.createJwsCompact(agentContext, {
103
+ protectedHeaderOptions: { ...jwt.header, jwk, alg: jwtIssuer.alg },
104
+ payload: core_1.JwtPayload.fromJson(jwt.payload),
105
+ key,
106
+ });
107
+ return jws;
108
+ }
109
+ if (jwtIssuer.method === 'x5c') {
110
+ const leafCertificate = core_1.X509Service.getLeafCertificate(agentContext, { certificateChain: jwtIssuer.x5c });
111
+ const jws = await jwsService.createJwsCompact(agentContext, {
112
+ protectedHeaderOptions: { ...jwt.header, alg: jwtIssuer.alg, jwk: undefined },
113
+ payload: core_1.JwtPayload.fromJson(jwt.payload),
114
+ key: leafCertificate.publicKey,
115
+ });
116
+ return jws;
117
+ }
118
+ throw new Error(`Unsupported jwt issuer method '${jwtIssuer.method}'`);
119
+ };
120
+ }
121
+ async function openIdTokenIssuerToJwtIssuer(agentContext, openId4VcTokenIssuer) {
122
+ if (openId4VcTokenIssuer.method === 'did') {
123
+ const key = await getKeyFromDid(agentContext, openId4VcTokenIssuer.didUrl);
40
124
  const alg = (0, core_1.getJwkClassFromKeyType)(key.keyType)?.supportedSignatureAlgorithms[0];
41
125
  if (!alg)
42
126
  throw new core_1.CredoError(`No supported signature algorithms for key type: ${key.keyType}`);
43
127
  return {
44
- method: requestSigner.method,
45
- didUrl: requestSigner.didUrl,
128
+ method: openId4VcTokenIssuer.method,
129
+ didUrl: openId4VcTokenIssuer.didUrl,
46
130
  alg,
47
131
  };
48
132
  }
49
- else if (requestSigner.method === 'x5c') {
133
+ if (openId4VcTokenIssuer.method === 'x5c') {
50
134
  const leafCertificate = core_1.X509Service.getLeafCertificate(agentContext, {
51
- certificateChain: requestSigner.x5c,
135
+ certificateChain: openId4VcTokenIssuer.x5c,
52
136
  });
53
137
  const jwk = (0, core_1.getJwkFromKey)(leafCertificate.publicKey);
54
138
  const alg = jwk.supportedSignatureAlgorithms[0];
55
139
  if (!alg) {
56
140
  throw new core_1.CredoError(`No supported signature algorithms found key type: '${jwk.keyType}'`);
57
141
  }
58
- if (!requestSigner.issuer.startsWith('https://') &&
59
- !(requestSigner.issuer.startsWith('http://') && agentContext.config.allowInsecureHttpUrls)) {
142
+ if (!openId4VcTokenIssuer.issuer.startsWith('https://') &&
143
+ !(openId4VcTokenIssuer.issuer.startsWith('http://') && agentContext.config.allowInsecureHttpUrls)) {
60
144
  throw new core_1.CredoError('The X509 certificate issuer must be a HTTPS URI.');
61
145
  }
62
- if (!leafCertificate.sanUriNames.includes(requestSigner.issuer) &&
63
- !leafCertificate.sanDnsNames.includes((0, core_1.getDomainFromUrl)(requestSigner.issuer))) {
146
+ if (!leafCertificate.sanUriNames.includes(openId4VcTokenIssuer.issuer) &&
147
+ !leafCertificate.sanDnsNames.includes((0, core_1.getDomainFromUrl)(openId4VcTokenIssuer.issuer))) {
64
148
  const sanUriMessage = leafCertificate.sanUriNames.length > 0
65
149
  ? `SAN-URI names are ${leafCertificate.sanUriNames.join(', ')}`
66
150
  : 'there are no SAN-URI names';
67
151
  const sanDnsMessage = leafCertificate.sanDnsNames.length > 0
68
152
  ? `SAN-DNS names are ${leafCertificate.sanDnsNames.join(', ')}`
69
153
  : 'there are no SAN-DNS names';
70
- throw new Error(`The 'iss' claim in the payload does not match a 'SAN-URI' or 'SAN-DNS' name in the x5c certificate. 'iss' value is '${requestSigner.issuer}', ${sanUriMessage}, ${sanDnsMessage} (for SAN-DNS only domain has to match)`);
154
+ throw new Error(`The 'iss' claim in the payload does not match a 'SAN-URI' or 'SAN-DNS' name in the x5c certificate. 'iss' value is '${openId4VcTokenIssuer.issuer}', ${sanUriMessage}, ${sanDnsMessage} (for SAN-DNS only domain has to match)`);
71
155
  }
72
156
  return {
73
- ...requestSigner,
157
+ ...openId4VcTokenIssuer,
74
158
  alg,
75
159
  };
76
160
  }
77
- else if (requestSigner.method === 'jwk') {
78
- const alg = requestSigner.jwk.supportedSignatureAlgorithms[0];
161
+ if (openId4VcTokenIssuer.method === 'jwk') {
162
+ const alg = openId4VcTokenIssuer.jwk.supportedSignatureAlgorithms[0];
79
163
  if (!alg) {
80
- throw new core_1.CredoError(`No supported signature algorithms for key type: '${requestSigner.jwk.keyType}'`);
164
+ throw new core_1.CredoError(`No supported signature algorithms for key type: '${openId4VcTokenIssuer.jwk.keyType}'`);
81
165
  }
82
166
  return {
83
- ...requestSigner,
84
- publicJwk: requestSigner.jwk.toJson(),
167
+ ...openId4VcTokenIssuer,
168
+ jwk: openId4VcTokenIssuer.jwk.toJson(),
85
169
  alg,
86
170
  };
87
171
  }
88
- throw new core_1.CredoError(`Unsupported jwt issuer method '${requestSigner.method}'`);
172
+ throw new core_1.CredoError(`Unsupported jwt issuer method '${openId4VcTokenIssuer.method}'`);
89
173
  }
90
174
  function getProofTypeFromKey(agentContext, key) {
91
175
  const signatureSuiteRegistry = agentContext.dependencyManager.resolve(core_1.SignatureSuiteRegistry);
@@ -101,17 +185,4 @@ function addSecondsToDate(date, seconds) {
101
185
  function dateToSeconds(date) {
102
186
  return Math.floor(date.getTime() / 1000);
103
187
  }
104
- function parseIfJson(input) {
105
- if (typeof input !== 'string') {
106
- return input;
107
- }
108
- try {
109
- // Try to parse the string as JSON
110
- return JSON.parse(input);
111
- }
112
- catch (error) {
113
- /* empty */
114
- }
115
- return input;
116
- }
117
188
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/shared/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/shared/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@credo-ts/openid4vc",
3
3
  "main": "build/index",
4
4
  "types": "build/index",
5
- "version": "0.6.0-pr-2195-20250226092707",
5
+ "version": "0.6.0-pr-2209-20250321171013",
6
6
  "files": [
7
7
  "build"
8
8
  ],
@@ -17,13 +17,15 @@
17
17
  "directory": "packages/openid4vc"
18
18
  },
19
19
  "dependencies": {
20
+ "@sphereon/did-auth-siop": "0.16.1-fix.173",
21
+ "@sphereon/oid4vc-common": "0.16.1-fix.173",
22
+ "@sphereon/ssi-types": "0.30.2-next.135",
20
23
  "class-transformer": "^0.5.1",
21
24
  "rxjs": "^7.8.0",
22
25
  "zod": "^3.23.8",
23
- "@openid4vc/openid4vci": "0.3.0-alpha-20250225204254",
24
- "@openid4vc/oauth2": "0.3.0-alpha-20250225204254",
25
- "@openid4vc/openid4vp": "0.3.0-alpha-20250225204254",
26
- "@credo-ts/core": "0.6.0-pr-2195-20250226092707"
26
+ "@animo-id/oid4vci": "0.1.4",
27
+ "@animo-id/oauth2": "0.1.4",
28
+ "@credo-ts/core": "0.6.0-pr-2209-20250321171013"
27
29
  },
28
30
  "devDependencies": {
29
31
  "@types/express": "^4.17.21",
@@ -31,7 +33,7 @@
31
33
  "nock": "^14.0.0-beta.19",
32
34
  "rimraf": "^4.4.0",
33
35
  "typescript": "~5.5.2",
34
- "@credo-ts/tenants": "0.6.0-pr-2195-20250226092707"
36
+ "@credo-ts/tenants": "0.6.0-pr-2209-20250321171013"
35
37
  },
36
38
  "scripts": {
37
39
  "build": "pnpm run clean && pnpm run compile",