@sphereon/oid4vci-common 0.15.2-unstable.8 → 0.16.1-next.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/functions/CredentialRequestUtil.d.ts.map +1 -1
- package/dist/functions/CredentialRequestUtil.js +3 -0
- package/dist/functions/CredentialRequestUtil.js.map +1 -1
- package/dist/functions/FormatUtils.js +1 -1
- package/dist/functions/FormatUtils.js.map +1 -1
- package/dist/functions/HttpUtils.d.ts.map +1 -1
- package/dist/functions/HttpUtils.js +2 -1
- package/dist/functions/HttpUtils.js.map +1 -1
- package/dist/functions/IssuerMetadataUtils.js +1 -1
- package/dist/functions/IssuerMetadataUtils.js.map +1 -1
- package/dist/functions/ProofUtil.d.ts +4 -2
- package/dist/functions/ProofUtil.d.ts.map +1 -1
- package/dist/functions/ProofUtil.js +2 -1
- package/dist/functions/ProofUtil.js.map +1 -1
- package/dist/functions/RandomUtils.js +2 -5
- package/dist/functions/RandomUtils.js.map +1 -1
- package/dist/functions/TypeConversionUtils.d.ts +4 -4
- package/dist/functions/TypeConversionUtils.d.ts.map +1 -1
- package/dist/functions/TypeConversionUtils.js +6 -0
- package/dist/functions/TypeConversionUtils.js.map +1 -1
- package/dist/types/Authorization.types.d.ts +19 -3
- package/dist/types/Authorization.types.d.ts.map +1 -1
- package/dist/types/Authorization.types.js.map +1 -1
- package/dist/types/CredentialIssuance.types.d.ts +3 -37
- package/dist/types/CredentialIssuance.types.d.ts.map +1 -1
- package/dist/types/CredentialIssuance.types.js.map +1 -1
- package/dist/types/Generic.types.d.ts +23 -10
- package/dist/types/Generic.types.d.ts.map +1 -1
- package/dist/types/Generic.types.js.map +1 -1
- package/dist/types/ServerMetadata.d.ts +2 -0
- package/dist/types/ServerMetadata.d.ts.map +1 -1
- package/dist/types/ServerMetadata.js.map +1 -1
- package/dist/types/Token.types.d.ts +2 -1
- package/dist/types/Token.types.d.ts.map +1 -1
- package/dist/types/Token.types.js +1 -0
- package/dist/types/Token.types.js.map +1 -1
- package/dist/types/v1_0_09.types.d.ts +2 -2
- package/dist/types/v1_0_09.types.d.ts.map +1 -1
- package/dist/types/v1_0_11.types.d.ts +2 -2
- package/dist/types/v1_0_11.types.d.ts.map +1 -1
- package/dist/types/v1_0_13.types.d.ts +11 -6
- package/dist/types/v1_0_13.types.d.ts.map +1 -1
- package/lib/functions/CredentialRequestUtil.ts +2 -0
- package/lib/functions/FormatUtils.ts +1 -1
- package/lib/functions/HttpUtils.ts +2 -1
- package/lib/functions/IssuerMetadataUtils.ts +1 -1
- package/lib/functions/ProofUtil.ts +3 -3
- package/lib/functions/RandomUtils.ts +2 -2
- package/lib/functions/TypeConversionUtils.ts +23 -5
- package/lib/types/Authorization.types.ts +31 -3
- package/lib/types/CredentialIssuance.types.ts +3 -41
- package/lib/types/Generic.types.ts +35 -13
- package/lib/types/ServerMetadata.ts +4 -1
- package/lib/types/Token.types.ts +1 -0
- package/lib/types/v1_0_09.types.ts +2 -2
- package/lib/types/v1_0_11.types.ts +2 -2
- package/lib/types/v1_0_13.types.ts +15 -3
- package/package.json +9 -6
|
@@ -17,7 +17,7 @@ export interface ImageInfo {
|
|
|
17
17
|
alt_text?: string;
|
|
18
18
|
[key: string]: unknown;
|
|
19
19
|
}
|
|
20
|
-
export type OID4VCICredentialFormat = 'jwt_vc_json' | 'jwt_vc_json-ld' | 'ldp_vc' | 'vc+sd-jwt' | 'jwt_vc';
|
|
20
|
+
export type OID4VCICredentialFormat = 'jwt_vc_json' | 'jwt_vc_json-ld' | 'ldp_vc' | 'vc+sd-jwt' | 'jwt_vc' | 'mso_mdoc';
|
|
21
21
|
export interface NameAndLocale {
|
|
22
22
|
name?: string;
|
|
23
23
|
locale?: string;
|
|
@@ -42,7 +42,7 @@ export interface CredentialSupplierConfig {
|
|
|
42
42
|
export interface CredentialIssuerMetadataOpts {
|
|
43
43
|
credential_endpoint?: string;
|
|
44
44
|
batch_credential_endpoint?: string;
|
|
45
|
-
credentials_supported
|
|
45
|
+
credentials_supported: CredentialsSupportedLegacy[];
|
|
46
46
|
credential_issuer: string;
|
|
47
47
|
authorization_server?: string;
|
|
48
48
|
token_endpoint?: string;
|
|
@@ -86,7 +86,7 @@ export interface CredentialIssuerMetadata extends CredentialIssuerMetadataOpts,
|
|
|
86
86
|
}
|
|
87
87
|
export interface CredentialSupportedBrief {
|
|
88
88
|
cryptographic_binding_methods_supported?: string[];
|
|
89
|
-
|
|
89
|
+
cryptographic_suites_supported?: string[];
|
|
90
90
|
}
|
|
91
91
|
export interface ProofType {
|
|
92
92
|
proof_signing_alg_values_supported: string[];
|
|
@@ -120,8 +120,14 @@ export interface CredentialSupportedSdJwtVc extends CommonCredentialSupported {
|
|
|
120
120
|
claims?: IssuerCredentialSubject;
|
|
121
121
|
order?: string[];
|
|
122
122
|
}
|
|
123
|
-
export
|
|
124
|
-
|
|
123
|
+
export interface CredentialSupportedMsoMdoc extends CommonCredentialSupported {
|
|
124
|
+
format: 'mso_mdoc';
|
|
125
|
+
doctype: string;
|
|
126
|
+
claims?: IssuerCredentialSubject;
|
|
127
|
+
order?: string[];
|
|
128
|
+
}
|
|
129
|
+
export type CredentialConfigurationSupported = CredentialConfigurationSupportedV1_0_13 | (CommonCredentialSupported & (CredentialSupportedJwtVcJson | CredentialSupportedJwtVcJsonLdAndLdpVc | CredentialSupportedSdJwtVc | CredentialSupportedMsoMdoc));
|
|
130
|
+
export type CredentialsSupportedLegacy = CommonCredentialSupported & (CredentialSupportedJwtVcJson | CredentialSupportedJwtVcJsonLdAndLdpVc | CredentialSupportedSdJwtVc | CredentialSupportedMsoMdoc);
|
|
125
131
|
export interface CommonCredentialOfferFormat {
|
|
126
132
|
format: OID4VCICredentialFormat | string;
|
|
127
133
|
}
|
|
@@ -138,7 +144,12 @@ export interface CredentialOfferFormatSdJwtVc extends CommonCredentialOfferForma
|
|
|
138
144
|
vct: string;
|
|
139
145
|
claims?: IssuerCredentialSubject;
|
|
140
146
|
}
|
|
141
|
-
export
|
|
147
|
+
export interface CredentialOfferFormatMsoMdoc extends CommonCredentialOfferFormat {
|
|
148
|
+
format: 'mso_mdoc';
|
|
149
|
+
doctype: string;
|
|
150
|
+
claims?: IssuerCredentialSubject;
|
|
151
|
+
}
|
|
152
|
+
export type CredentialOfferFormatV1_0_11 = CommonCredentialOfferFormat & (CredentialOfferFormatJwtVcJsonLdAndLdpVc | CredentialOfferFormatJwtVcJson | CredentialOfferFormatSdJwtVc | CredentialOfferFormatMsoMdoc);
|
|
142
153
|
/**
|
|
143
154
|
* Optional storage that can help the credential Data Supplier. For instance to store credential input data during offer creation, if no additional data can be supplied later on
|
|
144
155
|
*/
|
|
@@ -155,7 +166,7 @@ export interface JsonLdIssuerCredentialDefinition {
|
|
|
155
166
|
types: string[];
|
|
156
167
|
credentialSubject?: IssuerCredentialSubject;
|
|
157
168
|
}
|
|
158
|
-
export interface ErrorResponse
|
|
169
|
+
export interface ErrorResponse {
|
|
159
170
|
error: string;
|
|
160
171
|
error_description?: string;
|
|
161
172
|
error_uri?: string;
|
|
@@ -180,6 +191,11 @@ export interface CredentialRequestSdJwtVc extends CommonCredentialRequest {
|
|
|
180
191
|
vct: string;
|
|
181
192
|
claims?: IssuerCredentialSubject;
|
|
182
193
|
}
|
|
194
|
+
export interface CredentialRequestMsoMdoc extends CommonCredentialRequest {
|
|
195
|
+
format: 'mso_mdoc';
|
|
196
|
+
doctype: string;
|
|
197
|
+
claims?: IssuerCredentialSubject;
|
|
198
|
+
}
|
|
183
199
|
export interface CommonCredentialResponse extends ExperimentalSubjectIssuance {
|
|
184
200
|
credential?: W3CVerifiableCredential;
|
|
185
201
|
acceptance_token?: string;
|
|
@@ -295,7 +311,4 @@ export type NotificationResult = {
|
|
|
295
311
|
export interface NotificationErrorResponse {
|
|
296
312
|
error: NotificationError | string;
|
|
297
313
|
}
|
|
298
|
-
export interface IssuerSessionIdRequestOpts {
|
|
299
|
-
sessionEndpoint: string;
|
|
300
|
-
}
|
|
301
314
|
//# sourceMappingURL=Generic.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Generic.types.d.ts","sourceRoot":"","sources":["../../lib/types/Generic.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE7G,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EACL,uCAAuC,EACvC,wBAAwB,EACxB,6BAA6B,EAC7B,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC;AAC9C,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEpD,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"Generic.types.d.ts","sourceRoot":"","sources":["../../lib/types/Generic.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE7G,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EACL,uCAAuC,EACvC,wBAAwB,EACxB,6BAA6B,EAC7B,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC;AAC9C,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEpD,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;AAExH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,2BAA2B,GAAG,aAAa,GACrD,YAAY,GAAG;IACb,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,aAAa,GACzC,YAAY,GAAG;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEJ,MAAM,WAAW,wBAAwB;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qBAAqB,EAAE,0BAA0B,EAAE,CAAC;IACpD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,0BAA0B,CAAC,EAAE,wBAAwB,CAAC;CACvD;AAGD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AACtE,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,eAAe,GAAG,eAAe,GAAG,MAAM,CAAC;AAE1F,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,oBAAoB,EAAE,QAAQ,EAAE,CAAC;IAEjC;;;;OAIG;IACH,oBAAoB,EAAE,QAAQ,EAAE,CAAC;IAEjC;;;;;;OAMG;IACH,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAGD,MAAM,WAAW,wBAAyB,SAAQ,4BAA4B,EAAE,OAAO,CAAC,2BAA2B,CAAC;IAClH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mCAAmC,EAAE,MAAM,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;IACtF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mDAAmD,CAAC,EAAE,MAAM,CAAC;IAC7D,mDAAmD,CAAC,EAAE,MAAM,CAAC;IAC7D,sCAAsC,CAAC,EAAE,OAAO,CAAC;IACjD,gCAAgC,CAAC,EAAE,OAAO,CAAC;CAC5C;AAID,MAAM,WAAW,wBAAwB;IACvC,uCAAuC,CAAC,EAAE,MAAM,EAAE,CAAC;IACnD,8BAA8B,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,SAAS;IACxB,kCAAkC,EAAE,MAAM,EAAE,CAAC;CAC9C;AAED,MAAM,MAAM,mBAAmB,GAAG;KAC/B,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,SAAS;CAClC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,wBAAwB,GAC9D,2BAA2B,GAAG;IAC5B,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAAC;IACzC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB,CAAC,EAAE,mBAAmB,CAAC;CAK7C,CAAC;AAEJ,MAAM,WAAW,sCAAuC,SAAQ,yBAAyB;IACvF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,sBAAsB,EAAE,CAAC;IACrC,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,QAAQ,GAAG,gBAAgB,CAAC;CACrC;AAED,MAAM,WAAW,4BAA6B,SAAQ,yBAAyB;IAC7E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAC;CAClC;AAED,MAAM,WAAW,0BAA2B,SAAQ,yBAAyB;IAC3E,MAAM,EAAE,WAAW,CAAC;IAEpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,uBAAuB,CAAC;IAEjC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,0BAA2B,SAAQ,yBAAyB;IAC3E,MAAM,EAAE,UAAU,CAAC;IAEnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,uBAAuB,CAAC;IAEjC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,MAAM,gCAAgC,GACxC,uCAAuC,GACvC,CAAC,yBAAyB,GACxB,CAAC,4BAA4B,GAAG,sCAAsC,GAAG,0BAA0B,GAAG,0BAA0B,CAAC,CAAC,CAAC;AAEzI,MAAM,MAAM,0BAA0B,GAAG,yBAAyB,GAChE,CAAC,4BAA4B,GAAG,sCAAsC,GAAG,0BAA0B,GAAG,0BAA0B,CAAC,CAAC;AAEpI,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAAC;CAC1C;AAED,MAAM,WAAW,wCAAyC,SAAQ,2BAA2B;IAC3F,MAAM,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IAEpC,qBAAqB,EAAE,gCAAgC,CAAC;CACzD;AAED,MAAM,WAAW,8BAA+B,SAAQ,2BAA2B;IACjF,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAC;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAKD,MAAM,WAAW,4BAA6B,SAAQ,2BAA2B;IAC/E,MAAM,EAAE,WAAW,CAAC;IAEpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC;AAKD,MAAM,WAAW,4BAA6B,SAAQ,2BAA2B;IAC/E,MAAM,EAAE,UAAU,CAAC;IAEnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC;AAED,MAAM,MAAM,4BAA4B,GAAG,2BAA2B,GACpE,CAAC,wCAAwC,GAAG,8BAA8B,GAAG,4BAA4B,GAAG,4BAA4B,CAAC,CAAC;AAE5I;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAE9C,MAAM,MAAM,8BAA8B,GAAG;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,sBAAsB,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,gCAAgC;IAC/C,UAAU,EAAE,sBAAsB,EAAE,CAAC;IACrC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;CAC7C;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,wBAAwB,GAAG,wBAAwB,GAAG,wBAAwB,CAAC;AAE3F,MAAM,WAAW,uBAAwB,SAAQ,2BAA2B;IAC1E,MAAM,EAAE,uBAAuB,CAAmC;IAClE,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACzE,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAC;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;CAC7C;AAED,MAAM,WAAW,oCAAqC,SAAQ,uBAAuB;IACnF,MAAM,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IACpC,qBAAqB,EAAE,gCAAgC,CAAC;CACzD;AAED,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;IACvE,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC;AAED,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;IACvE,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC;AAED,MAAM,WAAW,wBAAyB,SAAQ,2BAA2B;IAE3E,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IAEvE,UAAU,EAAE,qBAAqB,CAAC;CACnC;AAED,MAAM,WAAW,uBAAuB;IAEtC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IAExC,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,MAAM,8BAA8B,GAAG,wBAAwB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,CAAA;CAAE,CAAC;AAEpH,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,8BAA8B,CAAC;CAC/C;AAED,MAAM,WAAW,KAAK;IACpB,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAC5C,sDAAsD,CAAC,EAAE,YAAY,CAAC;CACvE;AAED,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,YAAY,CAAC;IAE1B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAG9B;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,qBAAqB,wBAAwB,CAAC;AAC3D,eAAO,MAAM,sBAAsB,yDAAyD,CAAC;AAE7F,MAAM,MAAM,sBAAsB,GAAG,6BAA6B,GAAG,6BAA6B,CAAC;AAEnG,MAAM,MAAM,cAAc,GAAG,qBAAqB,GAAG,qBAAqB,CAAC;AAE3E,MAAM,MAAM,qBAAqB,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AAExG,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAAC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AAED,MAAM,MAAM,iBAAiB,GAAG,yBAAyB,GAAG,8BAA8B,CAAC;AAE3F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,yBAAyB,CAAC;CACtC,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAAC;CACnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Generic.types.js","sourceRoot":"","sources":["../../lib/types/Generic.types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Generic.types.js","sourceRoot":"","sources":["../../lib/types/Generic.types.ts"],"names":[],"mappings":";;;AAgZa,QAAA,qBAAqB,GAAG,qBAAqB,CAAC;AAC9C,QAAA,sBAAsB,GAAG,sDAAsD,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SigningAlgo } from '@sphereon/oid4vc-common';
|
|
1
2
|
export interface AuthorizationServerMetadata {
|
|
2
3
|
issuer: string;
|
|
3
4
|
authorization_endpoint?: string;
|
|
@@ -22,6 +23,7 @@ export interface AuthorizationServerMetadata {
|
|
|
22
23
|
pushed_authorization_request_endpoint?: string;
|
|
23
24
|
require_pushed_authorization_requests?: boolean;
|
|
24
25
|
'pre-authorized_grant_anonymous_access_supported': boolean;
|
|
26
|
+
dpop_signing_alg_values_supported?: (string | SigningAlgo)[];
|
|
25
27
|
frontchannel_logout_supported?: boolean;
|
|
26
28
|
frontchannel_logout_session_supported?: boolean;
|
|
27
29
|
backchannel_logout_supported?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerMetadata.d.ts","sourceRoot":"","sources":["../../lib/types/ServerMetadata.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qCAAqC,CAAC,EAAE,MAAM,EAAE,CAAC;IACjD,gDAAgD,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,0CAA0C,CAAC,EAAE,MAAM,EAAE,CAAC;IACtD,qDAAqD,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjE,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gCAAgC,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5C,qCAAqC,CAAC,EAAE,MAAM,CAAC;IAE/C,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAChD,iDAAiD,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ServerMetadata.d.ts","sourceRoot":"","sources":["../../lib/types/ServerMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qCAAqC,CAAC,EAAE,MAAM,EAAE,CAAC;IACjD,gDAAgD,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,0CAA0C,CAAC,EAAE,MAAM,EAAE,CAAC;IACtD,qDAAqD,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjE,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gCAAgC,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5C,qCAAqC,CAAC,EAAE,MAAM,CAAC;IAE/C,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAChD,iDAAiD,EAAE,OAAO,CAAC;IAE3D,iCAAiC,CAAC,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;IAE7D,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAChD,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,2CAA2C,CAAC,EAAE,MAAM,EAAE,CAAC;IACvD,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAGrC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IAGtC,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED,oBAAY,kBAAkB;IAC5B,oBAAoB,sCAAsC;IAC1D,QAAQ,4CAA4C;IACpD,iBAAiB,0CAA0C;CAC5D;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;AAEvE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerMetadata.js","sourceRoot":"","sources":["../../lib/types/ServerMetadata.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ServerMetadata.js","sourceRoot":"","sources":["../../lib/types/ServerMetadata.ts"],"names":[],"mappings":";;;AAyDA,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,gFAA0D,CAAA;IAC1D,0EAAoD,CAAA;IACpD,iFAA2D,CAAA;AAC7D,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B"}
|
|
@@ -2,7 +2,8 @@ export declare enum TokenErrorResponse {
|
|
|
2
2
|
invalid_request = "invalid_request",
|
|
3
3
|
invalid_grant = "invalid_grant",
|
|
4
4
|
invalid_client = "invalid_client",// this code has been added only in v1_0-11, but I've added this to the common interface. @nklomp is this ok?
|
|
5
|
-
invalid_scope = "invalid_scope"
|
|
5
|
+
invalid_scope = "invalid_scope",
|
|
6
|
+
invalid_dpop_proof = "invalid_dpop_proof"
|
|
6
7
|
}
|
|
7
8
|
export declare class TokenError extends Error {
|
|
8
9
|
private readonly _statusCode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Token.types.d.ts","sourceRoot":"","sources":["../../lib/types/Token.types.ts"],"names":[],"mappings":"AAAA,oBAAY,kBAAkB;IAC5B,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB,CAAE,6GAA6G;IAChJ,aAAa,kBAAkB;
|
|
1
|
+
{"version":3,"file":"Token.types.d.ts","sourceRoot":"","sources":["../../lib/types/Token.types.ts"],"names":[],"mappings":"AAAA,oBAAY,kBAAkB;IAC5B,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB,CAAE,6GAA6G;IAChJ,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;CAC1C;AAED,qBAAa,UAAW,SAAQ,KAAK;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;gBACxC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM;IAQlF,IAAI,UAAU,IAAI,MAAM,CAEvB;IACD,IAAI,aAAa,IAAI,kBAAkB,CAEtC;IAED,cAAc;CAGf"}
|
|
@@ -7,6 +7,7 @@ var TokenErrorResponse;
|
|
|
7
7
|
TokenErrorResponse["invalid_grant"] = "invalid_grant";
|
|
8
8
|
TokenErrorResponse["invalid_client"] = "invalid_client";
|
|
9
9
|
TokenErrorResponse["invalid_scope"] = "invalid_scope";
|
|
10
|
+
TokenErrorResponse["invalid_dpop_proof"] = "invalid_dpop_proof";
|
|
10
11
|
})(TokenErrorResponse || (exports.TokenErrorResponse = TokenErrorResponse = {}));
|
|
11
12
|
class TokenError extends Error {
|
|
12
13
|
constructor(statusCode, responseError, message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Token.types.js","sourceRoot":"","sources":["../../lib/types/Token.types.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"Token.types.js","sourceRoot":"","sources":["../../lib/types/Token.types.ts"],"names":[],"mappings":";;;AAAA,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,yDAAmC,CAAA;IACnC,qDAA+B,CAAA;IAC/B,uDAAiC,CAAA;IACjC,qDAA+B,CAAA;IAC/B,+DAAyC,CAAA;AAC3C,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B;AAED,MAAa,UAAW,SAAQ,KAAK;IAGnC,YAAY,UAAkB,EAAE,aAAiC,EAAE,OAAe;QAChF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QAEpC,gDAAgD;QAChD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AArBD,gCAqBC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CommonAuthorizationRequest } from './Authorization.types';
|
|
2
|
-
import {
|
|
2
|
+
import { CredentialOfferFormatV1_0_11 } from './Generic.types';
|
|
3
3
|
export interface CredentialOfferV1_0_09 {
|
|
4
4
|
credential_offer: CredentialOfferPayloadV1_0_09;
|
|
5
5
|
}
|
|
@@ -17,7 +17,7 @@ export interface CredentialOfferPayloadV1_0_09 {
|
|
|
17
17
|
* credentials_supported Credential Issuer metadata parameter.
|
|
18
18
|
* When processing, the Wallet MUST resolve this string value to the respective object.
|
|
19
19
|
*/
|
|
20
|
-
credentials: (
|
|
20
|
+
credentials: (CredentialOfferFormatV1_0_11 | string)[];
|
|
21
21
|
'pre-authorized_code'?: string;
|
|
22
22
|
user_pin_required?: boolean | string;
|
|
23
23
|
op_state?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v1_0_09.types.d.ts","sourceRoot":"","sources":["../../lib/types/v1_0_09.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"v1_0_09.types.d.ts","sourceRoot":"","sources":["../../lib/types/v1_0_09.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAE/D,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,EAAE,6BAA6B,CAAC;CACjD;AAGD,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,WAAW,EAAE,CAAC,4BAA4B,GAAG,MAAM,CAAC,EAAE,CAAC;IACvD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA4B,SAAQ,0BAA0B;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAE1F"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AuthorizationDetailsJwtVcJson, AuthorizationServerOpts, CommonAuthorizationRequest } from './Authorization.types';
|
|
2
2
|
import { UniformCredentialOffer, UniformCredentialOfferRequest } from './CredentialIssuance.types';
|
|
3
|
-
import { CommonCredentialRequest, CredentialDataSupplierInput, CredentialIssuerMetadataOpts,
|
|
3
|
+
import { CommonCredentialRequest, CredentialDataSupplierInput, CredentialIssuerMetadataOpts, CredentialOfferFormatV1_0_11, CredentialRequestJwtVcJson, CredentialRequestJwtVcJsonLdAndLdpVc, CredentialRequestSdJwtVc, Grant } from './Generic.types';
|
|
4
4
|
import { QRCodeOpts } from './QRCode.types';
|
|
5
5
|
import { AuthorizationServerMetadata, AuthorizationServerType, EndpointMetadata } from './ServerMetadata';
|
|
6
6
|
import { IssuerMetadataV1_0_08 } from './v1_0_08.types';
|
|
@@ -47,7 +47,7 @@ export interface CredentialOfferPayloadV1_0_11 {
|
|
|
47
47
|
* credentials_supported Credential Issuer metadata parameter.
|
|
48
48
|
* When processing, the Wallet MUST resolve this string value to the respective object.
|
|
49
49
|
*/
|
|
50
|
-
credentials: (
|
|
50
|
+
credentials: (CredentialOfferFormatV1_0_11 | string)[];
|
|
51
51
|
/**
|
|
52
52
|
* OPTIONAL. A JSON object indicating to the Wallet the Grant Types the Credential Issuer's AS is prepared
|
|
53
53
|
* to process for this credential offer. Every grant is represented by a key and an object.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v1_0_11.types.d.ts","sourceRoot":"","sources":["../../lib/types/v1_0_11.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAC3H,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AACnG,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,
|
|
1
|
+
{"version":3,"file":"v1_0_11.types.d.ts","sourceRoot":"","sources":["../../lib/types/v1_0_11.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { JWK } from '@sphereon/oid4vc-common';
|
|
1
2
|
import { ExperimentalSubjectIssuance } from '../experimental/holder-vci';
|
|
2
|
-
import {
|
|
3
|
-
import { AlgValue, CommonCredentialRequest, CredentialDataSupplierInput, CredentialRequestSdJwtVc, CredentialsSupportedDisplay, CredentialSupplierConfig, EncValue, Grant, IssuerCredentialSubject, MetadataDisplay, OID4VCICredentialFormat, ProofTypesSupported, ResponseEncryption } from './Generic.types';
|
|
3
|
+
import { ProofOfPossession } from './CredentialIssuance.types';
|
|
4
|
+
import { AlgValue, CommonCredentialRequest, CredentialDataSupplierInput, CredentialRequestMsoMdoc, CredentialRequestSdJwtVc, CredentialsSupportedDisplay, CredentialSupplierConfig, EncValue, Grant, IssuerCredentialSubject, MetadataDisplay, OID4VCICredentialFormat, ProofTypesSupported, ResponseEncryption } from './Generic.types';
|
|
4
5
|
import { QRCodeOpts } from './QRCode.types';
|
|
5
6
|
import { AuthorizationServerMetadata, AuthorizationServerType, EndpointMetadata } from './ServerMetadata';
|
|
6
7
|
export interface IssuerMetadataV1_0_13 {
|
|
@@ -14,7 +15,6 @@ export interface IssuerMetadataV1_0_13 {
|
|
|
14
15
|
notification_endpoint?: string;
|
|
15
16
|
credential_response_encryption?: ResponseEncryption;
|
|
16
17
|
token_endpoint?: string;
|
|
17
|
-
session_endpoint?: string;
|
|
18
18
|
display?: MetadataDisplay[];
|
|
19
19
|
[x: string]: unknown;
|
|
20
20
|
}
|
|
@@ -27,7 +27,7 @@ export type CredentialDefinitionJwtVcJsonLdAndLdpVcV1_0_13 = {
|
|
|
27
27
|
type: string[];
|
|
28
28
|
credentialSubject?: IssuerCredentialSubject;
|
|
29
29
|
};
|
|
30
|
-
export type CredentialConfigurationSupportedV1_0_13 = CredentialConfigurationSupportedCommonV1_0_13 & (CredentialConfigurationSupportedSdJwtVcV1_0_13 | CredentialConfigurationSupportedJwtVcJsonV1_0_13 | CredentialConfigurationSupportedJwtVcJsonLdAndLdpVcV1_0_13);
|
|
30
|
+
export type CredentialConfigurationSupportedV1_0_13 = CredentialConfigurationSupportedCommonV1_0_13 & (CredentialConfigurationSupportedSdJwtVcV1_0_13 | CredentialConfigurationSupportedJwtVcJsonV1_0_13 | CredentialConfigurationSupportedJwtVcJsonLdAndLdpVcV1_0_13 | CredentialConfigurationSupportedMsoMdocV1_0_13);
|
|
31
31
|
export type CredentialConfigurationSupportedCommonV1_0_13 = {
|
|
32
32
|
format: OID4VCICredentialFormat | 'string';
|
|
33
33
|
scope?: string;
|
|
@@ -43,6 +43,12 @@ export interface CredentialConfigurationSupportedSdJwtVcV1_0_13 extends Credenti
|
|
|
43
43
|
claims?: IssuerCredentialSubject;
|
|
44
44
|
order?: string[];
|
|
45
45
|
}
|
|
46
|
+
export interface CredentialConfigurationSupportedMsoMdocV1_0_13 extends CredentialConfigurationSupportedCommonV1_0_13 {
|
|
47
|
+
format: 'mso_mdoc';
|
|
48
|
+
doctype: string;
|
|
49
|
+
claims?: IssuerCredentialSubject;
|
|
50
|
+
order?: string[];
|
|
51
|
+
}
|
|
46
52
|
export interface CredentialConfigurationSupportedJwtVcJsonV1_0_13 extends CredentialConfigurationSupportedCommonV1_0_13 {
|
|
47
53
|
format: 'jwt_vc_json' | 'jwt_vc';
|
|
48
54
|
credential_definition: CredentialDefinitionJwtVcJsonV1_0_13;
|
|
@@ -62,7 +68,7 @@ export interface CredentialRequestV1_0_13Common extends ExperimentalSubjectIssua
|
|
|
62
68
|
credential_response_encryption?: CredentialRequestV1_0_13ResponseEncryption;
|
|
63
69
|
proof?: ProofOfPossession;
|
|
64
70
|
}
|
|
65
|
-
export type CredentialRequestV1_0_13 = CredentialRequestV1_0_13Common & (CredentialRequestJwtVcJsonV1_0_13 | CredentialRequestJwtVcJsonLdAndLdpVcV1_0_13 | CredentialRequestSdJwtVc | CredentialRequestV1_0_13CredentialIdentifier);
|
|
71
|
+
export type CredentialRequestV1_0_13 = CredentialRequestV1_0_13Common & (CredentialRequestJwtVcJsonV1_0_13 | CredentialRequestJwtVcJsonLdAndLdpVcV1_0_13 | CredentialRequestSdJwtVc | CredentialRequestMsoMdoc | CredentialRequestV1_0_13CredentialIdentifier);
|
|
66
72
|
export interface CredentialRequestV1_0_13CredentialIdentifier extends CredentialRequestV1_0_13Common {
|
|
67
73
|
format?: undefined;
|
|
68
74
|
credential_identifier: string;
|
|
@@ -134,7 +140,6 @@ export interface EndpointMetadataResultV1_0_13 extends EndpointMetadata {
|
|
|
134
140
|
authorizationServerType: AuthorizationServerType;
|
|
135
141
|
authorizationServerMetadata?: AuthorizationServerMetadata;
|
|
136
142
|
credentialIssuerMetadata?: Partial<AuthorizationServerMetadata> & IssuerMetadataV1_0_13;
|
|
137
|
-
session_endpoint?: string;
|
|
138
143
|
}
|
|
139
144
|
export interface CredentialIssuerMetadataV1_0_13 extends CredentialIssuerMetadataOptsV1_0_13, Partial<AuthorizationServerMetadata> {
|
|
140
145
|
authorization_servers?: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v1_0_13.types.d.ts","sourceRoot":"","sources":["../../lib/types/v1_0_13.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"v1_0_13.types.d.ts","sourceRoot":"","sources":["../../lib/types/v1_0_13.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,8 @@ export function getTypesFromRequest(credentialRequest: CredentialRequest, opts?:
|
|
|
35
35
|
}
|
|
36
36
|
} else if (credentialRequest.format === 'vc+sd-jwt' && 'vct' in credentialRequest) {
|
|
37
37
|
types = [credentialRequest.vct];
|
|
38
|
+
} else if (credentialRequest.format === 'mso_mdoc' && 'doctype' in credentialRequest) {
|
|
39
|
+
types = [credentialRequest.doctype];
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
if (!types || types.length === 0) {
|
|
@@ -17,7 +17,7 @@ export function isNotFormat<T extends { format?: OID4VCICredentialFormat }, Form
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
const isUniformFormat = (format: string): format is OID4VCICredentialFormat => {
|
|
20
|
-
return ['jwt_vc_json', 'jwt_vc_json-ld', 'ldp_vc', 'vc+sd-jwt'].includes(format);
|
|
20
|
+
return ['jwt_vc_json', 'jwt_vc_json-ld', 'ldp_vc', 'vc+sd-jwt', 'mso_mdoc'].includes(format);
|
|
21
21
|
};
|
|
22
22
|
|
|
23
23
|
export function getUniformFormat(format: string | OID4VCICredentialFormat | CredentialFormat): OID4VCICredentialFormat {
|
|
@@ -60,7 +60,8 @@ const openIdFetch = async <T>(
|
|
|
60
60
|
): Promise<OpenIDResponse<T>> => {
|
|
61
61
|
const headers: Record<string, string> = opts?.customHeaders ?? {};
|
|
62
62
|
if (opts?.bearerToken) {
|
|
63
|
-
headers['Authorization'] =
|
|
63
|
+
headers['Authorization'] =
|
|
64
|
+
`${headers.dpop ? 'DPoP' : 'Bearer'} ${typeof opts.bearerToken === 'function' ? await opts.bearerToken() : opts.bearerToken}`;
|
|
64
65
|
}
|
|
65
66
|
const method = opts?.method ? opts.method : body ? 'POST' : 'GET';
|
|
66
67
|
const accept = opts?.accept ? opts.accept : 'application/json';
|
|
@@ -181,7 +181,7 @@ export function getIssuerDisplays(metadata: CredentialIssuerMetadata | IssuerMet
|
|
|
181
181
|
metadata.display?.filter(
|
|
182
182
|
(item) => !opts?.prefLocales || opts.prefLocales.length === 0 || (item.locale && opts.prefLocales.includes(item.locale)) || !item.locale,
|
|
183
183
|
) ?? [];
|
|
184
|
-
return matchedDisplays.sort((item) => (item.locale ? opts?.prefLocales.indexOf(item.locale) ?? 1 : Number.MAX_VALUE));
|
|
184
|
+
return matchedDisplays.sort((item) => (item.locale ? (opts?.prefLocales.indexOf(item.locale) ?? 1) : Number.MAX_VALUE));
|
|
185
185
|
}
|
|
186
186
|
|
|
187
187
|
/**
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
+
import { BaseJWK, JWK } from '@sphereon/oid4vc-common';
|
|
1
2
|
import Debug from 'debug';
|
|
2
3
|
import { jwtDecode } from 'jwt-decode';
|
|
3
4
|
|
|
4
5
|
import { PoPMode, VCI_LOG_COMMON } from '..';
|
|
5
6
|
import {
|
|
6
7
|
BAD_PARAMS,
|
|
7
|
-
BaseJWK,
|
|
8
|
-
JWK,
|
|
9
8
|
JWS_NOT_VALID,
|
|
10
9
|
Jwt,
|
|
11
10
|
JWTHeader,
|
|
@@ -27,11 +26,12 @@ const debug = Debug('sphereon:openid4vci:common');
|
|
|
27
26
|
* If exists, verifies the ProofOfPossession
|
|
28
27
|
* - proofOfPossessionCallbackArgs: ProofOfPossessionCallbackArgs
|
|
29
28
|
* arguments needed for signing ProofOfPossession
|
|
30
|
-
* @param callbacks:
|
|
31
29
|
* - proofOfPossessionCallback: JWTSignerCallback
|
|
32
30
|
* Mandatory to create (sign) ProofOfPossession
|
|
33
31
|
* - proofOfPossessionVerifierCallback?: JWTVerifyCallback
|
|
34
32
|
* If exists, verifies the ProofOfPossession
|
|
33
|
+
* @param popMode
|
|
34
|
+
* @param callbacks
|
|
35
35
|
* @param jwtProps
|
|
36
36
|
* @param existingJwt
|
|
37
37
|
* - Optional, clientId of the party requesting the credential
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { defaultHasher } from '@sphereon/oid4vc-common';
|
|
2
2
|
import * as u8a from 'uint8arrays';
|
|
3
3
|
import { SupportedEncodings } from 'uint8arrays/to-string';
|
|
4
4
|
|
|
@@ -26,7 +26,7 @@ export const createCodeChallenge = (codeVerifier: string, codeChallengeMethod?:
|
|
|
26
26
|
if (codeChallengeMethod === CodeChallengeMethod.plain) {
|
|
27
27
|
return codeVerifier;
|
|
28
28
|
} else if (!codeChallengeMethod || codeChallengeMethod === CodeChallengeMethod.S256) {
|
|
29
|
-
return u8a.toString(
|
|
29
|
+
return u8a.toString(defaultHasher(codeVerifier, 'sha256'), 'base64url');
|
|
30
30
|
} else {
|
|
31
31
|
// Just a precaution if a new method would be introduced
|
|
32
32
|
throw Error(`code challenge method ${codeChallengeMethod} not implemented`);
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
AuthorizationDetails,
|
|
3
|
+
CredentialConfigurationSupportedMsoMdocV1_0_13,
|
|
4
|
+
CredentialOfferPayload,
|
|
5
|
+
CredentialSupportedMsoMdoc,
|
|
6
|
+
UniformCredentialOfferPayload,
|
|
7
|
+
UniformCredentialOfferRequest,
|
|
8
|
+
VCI_LOG_COMMON,
|
|
9
|
+
} from '../index';
|
|
2
10
|
import {
|
|
3
11
|
CredentialConfigurationSupported,
|
|
4
12
|
CredentialConfigurationSupportedSdJwtVcV1_0_13,
|
|
5
13
|
CredentialDefinitionJwtVcJsonLdAndLdpVcV1_0_13,
|
|
6
14
|
CredentialDefinitionJwtVcJsonV1_0_13,
|
|
7
|
-
|
|
15
|
+
CredentialOfferFormatV1_0_11,
|
|
8
16
|
CredentialsSupportedLegacy,
|
|
9
17
|
CredentialSupportedSdJwtVc,
|
|
10
18
|
JsonLdIssuerCredentialDefinition,
|
|
@@ -12,7 +20,13 @@ import {
|
|
|
12
20
|
|
|
13
21
|
export function isW3cCredentialSupported(
|
|
14
22
|
supported: CredentialConfigurationSupported | CredentialsSupportedLegacy,
|
|
15
|
-
): supported is Exclude<
|
|
23
|
+
): supported is Exclude<
|
|
24
|
+
CredentialConfigurationSupported,
|
|
25
|
+
| CredentialConfigurationSupportedMsoMdocV1_0_13
|
|
26
|
+
| CredentialSupportedMsoMdoc
|
|
27
|
+
| CredentialConfigurationSupportedSdJwtVcV1_0_13
|
|
28
|
+
| CredentialSupportedSdJwtVc
|
|
29
|
+
> {
|
|
16
30
|
return ['jwt_vc_json', 'jwt_vc_json-ld', 'ldp_vc', 'jwt_vc'].includes(supported.format);
|
|
17
31
|
}
|
|
18
32
|
|
|
@@ -27,7 +41,7 @@ export const getNumberOrUndefined = (input?: string): number | undefined => {
|
|
|
27
41
|
export function getTypesFromObject(
|
|
28
42
|
subject:
|
|
29
43
|
| CredentialConfigurationSupported
|
|
30
|
-
|
|
|
44
|
+
| CredentialOfferFormatV1_0_11
|
|
31
45
|
| CredentialDefinitionJwtVcJsonLdAndLdpVcV1_0_13
|
|
32
46
|
| CredentialDefinitionJwtVcJsonV1_0_13
|
|
33
47
|
| JsonLdIssuerCredentialDefinition
|
|
@@ -49,7 +63,9 @@ export function getTypesFromObject(
|
|
|
49
63
|
} else if ('type' in subject && subject.type) {
|
|
50
64
|
return Array.isArray(subject.type) ? subject.type : [subject.type];
|
|
51
65
|
} else if ('vct' in subject && subject.vct) {
|
|
52
|
-
return [subject.vct];
|
|
66
|
+
return [subject.vct as string];
|
|
67
|
+
} else if ('doctype' in subject && subject.doctype) {
|
|
68
|
+
return [subject.doctype as string];
|
|
53
69
|
}
|
|
54
70
|
VCI_LOG_COMMON.warning('Could not deduce credential types. Probably a failure down the line will happen!');
|
|
55
71
|
return undefined;
|
|
@@ -104,6 +120,8 @@ export function getTypesFromCredentialSupported(
|
|
|
104
120
|
types = getTypesFromObject(credentialSupported) ?? [];
|
|
105
121
|
} else if (credentialSupported.format === 'vc+sd-jwt') {
|
|
106
122
|
types = [credentialSupported.vct];
|
|
123
|
+
} else if (credentialSupported.format === 'mso_mdoc') {
|
|
124
|
+
types = [credentialSupported.doctype];
|
|
107
125
|
}
|
|
108
126
|
|
|
109
127
|
if (!types || types.length === 0) {
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { CreateDPoPClientOpts } from '@sphereon/oid4vc-common';
|
|
2
|
+
|
|
1
3
|
import { Alg, CredentialOfferPayload, ProofOfPossessionCallbacks, UniformCredentialOffer } from './CredentialIssuance.types';
|
|
2
4
|
import {
|
|
3
5
|
ErrorResponse,
|
|
@@ -72,10 +74,15 @@ export interface CommonAuthorizationRequest {
|
|
|
72
74
|
* string type added for conformity with our previous code in the client
|
|
73
75
|
*/
|
|
74
76
|
export type AuthorizationDetails =
|
|
75
|
-
| (CommonAuthorizationDetails &
|
|
77
|
+
| (CommonAuthorizationDetails &
|
|
78
|
+
(AuthorizationDetailsJwtVcJson | AuthorizationDetailsJwtVcJsonLdAndLdpVc | AuthorizationDetailsSdJwtVc | AuthorizationDetailsMsoMdoc))
|
|
76
79
|
| string;
|
|
77
80
|
|
|
78
|
-
export type AuthorizationRequest =
|
|
81
|
+
export type AuthorizationRequest =
|
|
82
|
+
| AuthorizationRequestJwtVcJson
|
|
83
|
+
| AuthorizationRequestJwtVcJsonLdAndLdpVc
|
|
84
|
+
| AuthorizationRequestSdJwtVc
|
|
85
|
+
| AuthorizationRequestMsoMdoc;
|
|
79
86
|
|
|
80
87
|
export interface AuthorizationRequestJwtVcJson extends CommonAuthorizationRequest {
|
|
81
88
|
authorization_details?: AuthorizationDetailsJwtVcJson[];
|
|
@@ -89,6 +96,10 @@ export interface AuthorizationRequestSdJwtVc extends CommonAuthorizationRequest
|
|
|
89
96
|
authorization_details?: AuthorizationDetailsSdJwtVc[];
|
|
90
97
|
}
|
|
91
98
|
|
|
99
|
+
export interface AuthorizationRequestMsoMdoc extends CommonAuthorizationRequest {
|
|
100
|
+
authorization_details?: AuthorizationDetailsMsoMdoc[];
|
|
101
|
+
}
|
|
102
|
+
|
|
92
103
|
/*
|
|
93
104
|
export interface AuthDetails {
|
|
94
105
|
type: 'openid_credential' | string;
|
|
@@ -162,6 +173,13 @@ export interface AuthorizationDetailsSdJwtVc extends CommonAuthorizationDetails
|
|
|
162
173
|
claims?: IssuerCredentialSubject;
|
|
163
174
|
}
|
|
164
175
|
|
|
176
|
+
export interface AuthorizationDetailsMsoMdoc extends CommonAuthorizationDetails {
|
|
177
|
+
format: 'mso_mdoc';
|
|
178
|
+
|
|
179
|
+
doctype: string;
|
|
180
|
+
claims?: IssuerCredentialSubject;
|
|
181
|
+
}
|
|
182
|
+
|
|
165
183
|
export enum GrantTypes {
|
|
166
184
|
AUTHORIZATION_CODE = 'authorization_code',
|
|
167
185
|
PRE_AUTHORIZED_CODE = 'urn:ietf:params:oauth:grant-type:pre-authorized_code',
|
|
@@ -219,6 +237,10 @@ export interface AccessTokenRequestOpts {
|
|
|
219
237
|
redirectUri?: string; // only required for authorization flow
|
|
220
238
|
pin?: string; // Pin-number. Only used when required
|
|
221
239
|
pinMetadata?: TxCodeAndPinRequired; // OPTIONAL. String value containing a Transaction Code. This value MUST be present if a tx_code object was present in the Credential Offer (including if the object was empty). This parameter MUST only be used if the grant_type is urn:ietf:params:oauth:grant-type:pre-authorized_code.
|
|
240
|
+
// if the CreateDPoPOpts are provided, a dPoP will be created using the provided callback,
|
|
241
|
+
// if the authorization server indicates that it supports dPoP via the dpop_signing_alg_values_supported parameter.
|
|
242
|
+
createDPoPOpts?: CreateDPoPClientOpts;
|
|
243
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
222
244
|
additionalParams?: Record<string, any>;
|
|
223
245
|
}
|
|
224
246
|
|
|
@@ -278,6 +300,7 @@ export enum CreateRequestObjectMode {
|
|
|
278
300
|
export type RequestObjectOpts = {
|
|
279
301
|
requestObjectMode?: CreateRequestObjectMode;
|
|
280
302
|
signCallbacks?: ProofOfPossessionCallbacks<never>;
|
|
303
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
281
304
|
clientMetadata?: Record<string, any>; // TODO: Merge SIOP/OID4VP
|
|
282
305
|
iss?: string;
|
|
283
306
|
jwksUri?: string;
|
|
@@ -317,10 +340,15 @@ export interface AccessTokenRequest {
|
|
|
317
340
|
[s: string]: unknown;
|
|
318
341
|
}
|
|
319
342
|
|
|
320
|
-
export interface OpenIDResponse<T> {
|
|
343
|
+
export interface OpenIDResponse<T, P = never> {
|
|
321
344
|
origResponse: Response;
|
|
322
345
|
successBody?: T;
|
|
323
346
|
errorBody?: ErrorResponse;
|
|
347
|
+
params?: P;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
export interface DPoPResponseParams {
|
|
351
|
+
dpop?: { dpopNonce: string };
|
|
324
352
|
}
|
|
325
353
|
|
|
326
354
|
export interface AccessTokenResponse {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseJWK } from '@sphereon/oid4vc-common';
|
|
2
|
+
import { IVerifiableCredential } from '@sphereon/ssi-types';
|
|
2
3
|
|
|
3
4
|
import { ExperimentalSubjectIssuance } from '../experimental/holder-vci';
|
|
4
5
|
|
|
@@ -11,7 +12,7 @@ import { CredentialOfferPayloadV1_0_11, CredentialOfferV1_0_11, CredentialReques
|
|
|
11
12
|
import { CredentialOfferPayloadV1_0_13, CredentialOfferV1_0_13, CredentialRequestV1_0_13 } from './v1_0_13.types';
|
|
12
13
|
|
|
13
14
|
export interface CredentialResponse extends ExperimentalSubjectIssuance {
|
|
14
|
-
credential?:
|
|
15
|
+
credential?: IVerifiableCredential | string; // OPTIONAL. Contains issued Credential. MUST be present when acceptance_token is not returned. MAY be a JSON string or a JSON object, depending on the Credential format. See Appendix E for the Credential format specific encoding requirements
|
|
15
16
|
format?: OID4VCICredentialFormat /* | OID4VCICredentialFormat[]*/; // REQUIRED. JSON string denoting the format of the issued Credential TODO: remove when cleaning <v13
|
|
16
17
|
transaction_id?: string; //OPTIONAL. A string identifying a Deferred Issuance transaction. This claim is contained in the response if the Credential Issuer was unable to immediately issue the credential. The value is subsequently used to obtain the respective Credential with the Deferred Credential Endpoint (see Section 9). It MUST be present when the credential parameter is not returned. It MUST be invalidated after the credential for which it was meant has been obtained by the Wallet.
|
|
17
18
|
acceptance_token?: string; //deprecated // OPTIONAL. A JSON string containing a security token subsequently used to obtain a Credential. MUST be present when credential is not returned
|
|
@@ -20,10 +21,6 @@ export interface CredentialResponse extends ExperimentalSubjectIssuance {
|
|
|
20
21
|
notification_id?: string;
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
export interface IssuerSessionResponse {
|
|
24
|
-
session_id: string
|
|
25
|
-
}
|
|
26
|
-
|
|
27
24
|
export interface CredentialOfferRequestWithBaseUrl extends UniformCredentialOfferRequest {
|
|
28
25
|
scheme: string;
|
|
29
26
|
clientId?: string;
|
|
@@ -98,41 +95,6 @@ export type DecodeURIAsJsonOpts = {
|
|
|
98
95
|
arrayTypeProperties?: string[];
|
|
99
96
|
};
|
|
100
97
|
|
|
101
|
-
export interface BaseJWK {
|
|
102
|
-
kty?: string;
|
|
103
|
-
crv?: string;
|
|
104
|
-
x?: string;
|
|
105
|
-
y?: string;
|
|
106
|
-
e?: string;
|
|
107
|
-
n?: string;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export interface JWK extends BaseJWK {
|
|
111
|
-
alg?: string;
|
|
112
|
-
d?: string;
|
|
113
|
-
dp?: string;
|
|
114
|
-
dq?: string;
|
|
115
|
-
ext?: boolean;
|
|
116
|
-
k?: string;
|
|
117
|
-
key_ops?: string[];
|
|
118
|
-
kid?: string;
|
|
119
|
-
oth?: Array<{
|
|
120
|
-
d?: string;
|
|
121
|
-
r?: string;
|
|
122
|
-
t?: string;
|
|
123
|
-
}>;
|
|
124
|
-
p?: string;
|
|
125
|
-
q?: string;
|
|
126
|
-
qi?: string;
|
|
127
|
-
use?: string;
|
|
128
|
-
x5c?: string[];
|
|
129
|
-
x5t?: string;
|
|
130
|
-
'x5t#S256'?: string;
|
|
131
|
-
x5u?: string;
|
|
132
|
-
|
|
133
|
-
[propName: string]: unknown;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
98
|
export interface Jwt {
|
|
137
99
|
header: JWTHeader;
|
|
138
100
|
payload: JWTPayload;
|