@sphereon/oid4vci-client 0.4.1-unstable.284 → 0.4.1-unstable.285

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.
@@ -2,7 +2,7 @@ import { AccessTokenResponse, Alg, EndpointMetadata, Jwt, OpenId4VCIVersion, Pro
2
2
  export declare class ProofOfPossessionBuilder {
3
3
  private readonly proof?;
4
4
  private readonly callbacks?;
5
- private version;
5
+ private readonly version;
6
6
  private kid?;
7
7
  private clientId?;
8
8
  private issuer?;
@@ -23,16 +23,16 @@ export declare class ProofOfPossessionBuilder {
23
23
  version: OpenId4VCIVersion;
24
24
  }): ProofOfPossessionBuilder;
25
25
  static fromProof(proof: ProofOfPossession, version: OpenId4VCIVersion): ProofOfPossessionBuilder;
26
- withClientId(clientId: string): ProofOfPossessionBuilder;
27
- withKid(kid: string): ProofOfPossessionBuilder;
28
- withIssuer(issuer: string): ProofOfPossessionBuilder;
29
- withAlg(alg: Alg | string): ProofOfPossessionBuilder;
30
- withJti(jti: string): ProofOfPossessionBuilder;
31
- withTyp(typ: Typ): ProofOfPossessionBuilder;
32
- withAccessTokenNonce(cNonce: string): ProofOfPossessionBuilder;
33
- withAccessTokenResponse(accessToken: AccessTokenResponse): ProofOfPossessionBuilder;
34
- withEndpointMetadata(endpointMetadata: EndpointMetadata): ProofOfPossessionBuilder;
35
- withJwt(jwt: Jwt): ProofOfPossessionBuilder;
26
+ withClientId(clientId: string): this;
27
+ withKid(kid: string): this;
28
+ withIssuer(issuer: string): this;
29
+ withAlg(alg: Alg | string): this;
30
+ withJti(jti: string): this;
31
+ withTyp(typ: Typ): this;
32
+ withAccessTokenNonce(cNonce: string): this;
33
+ withAccessTokenResponse(accessToken: AccessTokenResponse): this;
34
+ withEndpointMetadata(endpointMetadata: EndpointMetadata): this;
35
+ withJwt(jwt: Jwt): this;
36
36
  build(): Promise<ProofOfPossession>;
37
37
  }
38
38
  //# sourceMappingURL=ProofOfPossessionBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProofOfPossessionBuilder.d.ts","sourceRoot":"","sources":["../lib/ProofOfPossessionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,GAAG,EACH,gBAAgB,EAChB,GAAG,EAEH,iBAAiB,EAEjB,iBAAiB,EACjB,0BAA0B,EAC1B,GAAG,EACJ,MAAM,0BAA0B,CAAC;AAIlC,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAA6B;IAExD,OAAO,CAAC,OAAO,CAAoB;IAEnC,OAAO,CAAC,GAAG,CAAC,CAAS;IACrB,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,GAAG,CAAC,CAAM;IAClB,OAAO,CAAC,GAAG,CAAC,CAAS;IACrB,OAAO,CAAC,GAAG,CAAC,CAAS;IACrB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,GAAG,CAAC,CAAM;IAElB,OAAO;IAwBP,MAAM,CAAC,OAAO,CAAC,EACb,GAAG,EACH,SAAS,EACT,OAAO,GACR,EAAE;QACD,GAAG,EAAE,GAAG,CAAC;QACT,SAAS,EAAE,0BAA0B,CAAC;QACtC,OAAO,EAAE,iBAAiB,CAAC;KAC5B,GAAG,wBAAwB;IAI5B,MAAM,CAAC,uBAAuB,CAAC,EAC7B,mBAAmB,EACnB,SAAS,EACT,OAAO,GACR,EAAE;QACD,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,SAAS,EAAE,0BAA0B,CAAC;QACtC,OAAO,EAAE,iBAAiB,CAAC;KAC5B,GAAG,wBAAwB;IAI5B,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,GAAG,wBAAwB;IAIhG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,wBAAwB;IAKxD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB;IAK9C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,wBAAwB;IAKpD,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,wBAAwB;IAKpD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB;IAK9C,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,wBAAwB;IAK3C,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,wBAAwB;IAK9D,uBAAuB,CAAC,WAAW,EAAE,mBAAmB,GAAG,wBAAwB;IAOnF,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,wBAAwB;IAKlF,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,wBAAwB;IA+B9B,KAAK,IAAI,OAAO,CAAC,iBAAiB,CAAC;CAoBjD"}
1
+ {"version":3,"file":"ProofOfPossessionBuilder.d.ts","sourceRoot":"","sources":["../lib/ProofOfPossessionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,GAAG,EACH,gBAAgB,EAChB,GAAG,EAEH,iBAAiB,EAEjB,iBAAiB,EACjB,0BAA0B,EAC1B,GAAG,EACJ,MAAM,0BAA0B,CAAC;AAIlC,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C,OAAO,CAAC,GAAG,CAAC,CAAS;IACrB,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,GAAG,CAAC,CAAM;IAClB,OAAO,CAAC,GAAG,CAAC,CAAS;IACrB,OAAO,CAAC,GAAG,CAAC,CAAS;IACrB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,GAAG,CAAC,CAAM;IAElB,OAAO;IA0BP,MAAM,CAAC,OAAO,CAAC,EACb,GAAG,EACH,SAAS,EACT,OAAO,GACR,EAAE;QACD,GAAG,EAAE,GAAG,CAAC;QACT,SAAS,EAAE,0BAA0B,CAAC;QACtC,OAAO,EAAE,iBAAiB,CAAC;KAC5B,GAAG,wBAAwB;IAI5B,MAAM,CAAC,uBAAuB,CAAC,EAC7B,mBAAmB,EACnB,SAAS,EACT,OAAO,GACR,EAAE;QACD,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,SAAS,EAAE,0BAA0B,CAAC;QACtC,OAAO,EAAE,iBAAiB,CAAC;KAC5B,GAAG,wBAAwB;IAI5B,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,GAAG,wBAAwB;IAIhG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKpC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK1B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKhC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI;IAKhC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK1B,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAcvB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK1C,uBAAuB,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI;IAO/D,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAK9D,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IA+BV,KAAK,IAAI,OAAO,CAAC,iBAAiB,CAAC;CAoBjD"}
@@ -16,13 +16,16 @@ class ProofOfPossessionBuilder {
16
16
  constructor({ proof, callbacks, jwt, accessTokenResponse, version, }) {
17
17
  this.proof = proof;
18
18
  this.callbacks = callbacks;
19
+ this.version = version;
19
20
  if (jwt) {
20
21
  this.withJwt(jwt);
21
22
  }
23
+ else {
24
+ this.withTyp(version < oid4vci_common_1.OpenId4VCIVersion.VER_1_0_11 ? 'jwt' : 'openid4vci-proof+jwt');
25
+ }
22
26
  if (accessTokenResponse) {
23
27
  this.withAccessTokenResponse(accessTokenResponse);
24
28
  }
25
- this.version = version;
26
29
  }
27
30
  static fromJwt({ jwt, callbacks, version, }) {
28
31
  return new ProofOfPossessionBuilder({ callbacks, jwt, version });
@@ -54,6 +57,16 @@ class ProofOfPossessionBuilder {
54
57
  return this;
55
58
  }
56
59
  withTyp(typ) {
60
+ if (this.version >= oid4vci_common_1.OpenId4VCIVersion.VER_1_0_11) {
61
+ if (!!typ && typ !== 'openid4vci-proof+jwt') {
62
+ throw Error('typ must be openid4vci-proof+jwt for version 1.0.11 and up');
63
+ }
64
+ }
65
+ else {
66
+ if (!!typ && typ !== 'jwt') {
67
+ throw Error('typ must be jwt for version 1.0.10 and below');
68
+ }
69
+ }
57
70
  this.typ = typ;
58
71
  return this;
59
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProofOfPossessionBuilder.js","sourceRoot":"","sources":["../lib/ProofOfPossessionBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProofOfPossessionBuilder.js","sourceRoot":"","sources":["../lib/ProofOfPossessionBuilder.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,7 @@ import { createProofOfPossession } from './functions';
16
16
  export class ProofOfPossessionBuilder {
17
17
  private readonly proof?: ProofOfPossession;
18
18
  private readonly callbacks?: ProofOfPossessionCallbacks;
19
-
20
- private version: OpenId4VCIVersion;
19
+ private readonly version: OpenId4VCIVersion;
21
20
 
22
21
  private kid?: string;
23
22
  private clientId?: string;
@@ -43,13 +42,15 @@ export class ProofOfPossessionBuilder {
43
42
  }) {
44
43
  this.proof = proof;
45
44
  this.callbacks = callbacks;
45
+ this.version = version;
46
46
  if (jwt) {
47
47
  this.withJwt(jwt);
48
+ } else {
49
+ this.withTyp(version < OpenId4VCIVersion.VER_1_0_11 ? 'jwt' : 'openid4vci-proof+jwt');
48
50
  }
49
51
  if (accessTokenResponse) {
50
52
  this.withAccessTokenResponse(accessTokenResponse);
51
53
  }
52
- this.version = version;
53
54
  }
54
55
 
55
56
  static fromJwt({
@@ -80,54 +81,63 @@ export class ProofOfPossessionBuilder {
80
81
  return new ProofOfPossessionBuilder({ proof, version });
81
82
  }
82
83
 
83
- withClientId(clientId: string): ProofOfPossessionBuilder {
84
+ withClientId(clientId: string): this {
84
85
  this.clientId = clientId;
85
86
  return this;
86
87
  }
87
88
 
88
- withKid(kid: string): ProofOfPossessionBuilder {
89
+ withKid(kid: string): this {
89
90
  this.kid = kid;
90
91
  return this;
91
92
  }
92
93
 
93
- withIssuer(issuer: string): ProofOfPossessionBuilder {
94
+ withIssuer(issuer: string): this {
94
95
  this.issuer = issuer;
95
96
  return this;
96
97
  }
97
98
 
98
- withAlg(alg: Alg | string): ProofOfPossessionBuilder {
99
+ withAlg(alg: Alg | string): this {
99
100
  this.alg = alg;
100
101
  return this;
101
102
  }
102
103
 
103
- withJti(jti: string): ProofOfPossessionBuilder {
104
+ withJti(jti: string): this {
104
105
  this.jti = jti;
105
106
  return this;
106
107
  }
107
108
 
108
- withTyp(typ: Typ): ProofOfPossessionBuilder {
109
+ withTyp(typ: Typ): this {
110
+ if (this.version >= OpenId4VCIVersion.VER_1_0_11) {
111
+ if (!!typ && typ !== 'openid4vci-proof+jwt') {
112
+ throw Error('typ must be openid4vci-proof+jwt for version 1.0.11 and up');
113
+ }
114
+ } else {
115
+ if (!!typ && typ !== 'jwt') {
116
+ throw Error('typ must be jwt for version 1.0.10 and below');
117
+ }
118
+ }
109
119
  this.typ = typ;
110
120
  return this;
111
121
  }
112
122
 
113
- withAccessTokenNonce(cNonce: string): ProofOfPossessionBuilder {
123
+ withAccessTokenNonce(cNonce: string): this {
114
124
  this.cNonce = cNonce;
115
125
  return this;
116
126
  }
117
127
 
118
- withAccessTokenResponse(accessToken: AccessTokenResponse): ProofOfPossessionBuilder {
128
+ withAccessTokenResponse(accessToken: AccessTokenResponse): this {
119
129
  if (accessToken.c_nonce) {
120
130
  this.withAccessTokenNonce(accessToken.c_nonce);
121
131
  }
122
132
  return this;
123
133
  }
124
134
 
125
- withEndpointMetadata(endpointMetadata: EndpointMetadata): ProofOfPossessionBuilder {
135
+ withEndpointMetadata(endpointMetadata: EndpointMetadata): this {
126
136
  this.withIssuer(endpointMetadata.issuer);
127
137
  return this;
128
138
  }
129
139
 
130
- withJwt(jwt: Jwt): ProofOfPossessionBuilder {
140
+ withJwt(jwt: Jwt): this {
131
141
  if (!jwt) {
132
142
  throw new Error(NO_JWT_PROVIDED);
133
143
  }
@@ -20,7 +20,7 @@ export const UNIT_TEST_TIMEOUT = 30000;
20
20
 
21
21
  const ISSUER_URL = 'https://issuer.research.identiproof.io';
22
22
  const jwt = {
23
- header: { alg: Alg.ES256, kid: 'did:example:ebfeb1f712ebc6f1c276e12ec21/keys/1', typ: 'jwt' },
23
+ header: { alg: Alg.ES256, kid: 'did:example:ebfeb1f712ebc6f1c276e12ec21/keys/1', typ: 'openid4vci-proof+jwt' },
24
24
  payload: { iss: 'test-clientId', nonce: 'tZignsnFbp', jti: 'tZignsnFbp223', aud: ISSUER_URL },
25
25
  };
26
26
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/oid4vci-client",
3
- "version": "0.4.1-unstable.284+b048421",
3
+ "version": "0.4.1-unstable.285+8274708",
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.4.1-unstable.284+b048421",
18
+ "@sphereon/oid4vci-common": "0.4.1-unstable.285+8274708",
19
19
  "@sphereon/ssi-types": "^0.9.0",
20
20
  "cross-fetch": "^3.1.5",
21
21
  "debug": "^4.3.4",
@@ -64,5 +64,5 @@
64
64
  "OIDC4VCI",
65
65
  "OID4VCI"
66
66
  ],
67
- "gitHead": "b0484214fa8f9e45f7741c8fc9202e11f5ac23ac"
67
+ "gitHead": "8274708ce091d012f3674e4821e88eae384fe8a7"
68
68
  }