@sphereon/oid4vci-client 0.8.2-unstable.58 → 0.8.2-unstable.61

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.
@@ -1 +1 @@
1
- {"version":3,"file":"AuthorizationCodeClient.d.ts","sourceRoot":"","sources":["../lib/AuthorizationCodeClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EAGxB,iCAAiC,EACjC,mBAAmB,EACnB,sBAAsB,EAGtB,QAAQ,EAGT,MAAM,0BAA0B,CAAC;AAGlC,eAAO,MAAM,6BAA6B;UAOlC,QAAQ;sBACI,sBAAsB;0BAClB,wBAAwB;;;MAG5C,QAAQ,MAAM,CAoFjB,CAAC"}
1
+ {"version":3,"file":"AuthorizationCodeClient.d.ts","sourceRoot":"","sources":["../lib/AuthorizationCodeClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EAGxB,iCAAiC,EACjC,mBAAmB,EACnB,sBAAsB,EAGtB,QAAQ,EAGT,MAAM,0BAA0B,CAAC;AAGlC,eAAO,MAAM,6BAA6B;UAOlC,QAAQ;sBACI,sBAAsB;0BAClB,wBAAwB;;;MAG5C,QAAQ,MAAM,CAqFjB,CAAC"}
@@ -75,7 +75,8 @@ const createAuthorizationRequestUrl = ({ pkce, endpointMetadata, authorizationRe
75
75
  console.log(`QUERY obj: ` + JSON.stringify(queryObj, null, 2));
76
76
  const url = (0, oid4vci_common_1.convertJsonToURI)(queryObj, {
77
77
  baseUrl: endpointMetadata.authorization_endpoint,
78
- uriTypeProperties: ['request_uri', 'redirect_uri', 'scope', 'authorization_details', 'issuer_state'],
78
+ uriTypeProperties: ['client_id', 'request_uri', 'redirect_uri', 'scope', 'authorization_details', 'issuer_state'],
79
+ // arrayTypeProperties: ['authorization_details'],
79
80
  mode: oid4vci_common_1.JsonURIMode.X_FORM_WWW_URLENCODED,
80
81
  // We do not add the version here, as this always needs to be form encoded
81
82
  });
@@ -1 +1 @@
1
- {"version":3,"file":"AuthorizationCodeClient.js","sourceRoot":"","sources":["../lib/AuthorizationCodeClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthorizationCodeClient.js","sourceRoot":"","sources":["../lib/AuthorizationCodeClient.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AccessTokenResponse, Alg, AuthorizationRequestOpts, AuthzFlowType, CredentialOfferRequestWithBaseUrl, CredentialResponse, CredentialSupported, EndpointMetadataResult, JWK, OID4VCICredentialFormat, OpenId4VCIVersion, PKCEOpts, ProofOfPossessionCallbacks } from '@sphereon/oid4vci-common';
1
+ import { AccessTokenResponse, Alg, AuthorizationRequestOpts, AuthorizationResponse, AuthzFlowType, CredentialOfferRequestWithBaseUrl, CredentialResponse, CredentialSupported, EndpointMetadataResult, JWK, OID4VCICredentialFormat, OpenId4VCIVersion, PKCEOpts, ProofOfPossessionCallbacks } from '@sphereon/oid4vci-common';
2
2
  import { CredentialFormat } from '@sphereon/ssi-types';
3
3
  export declare class OpenID4VCIClient {
4
4
  private readonly _credentialOffer?;
@@ -13,7 +13,7 @@ export declare class OpenID4VCIClient {
13
13
  private _authorizationRequestOpts?;
14
14
  private _authorizationURL?;
15
15
  private constructor();
16
- static fromCredentialIssuer({ kid, alg, retrieveServerMetadata, clientId, credentialIssuer, pkce, authorizationRequest, createAuthorizationRequestURL, }: {
16
+ static fromCredentialIssuer({ kid, alg, retrieveServerMetadata, clientId, credentialIssuer, pkce, authorizationRequest, createAuthorizationRequestURL }: {
17
17
  credentialIssuer: string;
18
18
  kid?: string;
19
19
  alg?: Alg | string;
@@ -23,7 +23,7 @@ export declare class OpenID4VCIClient {
23
23
  authorizationRequest?: AuthorizationRequestOpts;
24
24
  pkce?: PKCEOpts;
25
25
  }): Promise<OpenID4VCIClient>;
26
- static fromURI({ uri, kid, alg, retrieveServerMetadata, clientId, pkce, createAuthorizationRequestURL, authorizationRequest, resolveOfferUri, }: {
26
+ static fromURI({ uri, kid, alg, retrieveServerMetadata, clientId, pkce, createAuthorizationRequestURL, authorizationRequest, resolveOfferUri }: {
27
27
  uri: string;
28
28
  kid?: string;
29
29
  alg?: Alg | string;
@@ -34,6 +34,12 @@ export declare class OpenID4VCIClient {
34
34
  clientId?: string;
35
35
  authorizationRequest?: AuthorizationRequestOpts;
36
36
  }): Promise<OpenID4VCIClient>;
37
+ /**
38
+ * Allows you to create an Authorization Request URL when using an Authorization Code flow. This URL needs to be accessed using the front channel (browser)
39
+ *
40
+ * The Identity provider would present a login screen typically; after you authenticated, it would redirect to the provided redirectUri; which can be same device or cross-device
41
+ * @param opts
42
+ */
37
43
  createAuthorizationRequestUrl(opts?: {
38
44
  authorizationRequest?: AuthorizationRequestOpts;
39
45
  pkce?: PKCEOpts;
@@ -44,10 +50,11 @@ export declare class OpenID4VCIClient {
44
50
  pin?: string;
45
51
  clientId?: string;
46
52
  codeVerifier?: string;
53
+ authorizationResponse?: string | AuthorizationResponse;
47
54
  code?: string;
48
55
  redirectUri?: string;
49
56
  }): Promise<AccessTokenResponse>;
50
- acquireCredentials({ credentialTypes, proofCallbacks, format, kid, jwk, alg, jti, deferredCredentialAwait, deferredCredentialIntervalInMS, }: {
57
+ acquireCredentials({ credentialTypes, proofCallbacks, format, kid, jwk, alg, jti, deferredCredentialAwait, deferredCredentialIntervalInMS }: {
51
58
  credentialTypes: string | string[];
52
59
  proofCallbacks: ProofOfPossessionCallbacks<any>;
53
60
  format?: CredentialFormat | OID4VCICredentialFormat;
@@ -70,6 +77,7 @@ export declare class OpenID4VCIClient {
70
77
  get kid(): string;
71
78
  get alg(): string;
72
79
  get clientId(): string | undefined;
80
+ hasAccessTokenResponse(): boolean;
73
81
  get accessTokenResponse(): AccessTokenResponse;
74
82
  getIssuer(): string;
75
83
  getAccessTokenEndpoint(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"OpenID4VCIClient.d.ts","sourceRoot":"","sources":["../lib/OpenID4VCIClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenID4VCIClient.d.ts","sourceRoot":"","sources":["../lib/OpenID4VCIClient.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ const ProofOfPossessionBuilder_1 = require("./ProofOfPossessionBuilder");
24
24
  const AuthorizationUtil_1 = require("./functions/AuthorizationUtil");
25
25
  const debug = (0, debug_1.default)('sphereon:oid4vci');
26
26
  class OpenID4VCIClient {
27
- constructor({ credentialOffer, clientId, kid, alg, credentialIssuer, pkce, authorizationRequest, }) {
27
+ constructor({ credentialOffer, clientId, kid, alg, credentialIssuer, pkce, authorizationRequest }) {
28
28
  this._pkce = { disabled: false, codeChallengeMethod: oid4vci_common_1.CodeChallengeMethod.S256 };
29
29
  this._credentialOffer = credentialOffer;
30
30
  const issuer = credentialIssuer !== null && credentialIssuer !== void 0 ? credentialIssuer : (credentialOffer ? (0, oid4vci_common_1.getIssuerFromCredentialOfferPayload)(credentialOffer.credential_offer) : undefined);
@@ -39,7 +39,7 @@ class OpenID4VCIClient {
39
39
  this._authorizationRequestOpts = this.syncAuthorizationRequestOpts(authorizationRequest);
40
40
  console.log(`Authorization req options: ${JSON.stringify(this._authorizationRequestOpts, null, 2)}`);
41
41
  }
42
- static fromCredentialIssuer({ kid, alg, retrieveServerMetadata, clientId, credentialIssuer, pkce, authorizationRequest, createAuthorizationRequestURL, }) {
42
+ static fromCredentialIssuer({ kid, alg, retrieveServerMetadata, clientId, credentialIssuer, pkce, authorizationRequest, createAuthorizationRequestURL }) {
43
43
  return __awaiter(this, void 0, void 0, function* () {
44
44
  const client = new OpenID4VCIClient({
45
45
  kid,
@@ -47,7 +47,7 @@ class OpenID4VCIClient {
47
47
  clientId: clientId !== null && clientId !== void 0 ? clientId : authorizationRequest === null || authorizationRequest === void 0 ? void 0 : authorizationRequest.clientId,
48
48
  credentialIssuer,
49
49
  pkce,
50
- authorizationRequest,
50
+ authorizationRequest
51
51
  });
52
52
  if (retrieveServerMetadata === undefined || retrieveServerMetadata) {
53
53
  yield client.retrieveServerMetadata();
@@ -58,7 +58,7 @@ class OpenID4VCIClient {
58
58
  return client;
59
59
  });
60
60
  }
61
- static fromURI({ uri, kid, alg, retrieveServerMetadata, clientId, pkce, createAuthorizationRequestURL, authorizationRequest, resolveOfferUri, }) {
61
+ static fromURI({ uri, kid, alg, retrieveServerMetadata, clientId, pkce, createAuthorizationRequestURL, authorizationRequest, resolveOfferUri }) {
62
62
  var _a;
63
63
  return __awaiter(this, void 0, void 0, function* () {
64
64
  const credentialOfferClient = yield CredentialOfferClient_1.CredentialOfferClient.fromURI(uri, { resolve: resolveOfferUri });
@@ -68,7 +68,7 @@ class OpenID4VCIClient {
68
68
  alg,
69
69
  clientId: (_a = clientId !== null && clientId !== void 0 ? clientId : authorizationRequest === null || authorizationRequest === void 0 ? void 0 : authorizationRequest.clientId) !== null && _a !== void 0 ? _a : credentialOfferClient.clientId,
70
70
  pkce,
71
- authorizationRequest,
71
+ authorizationRequest
72
72
  });
73
73
  if (retrieveServerMetadata === undefined || retrieveServerMetadata) {
74
74
  yield client.retrieveServerMetadata();
@@ -82,6 +82,12 @@ class OpenID4VCIClient {
82
82
  return client;
83
83
  });
84
84
  }
85
+ /**
86
+ * Allows you to create an Authorization Request URL when using an Authorization Code flow. This URL needs to be accessed using the front channel (browser)
87
+ *
88
+ * The Identity provider would present a login screen typically; after you authenticated, it would redirect to the provided redirectUri; which can be same device or cross-device
89
+ * @param opts
90
+ */
85
91
  createAuthorizationRequestUrl(opts) {
86
92
  var _a;
87
93
  return __awaiter(this, void 0, void 0, function* () {
@@ -101,7 +107,7 @@ class OpenID4VCIClient {
101
107
  endpointMetadata: this.endpointMetadata,
102
108
  authorizationRequest: this._authorizationRequestOpts,
103
109
  credentialOffer: this.credentialOffer,
104
- credentialsSupported: this.getCredentialsSupported(true),
110
+ credentialsSupported: this.getCredentialsSupported(true)
105
111
  });
106
112
  }
107
113
  return this._authorizationURL;
@@ -128,9 +134,10 @@ class OpenID4VCIClient {
128
134
  this._pkce = (0, AuthorizationUtil_1.generateMissingPKCEOpts)(Object.assign(Object.assign({}, this._pkce), pkce));
129
135
  }
130
136
  acquireAccessToken(opts) {
131
- var _a, _b;
137
+ var _a, _b, _c;
132
138
  return __awaiter(this, void 0, void 0, function* () {
133
- const { pin, clientId, code, redirectUri } = opts !== null && opts !== void 0 ? opts : {};
139
+ const { pin, clientId, redirectUri } = opts !== null && opts !== void 0 ? opts : {};
140
+ const code = (_a = opts === null || opts === void 0 ? void 0 : opts.code) !== null && _a !== void 0 ? _a : ((opts === null || opts === void 0 ? void 0 : opts.authorizationResponse) ? (0, oid4vci_common_1.toAuthorizationResponsePayload)(opts.authorizationResponse).code : undefined);
134
141
  if (opts === null || opts === void 0 ? void 0 : opts.codeVerifier) {
135
142
  this._pkce.codeVerifier = opts.codeVerifier;
136
143
  }
@@ -144,18 +151,18 @@ class OpenID4VCIClient {
144
151
  redirectUri, asOpts: { clientId } }));
145
152
  if (response.errorBody) {
146
153
  debug(`Access token error:\r\n${response.errorBody}`);
147
- throw Error(`Retrieving an access token from ${(_a = this._endpointMetadata) === null || _a === void 0 ? void 0 : _a.token_endpoint} for issuer ${this.getIssuer()} failed with status: ${response.origResponse.status}`);
154
+ throw Error(`Retrieving an access token from ${(_b = this._endpointMetadata) === null || _b === void 0 ? void 0 : _b.token_endpoint} for issuer ${this.getIssuer()} failed with status: ${response.origResponse.status}`);
148
155
  }
149
156
  else if (!response.successBody) {
150
157
  debug(`Access token error. No success body`);
151
- throw Error(`Retrieving an access token from ${(_b = this._endpointMetadata) === null || _b === void 0 ? void 0 : _b.token_endpoint} for issuer ${this.getIssuer()} failed as there was no success response body`);
158
+ throw Error(`Retrieving an access token from ${(_c = this._endpointMetadata) === null || _c === void 0 ? void 0 : _c.token_endpoint} for issuer ${this.getIssuer()} failed as there was no success response body`);
152
159
  }
153
160
  this._accessTokenResponse = response.successBody;
154
161
  }
155
162
  return this.accessTokenResponse;
156
163
  });
157
164
  }
158
- acquireCredentials({ credentialTypes, proofCallbacks, format, kid, jwk, alg, jti, deferredCredentialAwait, deferredCredentialIntervalInMS, }) {
165
+ acquireCredentials({ credentialTypes, proofCallbacks, format, kid, jwk, alg, jti, deferredCredentialAwait, deferredCredentialIntervalInMS }) {
159
166
  var _a, _b, _c;
160
167
  return __awaiter(this, void 0, void 0, function* () {
161
168
  if ([jwk, kid].filter((v) => v !== undefined).length > 1) {
@@ -170,13 +177,13 @@ class OpenID4VCIClient {
170
177
  const requestBuilder = this.credentialOffer
171
178
  ? CredentialRequestClientBuilder_1.CredentialRequestClientBuilder.fromCredentialOffer({
172
179
  credentialOffer: this.credentialOffer,
173
- metadata: this.endpointMetadata,
180
+ metadata: this.endpointMetadata
174
181
  })
175
182
  : CredentialRequestClientBuilder_1.CredentialRequestClientBuilder.fromCredentialIssuer({
176
183
  credentialIssuer: this.getIssuer(),
177
184
  credentialTypes,
178
185
  metadata: this.endpointMetadata,
179
- version: this.version(),
186
+ version: this.version()
180
187
  });
181
188
  requestBuilder.withTokenFromResponse(this.accessTokenResponse);
182
189
  requestBuilder.withDeferredCredentialAwait(deferredCredentialAwait !== null && deferredCredentialAwait !== void 0 ? deferredCredentialAwait : false, deferredCredentialIntervalInMS);
@@ -209,7 +216,7 @@ class OpenID4VCIClient {
209
216
  const proofBuilder = ProofOfPossessionBuilder_1.ProofOfPossessionBuilder.fromAccessTokenResponse({
210
217
  accessTokenResponse: this.accessTokenResponse,
211
218
  callbacks: proofCallbacks,
212
- version: this.version(),
219
+ version: this.version()
213
220
  })
214
221
  .withIssuer(this.getIssuer())
215
222
  .withAlg(this.alg);
@@ -228,7 +235,7 @@ class OpenID4VCIClient {
228
235
  const response = yield credentialRequestClient.acquireCredentialsUsingProof({
229
236
  proofInput: proofBuilder,
230
237
  credentialTypes: credentialTypes,
231
- format,
238
+ format
232
239
  });
233
240
  if (response.errorBody) {
234
241
  debug(`Credential request error:\r\n${JSON.stringify(response.errorBody)}`);
@@ -250,7 +257,7 @@ class OpenID4VCIClient {
250
257
  issuerMetadata: this.endpointMetadata.credentialIssuerMetadata,
251
258
  version: this.version(),
252
259
  format: format,
253
- types: restrictToInitiationTypes ? this.getCredentialOfferTypes() : undefined,
260
+ types: restrictToInitiationTypes ? this.getCredentialOfferTypes() : undefined
254
261
  });
255
262
  }
256
263
  getCredentialOfferTypes() {
@@ -323,6 +330,9 @@ class OpenID4VCIClient {
323
330
  get clientId() {
324
331
  return this._clientId;
325
332
  }
333
+ hasAccessTokenResponse() {
334
+ return !!this._accessTokenResponse;
335
+ }
326
336
  get accessTokenResponse() {
327
337
  this.assertAccessToken();
328
338
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -1 +1 @@
1
- {"version":3,"file":"OpenID4VCIClient.js","sourceRoot":"","sources":["../lib/OpenID4VCIClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenID4VCIClient.js","sourceRoot":"","sources":["../lib/OpenID4VCIClient.ts"],"names":[],"mappings":"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"}
@@ -104,7 +104,8 @@ export const createAuthorizationRequestUrl = async ({
104
104
  console.log(`QUERY obj: ` + JSON.stringify(queryObj, null, 2));
105
105
  const url = convertJsonToURI(queryObj, {
106
106
  baseUrl: endpointMetadata.authorization_endpoint,
107
- uriTypeProperties: ['request_uri', 'redirect_uri', 'scope', 'authorization_details', 'issuer_state'],
107
+ uriTypeProperties: ['client_id', 'request_uri', 'redirect_uri', 'scope', 'authorization_details', 'issuer_state'],
108
+ // arrayTypeProperties: ['authorization_details'],
108
109
  mode: JsonURIMode.X_FORM_WWW_URLENCODED,
109
110
  // We do not add the version here, as this always needs to be form encoded
110
111
  });
@@ -140,7 +141,7 @@ const handleLocations = (endpointMetadata: EndpointMetadataResult, authorization
140
141
  if (authorizationDetails && (endpointMetadata.credentialIssuerMetadata?.authorization_server || endpointMetadata.authorization_endpoint)) {
141
142
  if (authorizationDetails.locations) {
142
143
  if (Array.isArray(authorizationDetails.locations)) {
143
- (authorizationDetails.locations as string[]).push(endpointMetadata.issuer);
144
+ authorizationDetails.locations.push(endpointMetadata.issuer);
144
145
  } else {
145
146
  authorizationDetails.locations = [authorizationDetails.locations as string, endpointMetadata.issuer];
146
147
  }
@@ -2,6 +2,7 @@ import {
2
2
  AccessTokenResponse,
3
3
  Alg,
4
4
  AuthorizationRequestOpts,
5
+ AuthorizationResponse,
5
6
  AuthzFlowType,
6
7
  CodeChallengeMethod,
7
8
  CredentialOfferPayloadV1_0_08,
@@ -19,43 +20,44 @@ import {
19
20
  OpenId4VCIVersion,
20
21
  PKCEOpts,
21
22
  ProofOfPossessionCallbacks,
22
- } from '@sphereon/oid4vci-common';
23
- import { CredentialFormat } from '@sphereon/ssi-types';
24
- import Debug from 'debug';
23
+ toAuthorizationResponsePayload
24
+ } from '@sphereon/oid4vci-common'
25
+ import { CredentialFormat } from '@sphereon/ssi-types'
26
+ import Debug from 'debug'
25
27
 
26
- import { AccessTokenClient } from './AccessTokenClient';
27
- import { createAuthorizationRequestUrl } from './AuthorizationCodeClient';
28
- import { CredentialOfferClient } from './CredentialOfferClient';
29
- import { CredentialRequestClientBuilder } from './CredentialRequestClientBuilder';
30
- import { MetadataClient } from './MetadataClient';
31
- import { ProofOfPossessionBuilder } from './ProofOfPossessionBuilder';
32
- import { generateMissingPKCEOpts } from './functions/AuthorizationUtil';
28
+ import { AccessTokenClient } from './AccessTokenClient'
29
+ import { createAuthorizationRequestUrl } from './AuthorizationCodeClient'
30
+ import { CredentialOfferClient } from './CredentialOfferClient'
31
+ import { CredentialRequestClientBuilder } from './CredentialRequestClientBuilder'
32
+ import { MetadataClient } from './MetadataClient'
33
+ import { ProofOfPossessionBuilder } from './ProofOfPossessionBuilder'
34
+ import { generateMissingPKCEOpts } from './functions/AuthorizationUtil'
33
35
 
34
- const debug = Debug('sphereon:oid4vci');
36
+ const debug = Debug('sphereon:oid4vci')
35
37
 
36
38
  export class OpenID4VCIClient {
37
- private readonly _credentialOffer?: CredentialOfferRequestWithBaseUrl;
38
- private readonly _credentialIssuer: string;
39
- private _clientId?: string;
40
- private _kid: string | undefined;
41
- private _jwk: JWK | undefined;
42
- private _alg: Alg | string | undefined;
43
- private _endpointMetadata: EndpointMetadataResult | undefined;
44
- private _accessTokenResponse: AccessTokenResponse | undefined;
45
- private _pkce: PKCEOpts = { disabled: false, codeChallengeMethod: CodeChallengeMethod.S256 };
46
- private _authorizationRequestOpts?: AuthorizationRequestOpts;
47
-
48
- private _authorizationURL?: string;
39
+ private readonly _credentialOffer?: CredentialOfferRequestWithBaseUrl
40
+ private readonly _credentialIssuer: string
41
+ private _clientId?: string
42
+ private _kid: string | undefined
43
+ private _jwk: JWK | undefined
44
+ private _alg: Alg | string | undefined
45
+ private _endpointMetadata: EndpointMetadataResult | undefined
46
+ private _accessTokenResponse: AccessTokenResponse | undefined
47
+ private _pkce: PKCEOpts = { disabled: false, codeChallengeMethod: CodeChallengeMethod.S256 }
48
+ private _authorizationRequestOpts?: AuthorizationRequestOpts
49
+
50
+ private _authorizationURL?: string
49
51
 
50
52
  private constructor({
51
- credentialOffer,
52
- clientId,
53
- kid,
54
- alg,
55
- credentialIssuer,
56
- pkce,
57
- authorizationRequest,
58
- }: {
53
+ credentialOffer,
54
+ clientId,
55
+ kid,
56
+ alg,
57
+ credentialIssuer,
58
+ pkce,
59
+ authorizationRequest
60
+ }: {
59
61
  credentialOffer?: CredentialOfferRequestWithBaseUrl;
60
62
  kid?: string;
61
63
  alg?: Alg | string;
@@ -64,30 +66,30 @@ export class OpenID4VCIClient {
64
66
  pkce?: PKCEOpts;
65
67
  authorizationRequest?: AuthorizationRequestOpts; // Can be provided here, or when manually calling createAuthorizationUrl
66
68
  }) {
67
- this._credentialOffer = credentialOffer;
68
- const issuer = credentialIssuer ?? (credentialOffer ? getIssuerFromCredentialOfferPayload(credentialOffer.credential_offer) : undefined);
69
+ this._credentialOffer = credentialOffer
70
+ const issuer = credentialIssuer ?? (credentialOffer ? getIssuerFromCredentialOfferPayload(credentialOffer.credential_offer) : undefined)
69
71
  if (!issuer) {
70
- throw Error('No credential issuer supplied or deduced from offer');
72
+ throw Error('No credential issuer supplied or deduced from offer')
71
73
  }
72
- this._credentialIssuer = issuer;
73
- this._kid = kid;
74
- this._alg = alg;
75
- this._clientId = clientId ?? (credentialOffer ? getClientIdFromCredentialOfferPayload(credentialOffer.credential_offer) : undefined);
76
- this._pkce = { ...this._pkce, ...pkce };
77
- this._authorizationRequestOpts = this.syncAuthorizationRequestOpts(authorizationRequest);
78
- console.log(`Authorization req options: ${JSON.stringify(this._authorizationRequestOpts, null, 2)}`);
74
+ this._credentialIssuer = issuer
75
+ this._kid = kid
76
+ this._alg = alg
77
+ this._clientId = clientId ?? (credentialOffer ? getClientIdFromCredentialOfferPayload(credentialOffer.credential_offer) : undefined)
78
+ this._pkce = { ...this._pkce, ...pkce }
79
+ this._authorizationRequestOpts = this.syncAuthorizationRequestOpts(authorizationRequest)
80
+ console.log(`Authorization req options: ${JSON.stringify(this._authorizationRequestOpts, null, 2)}`)
79
81
  }
80
82
 
81
83
  public static async fromCredentialIssuer({
82
- kid,
83
- alg,
84
- retrieveServerMetadata,
85
- clientId,
86
- credentialIssuer,
87
- pkce,
88
- authorizationRequest,
89
- createAuthorizationRequestURL,
90
- }: {
84
+ kid,
85
+ alg,
86
+ retrieveServerMetadata,
87
+ clientId,
88
+ credentialIssuer,
89
+ pkce,
90
+ authorizationRequest,
91
+ createAuthorizationRequestURL
92
+ }: {
91
93
  credentialIssuer: string;
92
94
  kid?: string;
93
95
  alg?: Alg | string;
@@ -103,28 +105,28 @@ export class OpenID4VCIClient {
103
105
  clientId: clientId ?? authorizationRequest?.clientId,
104
106
  credentialIssuer,
105
107
  pkce,
106
- authorizationRequest,
107
- });
108
+ authorizationRequest
109
+ })
108
110
  if (retrieveServerMetadata === undefined || retrieveServerMetadata) {
109
- await client.retrieveServerMetadata();
111
+ await client.retrieveServerMetadata()
110
112
  }
111
113
  if (createAuthorizationRequestURL === undefined || createAuthorizationRequestURL) {
112
- await client.createAuthorizationRequestUrl({ authorizationRequest, pkce });
114
+ await client.createAuthorizationRequestUrl({ authorizationRequest, pkce })
113
115
  }
114
- return client;
116
+ return client
115
117
  }
116
118
 
117
119
  public static async fromURI({
118
- uri,
119
- kid,
120
- alg,
121
- retrieveServerMetadata,
122
- clientId,
123
- pkce,
124
- createAuthorizationRequestURL,
125
- authorizationRequest,
126
- resolveOfferUri,
127
- }: {
120
+ uri,
121
+ kid,
122
+ alg,
123
+ retrieveServerMetadata,
124
+ clientId,
125
+ pkce,
126
+ createAuthorizationRequestURL,
127
+ authorizationRequest,
128
+ resolveOfferUri
129
+ }: {
128
130
  uri: string;
129
131
  kid?: string;
130
132
  alg?: Alg | string;
@@ -135,92 +137,100 @@ export class OpenID4VCIClient {
135
137
  clientId?: string;
136
138
  authorizationRequest?: AuthorizationRequestOpts; // Can be provided here, or when manually calling createAuthorizationUrl
137
139
  }): Promise<OpenID4VCIClient> {
138
- const credentialOfferClient = await CredentialOfferClient.fromURI(uri, { resolve: resolveOfferUri });
140
+ const credentialOfferClient = await CredentialOfferClient.fromURI(uri, { resolve: resolveOfferUri })
139
141
  const client = new OpenID4VCIClient({
140
142
  credentialOffer: credentialOfferClient,
141
143
  kid,
142
144
  alg,
143
145
  clientId: clientId ?? authorizationRequest?.clientId ?? credentialOfferClient.clientId,
144
146
  pkce,
145
- authorizationRequest,
146
- });
147
+ authorizationRequest
148
+ })
147
149
 
148
150
  if (retrieveServerMetadata === undefined || retrieveServerMetadata) {
149
- await client.retrieveServerMetadata();
151
+ await client.retrieveServerMetadata()
150
152
  }
151
153
  if (
152
154
  credentialOfferClient.supportedFlows.includes(AuthzFlowType.AUTHORIZATION_CODE_FLOW) &&
153
155
  (createAuthorizationRequestURL === undefined || createAuthorizationRequestURL)
154
156
  ) {
155
- console.log(`AUTH REQ`);
156
- await client.createAuthorizationRequestUrl({ authorizationRequest, pkce });
157
- console.log(`AUTH REQ URL: ${client._authorizationURL}`);
157
+ console.log(`AUTH REQ`)
158
+ await client.createAuthorizationRequestUrl({ authorizationRequest, pkce })
159
+ console.log(`AUTH REQ URL: ${client._authorizationURL}`)
158
160
  }
159
161
 
160
- return client;
162
+ return client
161
163
  }
162
164
 
165
+ /**
166
+ * Allows you to create an Authorization Request URL when using an Authorization Code flow. This URL needs to be accessed using the front channel (browser)
167
+ *
168
+ * The Identity provider would present a login screen typically; after you authenticated, it would redirect to the provided redirectUri; which can be same device or cross-device
169
+ * @param opts
170
+ */
163
171
  public async createAuthorizationRequestUrl(opts?: { authorizationRequest?: AuthorizationRequestOpts; pkce?: PKCEOpts }): Promise<string> {
164
172
  if (!this._authorizationURL) {
165
- this.calculatePKCEOpts(opts?.pkce);
166
- this._authorizationRequestOpts = this.syncAuthorizationRequestOpts(opts?.authorizationRequest);
173
+ this.calculatePKCEOpts(opts?.pkce)
174
+ this._authorizationRequestOpts = this.syncAuthorizationRequestOpts(opts?.authorizationRequest)
167
175
  if (!this._authorizationRequestOpts) {
168
- throw Error(`No Authorization Request options present or provided in this call`);
176
+ throw Error(`No Authorization Request options present or provided in this call`)
169
177
  }
170
178
 
171
179
  // todo: Probably can go with current logic in MetadataClient who will always set the authorization_endpoint when found
172
180
  // handling this because of the support for v1_0-08
173
181
  if (this._endpointMetadata?.credentialIssuerMetadata && 'authorization_endpoint' in this._endpointMetadata.credentialIssuerMetadata) {
174
- this._endpointMetadata.authorization_endpoint = this._endpointMetadata.credentialIssuerMetadata.authorization_endpoint as string;
182
+ this._endpointMetadata.authorization_endpoint = this._endpointMetadata.credentialIssuerMetadata.authorization_endpoint as string
175
183
  }
176
184
  this._authorizationURL = await createAuthorizationRequestUrl({
177
185
  pkce: this._pkce,
178
186
  endpointMetadata: this.endpointMetadata,
179
187
  authorizationRequest: this._authorizationRequestOpts,
180
188
  credentialOffer: this.credentialOffer,
181
- credentialsSupported: this.getCredentialsSupported(true),
182
- });
189
+ credentialsSupported: this.getCredentialsSupported(true)
190
+ })
183
191
  }
184
- return this._authorizationURL;
192
+ return this._authorizationURL
185
193
  }
186
194
 
187
195
  public async retrieveServerMetadata(): Promise<EndpointMetadataResult> {
188
- this.assertIssuerData();
196
+ this.assertIssuerData()
189
197
  if (!this._endpointMetadata) {
190
198
  if (this.credentialOffer) {
191
- this._endpointMetadata = await MetadataClient.retrieveAllMetadataFromCredentialOffer(this.credentialOffer);
199
+ this._endpointMetadata = await MetadataClient.retrieveAllMetadataFromCredentialOffer(this.credentialOffer)
192
200
  } else if (this._credentialIssuer) {
193
- this._endpointMetadata = await MetadataClient.retrieveAllMetadata(this._credentialIssuer);
201
+ this._endpointMetadata = await MetadataClient.retrieveAllMetadata(this._credentialIssuer)
194
202
  } else {
195
- throw Error(`Cannot retrieve issuer metadata without either a credential offer, or issuer value`);
203
+ throw Error(`Cannot retrieve issuer metadata without either a credential offer, or issuer value`)
196
204
  }
197
205
  }
198
- return this.endpointMetadata;
206
+ return this.endpointMetadata
199
207
  }
200
208
 
201
209
  private calculatePKCEOpts(pkce?: PKCEOpts) {
202
- this._pkce = generateMissingPKCEOpts({ ...this._pkce, ...pkce });
210
+ this._pkce = generateMissingPKCEOpts({ ...this._pkce, ...pkce })
203
211
  }
204
212
 
205
213
  public async acquireAccessToken(opts?: {
206
214
  pin?: string;
207
215
  clientId?: string;
208
216
  codeVerifier?: string;
209
- code?: string;
217
+ authorizationResponse?: string | AuthorizationResponse; // Pass in an auth response, either as URI/redirect, or object
218
+ code?: string; // Directly pass in a code from an auth response
210
219
  redirectUri?: string;
211
220
  }): Promise<AccessTokenResponse> {
212
- const { pin, clientId, code, redirectUri } = opts ?? {};
221
+ const { pin, clientId, redirectUri } = opts ?? {}
222
+ const code = opts?.code ?? (opts?.authorizationResponse ? toAuthorizationResponsePayload(opts.authorizationResponse).code : undefined)
213
223
 
214
224
  if (opts?.codeVerifier) {
215
- this._pkce.codeVerifier = opts.codeVerifier;
225
+ this._pkce.codeVerifier = opts.codeVerifier
216
226
  }
217
- this.assertIssuerData();
227
+ this.assertIssuerData()
218
228
 
219
229
  if (clientId) {
220
- this._clientId = clientId;
230
+ this._clientId = clientId
221
231
  }
222
232
  if (!this._accessTokenResponse) {
223
- const accessTokenClient = new AccessTokenClient();
233
+ const accessTokenClient = new AccessTokenClient()
224
234
 
225
235
  const response = await accessTokenClient.acquireAccessToken({
226
236
  credentialOffer: this.credentialOffer,
@@ -230,40 +240,40 @@ export class OpenID4VCIClient {
230
240
  ...(!this._pkce.disabled && { codeVerifier: this._pkce.codeVerifier }),
231
241
  code,
232
242
  redirectUri,
233
- asOpts: { clientId },
234
- });
243
+ asOpts: { clientId }
244
+ })
235
245
 
236
246
  if (response.errorBody) {
237
- debug(`Access token error:\r\n${response.errorBody}`);
247
+ debug(`Access token error:\r\n${response.errorBody}`)
238
248
  throw Error(
239
249
  `Retrieving an access token from ${this._endpointMetadata?.token_endpoint} for issuer ${this.getIssuer()} failed with status: ${
240
250
  response.origResponse.status
241
- }`,
242
- );
251
+ }`
252
+ )
243
253
  } else if (!response.successBody) {
244
- debug(`Access token error. No success body`);
254
+ debug(`Access token error. No success body`)
245
255
  throw Error(
246
256
  `Retrieving an access token from ${this._endpointMetadata
247
- ?.token_endpoint} for issuer ${this.getIssuer()} failed as there was no success response body`,
248
- );
257
+ ?.token_endpoint} for issuer ${this.getIssuer()} failed as there was no success response body`
258
+ )
249
259
  }
250
- this._accessTokenResponse = response.successBody;
260
+ this._accessTokenResponse = response.successBody
251
261
  }
252
262
 
253
- return this.accessTokenResponse;
263
+ return this.accessTokenResponse
254
264
  }
255
265
 
256
266
  public async acquireCredentials({
257
- credentialTypes,
258
- proofCallbacks,
259
- format,
260
- kid,
261
- jwk,
262
- alg,
263
- jti,
264
- deferredCredentialAwait,
265
- deferredCredentialIntervalInMS,
266
- }: {
267
+ credentialTypes,
268
+ proofCallbacks,
269
+ format,
270
+ kid,
271
+ jwk,
272
+ alg,
273
+ jti,
274
+ deferredCredentialAwait,
275
+ deferredCredentialIntervalInMS
276
+ }: {
267
277
  credentialTypes: string | string[];
268
278
  proofCallbacks: ProofOfPossessionCallbacks<any>;
269
279
  format?: CredentialFormat | OID4VCICredentialFormat;
@@ -275,98 +285,98 @@ export class OpenID4VCIClient {
275
285
  deferredCredentialIntervalInMS?: number;
276
286
  }): Promise<CredentialResponse> {
277
287
  if ([jwk, kid].filter((v) => v !== undefined).length > 1) {
278
- throw new Error(KID_JWK_X5C_ERROR + `. jwk: ${jwk !== undefined}, kid: ${kid !== undefined}`);
288
+ throw new Error(KID_JWK_X5C_ERROR + `. jwk: ${jwk !== undefined}, kid: ${kid !== undefined}`)
279
289
  }
280
290
 
281
- if (alg) this._alg = alg;
282
- if (jwk) this._jwk = jwk;
283
- if (kid) this._kid = kid;
291
+ if (alg) this._alg = alg
292
+ if (jwk) this._jwk = jwk
293
+ if (kid) this._kid = kid
284
294
 
285
295
  const requestBuilder = this.credentialOffer
286
296
  ? CredentialRequestClientBuilder.fromCredentialOffer({
287
- credentialOffer: this.credentialOffer,
288
- metadata: this.endpointMetadata,
289
- })
297
+ credentialOffer: this.credentialOffer,
298
+ metadata: this.endpointMetadata
299
+ })
290
300
  : CredentialRequestClientBuilder.fromCredentialIssuer({
291
- credentialIssuer: this.getIssuer(),
292
- credentialTypes,
293
- metadata: this.endpointMetadata,
294
- version: this.version(),
295
- });
296
-
297
- requestBuilder.withTokenFromResponse(this.accessTokenResponse);
298
- requestBuilder.withDeferredCredentialAwait(deferredCredentialAwait ?? false, deferredCredentialIntervalInMS);
301
+ credentialIssuer: this.getIssuer(),
302
+ credentialTypes,
303
+ metadata: this.endpointMetadata,
304
+ version: this.version()
305
+ })
306
+
307
+ requestBuilder.withTokenFromResponse(this.accessTokenResponse)
308
+ requestBuilder.withDeferredCredentialAwait(deferredCredentialAwait ?? false, deferredCredentialIntervalInMS)
299
309
  if (this.endpointMetadata?.credentialIssuerMetadata) {
300
- const metadata = this.endpointMetadata.credentialIssuerMetadata;
301
- const types = Array.isArray(credentialTypes) ? [...credentialTypes].sort() : [credentialTypes];
310
+ const metadata = this.endpointMetadata.credentialIssuerMetadata
311
+ const types = Array.isArray(credentialTypes) ? [...credentialTypes].sort() : [credentialTypes]
302
312
 
303
313
  if (metadata.credentials_supported && Array.isArray(metadata.credentials_supported)) {
304
- let typeSupported = false;
314
+ let typeSupported = false
305
315
 
306
316
  metadata.credentials_supported.forEach((supportedCredential) => {
307
- const subTypes = getTypesFromCredentialSupported(supportedCredential);
317
+ const subTypes = getTypesFromCredentialSupported(supportedCredential)
308
318
  if (
309
319
  subTypes.sort().every((t, i) => types[i] === t) ||
310
320
  (types.length === 1 && (types[0] === supportedCredential.id || subTypes.includes(types[0])))
311
321
  ) {
312
- typeSupported = true;
322
+ typeSupported = true
313
323
  }
314
- });
324
+ })
315
325
 
316
326
  if (!typeSupported) {
317
- console.log(`Not all credential types ${JSON.stringify(credentialTypes)} are present in metadata for ${this.getIssuer()}`);
327
+ console.log(`Not all credential types ${JSON.stringify(credentialTypes)} are present in metadata for ${this.getIssuer()}`)
318
328
  // throw Error(`Not all credential types ${JSON.stringify(credentialTypes)} are supported by issuer ${this.getIssuer()}`);
319
329
  }
320
330
  } else if (metadata.credentials_supported && !Array.isArray(metadata.credentials_supported)) {
321
- const credentialsSupported = metadata.credentials_supported;
331
+ const credentialsSupported = metadata.credentials_supported
322
332
  if (types.some((type) => !metadata.credentials_supported || !credentialsSupported[type])) {
323
- throw Error(`Not all credential types ${JSON.stringify(credentialTypes)} are supported by issuer ${this.getIssuer()}`);
333
+ throw Error(`Not all credential types ${JSON.stringify(credentialTypes)} are supported by issuer ${this.getIssuer()}`)
324
334
  }
325
335
  }
326
336
  // todo: Format check? We might end up with some disjoint type / format combinations supported by the server
327
337
  }
328
- const credentialRequestClient = requestBuilder.build();
338
+ const credentialRequestClient = requestBuilder.build()
329
339
  const proofBuilder = ProofOfPossessionBuilder.fromAccessTokenResponse({
330
340
  accessTokenResponse: this.accessTokenResponse,
331
341
  callbacks: proofCallbacks,
332
- version: this.version(),
342
+ version: this.version()
333
343
  })
334
344
  .withIssuer(this.getIssuer())
335
- .withAlg(this.alg);
345
+ .withAlg(this.alg)
336
346
 
337
347
  if (this._jwk) {
338
- proofBuilder.withJWK(this._jwk);
348
+ proofBuilder.withJWK(this._jwk)
339
349
  }
340
350
  if (this._kid) {
341
- proofBuilder.withKid(this._kid);
351
+ proofBuilder.withKid(this._kid)
342
352
  }
343
353
 
344
354
  if (this.clientId) {
345
- proofBuilder.withClientId(this.clientId);
355
+ proofBuilder.withClientId(this.clientId)
346
356
  }
347
357
  if (jti) {
348
- proofBuilder.withJti(jti);
358
+ proofBuilder.withJti(jti)
349
359
  }
350
360
  const response = await credentialRequestClient.acquireCredentialsUsingProof({
351
361
  proofInput: proofBuilder,
352
362
  credentialTypes: credentialTypes,
353
- format,
354
- });
363
+ format
364
+ })
355
365
  if (response.errorBody) {
356
- debug(`Credential request error:\r\n${JSON.stringify(response.errorBody)}`);
366
+ debug(`Credential request error:\r\n${JSON.stringify(response.errorBody)}`)
357
367
  throw Error(
358
368
  `Retrieving a credential from ${this._endpointMetadata?.credential_endpoint} for issuer ${this.getIssuer()} failed with status: ${
359
369
  response.origResponse.status
360
- }`,
361
- );
370
+ }`
371
+ )
362
372
  } else if (!response.successBody) {
363
- debug(`Credential request error. No success body`);
373
+ debug(`Credential request error. No success body`)
364
374
  throw Error(
365
375
  `Retrieving a credential from ${this._endpointMetadata
366
- ?.credential_endpoint} for issuer ${this.getIssuer()} failed as there was no success response body`,
367
- );
376
+ ?.credential_endpoint} for issuer ${this.getIssuer()} failed as there was no success response body`
377
+ )
368
378
  }
369
- return response.successBody;
379
+ return response.successBody
370
380
  }
371
381
 
372
382
  // FIXME: We really should convert <v11 to v12 objects first. Right now the logic doesn't map nicely and is brittle.
@@ -375,37 +385,37 @@ export class OpenID4VCIClient {
375
385
  // Then match the object array on server metadata
376
386
  getCredentialsSupported(
377
387
  restrictToInitiationTypes: boolean,
378
- format?: (OID4VCICredentialFormat | string) | (OID4VCICredentialFormat | string)[],
388
+ format?: (OID4VCICredentialFormat | string) | (OID4VCICredentialFormat | string)[]
379
389
  ): CredentialSupported[] {
380
390
  return getSupportedCredentials({
381
391
  issuerMetadata: this.endpointMetadata.credentialIssuerMetadata,
382
392
  version: this.version(),
383
393
  format: format,
384
- types: restrictToInitiationTypes ? this.getCredentialOfferTypes() : undefined,
385
- });
394
+ types: restrictToInitiationTypes ? this.getCredentialOfferTypes() : undefined
395
+ })
386
396
  }
387
397
 
388
398
  getCredentialOfferTypes(): string[][] {
389
399
  if (!this.credentialOffer) {
390
- return [];
400
+ return []
391
401
  } else if (this.credentialOffer.version < OpenId4VCIVersion.VER_1_0_11) {
392
- const orig = this.credentialOffer.original_credential_offer as CredentialOfferPayloadV1_0_08;
393
- const types: string[] = typeof orig.credential_type === 'string' ? [orig.credential_type] : orig.credential_type;
394
- const result: string[][] = [];
395
- result[0] = types;
396
- return result;
402
+ const orig = this.credentialOffer.original_credential_offer as CredentialOfferPayloadV1_0_08
403
+ const types: string[] = typeof orig.credential_type === 'string' ? [orig.credential_type] : orig.credential_type
404
+ const result: string[][] = []
405
+ result[0] = types
406
+ return result
397
407
  } else {
398
408
  return this.credentialOffer.credential_offer.credentials.map((c) => {
399
409
  if (typeof c === 'string') {
400
- return [c];
410
+ return [c]
401
411
  } else if ('types' in c) {
402
- return c.types;
412
+ return c.types
403
413
  } else if ('vct' in c) {
404
- return [c.vct];
414
+ return [c.vct]
405
415
  } else {
406
- return c.credential_definition.types;
416
+ return c.credential_definition.types
407
417
  }
408
- });
418
+ })
409
419
  }
410
420
  }
411
421
 
@@ -413,119 +423,123 @@ export class OpenID4VCIClient {
413
423
  return (
414
424
  this.credentialOffer?.supportedFlows ??
415
425
  (this._endpointMetadata?.credentialIssuerMetadata?.authorization_endpoint ? [AuthzFlowType.AUTHORIZATION_CODE_FLOW] : [])
416
- );
426
+ )
417
427
  }
418
428
 
419
429
  isFlowTypeSupported(flowType: AuthzFlowType): boolean {
420
- return this.issuerSupportedFlowTypes().includes(flowType);
430
+ return this.issuerSupportedFlowTypes().includes(flowType)
421
431
  }
422
432
 
423
433
  get authorizationURL(): string | undefined {
424
- return this._authorizationURL;
434
+ return this._authorizationURL
425
435
  }
426
436
 
427
437
  public hasAuthorizationURL(): boolean {
428
- return !!this.authorizationURL;
438
+ return !!this.authorizationURL
429
439
  }
430
440
 
431
441
  get credentialOffer(): CredentialOfferRequestWithBaseUrl | undefined {
432
- return this._credentialOffer;
442
+ return this._credentialOffer
433
443
  }
434
444
 
435
445
  public version(): OpenId4VCIVersion {
436
- return this.credentialOffer?.version ?? OpenId4VCIVersion.VER_1_0_11;
446
+ return this.credentialOffer?.version ?? OpenId4VCIVersion.VER_1_0_11
437
447
  }
438
448
 
439
449
  public get endpointMetadata(): EndpointMetadataResult {
440
- this.assertServerMetadata();
450
+ this.assertServerMetadata()
441
451
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
442
- return this._endpointMetadata!;
452
+ return this._endpointMetadata!
443
453
  }
444
454
 
445
455
  get kid(): string {
446
- this.assertIssuerData();
456
+ this.assertIssuerData()
447
457
  if (!this._kid) {
448
- throw new Error('No value for kid is supplied');
458
+ throw new Error('No value for kid is supplied')
449
459
  }
450
- return this._kid;
460
+ return this._kid
451
461
  }
452
462
 
453
463
  get alg(): string {
454
- this.assertIssuerData();
464
+ this.assertIssuerData()
455
465
  if (!this._alg) {
456
- throw new Error('No value for alg is supplied');
466
+ throw new Error('No value for alg is supplied')
457
467
  }
458
- return this._alg;
468
+ return this._alg
459
469
  }
460
470
 
461
471
  get clientId(): string | undefined {
462
- return this._clientId;
472
+ return this._clientId
473
+ }
474
+
475
+ public hasAccessTokenResponse(): boolean {
476
+ return !!this._accessTokenResponse
463
477
  }
464
478
 
465
479
  get accessTokenResponse(): AccessTokenResponse {
466
- this.assertAccessToken();
480
+ this.assertAccessToken()
467
481
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
468
- return this._accessTokenResponse!;
482
+ return this._accessTokenResponse!
469
483
  }
470
484
 
471
485
  public getIssuer(): string {
472
- this.assertIssuerData();
473
- return this._credentialIssuer!;
486
+ this.assertIssuerData()
487
+ return this._credentialIssuer
474
488
  }
475
489
 
476
490
  public getAccessTokenEndpoint(): string {
477
- this.assertIssuerData();
491
+ this.assertIssuerData()
478
492
  return this.endpointMetadata
479
493
  ? this.endpointMetadata.token_endpoint
480
- : AccessTokenClient.determineTokenURL({ issuerOpts: { issuer: this.getIssuer() } });
494
+ : AccessTokenClient.determineTokenURL({ issuerOpts: { issuer: this.getIssuer() } })
481
495
  }
482
496
 
483
497
  public getCredentialEndpoint(): string {
484
- this.assertIssuerData();
485
- return this.endpointMetadata ? this.endpointMetadata.credential_endpoint : `${this.getIssuer()}/credential`;
498
+ this.assertIssuerData()
499
+ return this.endpointMetadata ? this.endpointMetadata.credential_endpoint : `${this.getIssuer()}/credential`
486
500
  }
487
501
 
488
502
  public hasDeferredCredentialEndpoint(): boolean {
489
- return !!this.getAccessTokenEndpoint();
503
+ return !!this.getAccessTokenEndpoint()
490
504
  }
491
505
 
492
506
  public getDeferredCredentialEndpoint(): string {
493
- this.assertIssuerData();
494
- return this.endpointMetadata ? this.endpointMetadata.credential_endpoint : `${this.getIssuer()}/credential`;
507
+ this.assertIssuerData()
508
+ return this.endpointMetadata ? this.endpointMetadata.credential_endpoint : `${this.getIssuer()}/credential`
495
509
  }
496
510
 
497
511
  private assertIssuerData(): void {
498
512
  if (!this._credentialIssuer) {
499
- throw Error(`No credential issuer value present`);
513
+ throw Error(`No credential issuer value present`)
500
514
  } else if (!this._credentialOffer && this._endpointMetadata && this.issuerSupportedFlowTypes().length === 0) {
501
- throw Error(`No issuance initiation or credential offer present`);
515
+ throw Error(`No issuance initiation or credential offer present`)
502
516
  }
503
517
  }
504
518
 
505
519
  private assertServerMetadata(): void {
506
520
  if (!this._endpointMetadata) {
507
- throw Error('No server metadata');
521
+ throw Error('No server metadata')
508
522
  }
509
523
  }
510
524
 
511
525
  private assertAccessToken(): void {
512
526
  if (!this._accessTokenResponse) {
513
- throw Error(`No access token present`);
527
+ throw Error(`No access token present`)
514
528
  }
515
529
  }
516
530
 
517
531
  private syncAuthorizationRequestOpts(opts?: AuthorizationRequestOpts): AuthorizationRequestOpts {
518
- let authorizationRequestOpts = { ...this._authorizationRequestOpts, ...opts } as AuthorizationRequestOpts;
532
+ let authorizationRequestOpts = { ...this._authorizationRequestOpts, ...opts } as AuthorizationRequestOpts
519
533
  if (!authorizationRequestOpts) {
520
- authorizationRequestOpts = { redirectUri: 'openid4vc%3A' };
534
+ authorizationRequestOpts = { redirectUri: 'openid4vc%3A' }
521
535
  }
522
- const clientId = authorizationRequestOpts.clientId ?? this._clientId;
523
- this._clientId = clientId;
524
- authorizationRequestOpts.clientId = clientId;
536
+ const clientId = authorizationRequestOpts.clientId ?? this._clientId
537
+ this._clientId = clientId
538
+ authorizationRequestOpts.clientId = clientId
525
539
 
526
540
  if (!authorizationRequestOpts.redirectUri) {
527
- authorizationRequestOpts.redirectUri = 'openid4vc%3A';
541
+ authorizationRequestOpts.redirectUri = 'openid4vc%3A'
528
542
  }
529
- return authorizationRequestOpts;
543
+ return authorizationRequestOpts
530
544
  }
531
545
  }
@@ -52,8 +52,8 @@ const DID_URL_ENCODED =
52
52
  const kid = `${DID}#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbrm54tL4pRrDDhR1QJ5RHPMXUq5MzYpZL2k35vya5eMiNxschNy9AJ74CC3MmcYiZJGZfyhWQ6qDgTVcDSHdquwPYvLDut383JbrgYdZYYSC2merTMgmQtUi3huYhaky1qE`;
53
53
 
54
54
  // const jw = jose.importKey()
55
- // ebsi is giving timeoouts currently
56
- describe.skip('OID4VCI-Client using Sphereon issuer should', () => {
55
+
56
+ describe('OID4VCI-Client using Sphereon issuer should', () => {
57
57
  async function test(credentialType: 'CTWalletCrossPreAuthorisedInTime' | 'CTWalletCrossPreAuthorisedDeferred' | 'CTWalletCrossAuthorisedInTime') {
58
58
  debug.enable('*');
59
59
  const offer = await getCredentialOffer(credentialType);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/oid4vci-client",
3
- "version": "0.8.2-unstable.58+1390a43",
3
+ "version": "0.8.2-unstable.61+4ae9a7d",
4
4
  "description": "OpenID for Verifiable Credential Issuance (OpenID4VCI) client",
5
5
  "source": "lib/index.ts",
6
6
  "main": "dist/index.js",
@@ -15,7 +15,7 @@
15
15
  "build": "tsc"
16
16
  },
17
17
  "dependencies": {
18
- "@sphereon/oid4vci-common": "0.8.2-unstable.58+1390a43",
18
+ "@sphereon/oid4vci-common": "0.8.2-unstable.61+4ae9a7d",
19
19
  "@sphereon/ssi-types": "^0.18.1",
20
20
  "cross-fetch": "^3.1.8",
21
21
  "debug": "^4.3.4"
@@ -69,5 +69,5 @@
69
69
  "OIDC4VCI",
70
70
  "OID4VCI"
71
71
  ],
72
- "gitHead": "1390a43b34a1bd6c87203a8065702e47a7b9ff2e"
72
+ "gitHead": "4ae9a7df19cf147a86bc17a16d5a1dffe18d82bf"
73
73
  }