@sphereon/oid4vci-common 0.10.4-unstable.81 → 0.12.0
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/events/index.d.ts +17 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +21 -0
- package/dist/events/index.js.map +1 -0
- package/dist/experimental/holder-vci.d.ts +13 -0
- package/dist/experimental/holder-vci.d.ts.map +1 -0
- package/dist/experimental/holder-vci.js +9 -0
- package/dist/experimental/holder-vci.js.map +1 -0
- package/dist/functions/CredentialOfferUtil.d.ts +3 -7
- package/dist/functions/CredentialOfferUtil.d.ts.map +1 -1
- package/dist/functions/CredentialOfferUtil.js +63 -64
- package/dist/functions/CredentialOfferUtil.js.map +1 -1
- package/dist/functions/CredentialRequestUtil.d.ts.map +1 -1
- package/dist/functions/CredentialRequestUtil.js +7 -10
- package/dist/functions/CredentialRequestUtil.js.map +1 -1
- package/dist/functions/CredentialResponseUtil.d.ts +3 -1
- package/dist/functions/CredentialResponseUtil.d.ts.map +1 -1
- package/dist/functions/CredentialResponseUtil.js +1 -1
- package/dist/functions/CredentialResponseUtil.js.map +1 -1
- package/dist/functions/IssuerMetadataUtils.d.ts +10 -3
- package/dist/functions/IssuerMetadataUtils.d.ts.map +1 -1
- package/dist/functions/IssuerMetadataUtils.js +147 -30
- package/dist/functions/IssuerMetadataUtils.js.map +1 -1
- package/dist/functions/ProofUtil.d.ts +38 -0
- package/dist/functions/ProofUtil.d.ts.map +1 -0
- package/dist/functions/ProofUtil.js +141 -0
- package/dist/functions/ProofUtil.js.map +1 -0
- package/dist/functions/index.d.ts +1 -0
- package/dist/functions/index.d.ts.map +1 -1
- package/dist/functions/index.js +1 -0
- package/dist/functions/index.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/types/Authorization.types.d.ts +15 -1
- package/dist/types/Authorization.types.d.ts.map +1 -1
- package/dist/types/Authorization.types.js +7 -1
- package/dist/types/Authorization.types.js.map +1 -1
- package/dist/types/CredentialIssuance.types.d.ts +7 -3
- 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 +21 -3
- package/dist/types/Generic.types.d.ts.map +1 -1
- package/dist/types/Generic.types.js.map +1 -1
- package/dist/types/StateManager.types.d.ts +1 -0
- package/dist/types/StateManager.types.d.ts.map +1 -1
- package/dist/types/StateManager.types.js.map +1 -1
- package/dist/types/v1_0_11.types.d.ts +2 -1
- package/dist/types/v1_0_11.types.d.ts.map +1 -1
- package/dist/types/v1_0_11.types.js.map +1 -1
- package/dist/types/v1_0_13.types.d.ts +6 -9
- package/dist/types/v1_0_13.types.d.ts.map +1 -1
- package/lib/__tests__/CredentialOfferUtil.spec.ts +19 -3
- package/lib/events/index.ts +20 -0
- package/lib/experimental/holder-vci.ts +19 -0
- package/lib/functions/CredentialOfferUtil.ts +57 -60
- package/lib/functions/CredentialRequestUtil.ts +8 -11
- package/lib/functions/CredentialResponseUtil.ts +4 -4
- package/lib/functions/IssuerMetadataUtils.ts +141 -38
- package/lib/functions/ProofUtil.ts +185 -0
- package/lib/functions/index.ts +1 -0
- package/lib/index.ts +7 -0
- package/lib/types/Authorization.types.ts +17 -1
- package/lib/types/CredentialIssuance.types.ts +8 -3
- package/lib/types/Generic.types.ts +38 -12
- package/lib/types/StateManager.types.ts +1 -0
- package/lib/types/v1_0_11.types.ts +3 -0
- package/lib/types/v1_0_13.types.ts +19 -14
- package/package.json +3 -11
|
@@ -1,51 +1,141 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getIssuerName = exports.getIssuerDisplays = exports.credentialSupportedV8ToV13 = exports.credentialsSupportedV8ToV13 = exports.getTypesFromCredentialSupported = exports.getSupportedCredential = exports.getSupportedCredentials = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
3
|
+
exports.getTypesFromObject = exports.getIssuerName = exports.getIssuerDisplays = exports.credentialSupportedV8ToV13 = exports.credentialsSupportedV8ToV13 = exports.getTypesFromCredentialSupported = exports.getSupportedCredential = exports.determineVersionsFromIssuerMetadata = exports.getSupportedCredentials = void 0;
|
|
4
|
+
const index_1 = require("../index");
|
|
5
|
+
const types_1 = require("../types");
|
|
6
|
+
function getSupportedCredentials(opts) {
|
|
7
|
+
const { version = types_1.OpenId4VCIVersion.VER_1_0_13, types } = opts !== null && opts !== void 0 ? opts : {};
|
|
8
|
+
if (types && Array.isArray(types)) {
|
|
9
|
+
if (version < types_1.OpenId4VCIVersion.VER_1_0_13) {
|
|
10
|
+
return types.flatMap((typeSet) => getSupportedCredential(Object.assign(Object.assign({}, opts), { version, types: typeSet })));
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
return types
|
|
14
|
+
.map((typeSet) => {
|
|
15
|
+
return getSupportedCredential(Object.assign(Object.assign({}, opts), { version, types: typeSet }));
|
|
16
|
+
})
|
|
17
|
+
.reduce((acc, result) => {
|
|
18
|
+
Object.assign(acc, result);
|
|
19
|
+
return acc;
|
|
20
|
+
}, {});
|
|
21
|
+
}
|
|
14
22
|
}
|
|
15
|
-
return getSupportedCredential(
|
|
23
|
+
return getSupportedCredential(opts ? Object.assign(Object.assign({}, opts), { types: undefined }) : undefined);
|
|
16
24
|
}
|
|
17
25
|
exports.getSupportedCredentials = getSupportedCredentials;
|
|
26
|
+
function determineVersionsFromIssuerMetadata(issuerMetadata) {
|
|
27
|
+
const versions = new Set();
|
|
28
|
+
if ('authorization_server' in issuerMetadata) {
|
|
29
|
+
versions.add(types_1.OpenId4VCIVersion.VER_1_0_11);
|
|
30
|
+
}
|
|
31
|
+
else if ('authorization_servers' in issuerMetadata) {
|
|
32
|
+
versions.add(types_1.OpenId4VCIVersion.VER_1_0_13);
|
|
33
|
+
}
|
|
34
|
+
if (versions.size === 0) {
|
|
35
|
+
// The above checks where already very specific and only applicable to single versions we support, so let's skip if we encounter them
|
|
36
|
+
if ('credential_configurations_supported' in issuerMetadata) {
|
|
37
|
+
versions.add(types_1.OpenId4VCIVersion.VER_1_0_13);
|
|
38
|
+
}
|
|
39
|
+
else if ('credentials_supported' in issuerMetadata) {
|
|
40
|
+
if (typeof issuerMetadata.credentials_supported === 'object') {
|
|
41
|
+
versions.add(types_1.OpenId4VCIVersion.VER_1_0_08);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
versions.add(types_1.OpenId4VCIVersion.VER_1_0_09).add(types_1.OpenId4VCIVersion.VER_1_0_11);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (versions.size === 0) {
|
|
49
|
+
versions.add(types_1.OpenId4VCIVersion.VER_UNKNOWN);
|
|
50
|
+
}
|
|
51
|
+
return Array.from(versions).sort().reverse(); // highest version first
|
|
52
|
+
}
|
|
53
|
+
exports.determineVersionsFromIssuerMetadata = determineVersionsFromIssuerMetadata;
|
|
18
54
|
function getSupportedCredential(opts) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
55
|
+
var _a, _b;
|
|
56
|
+
const { issuerMetadata, types, format, version = types_1.OpenId4VCIVersion.VER_1_0_13 } = opts !== null && opts !== void 0 ? opts : {};
|
|
57
|
+
let credentialConfigurationsV11 = undefined;
|
|
58
|
+
let credentialConfigurationsV13 = undefined;
|
|
59
|
+
if (version < types_1.OpenId4VCIVersion.VER_1_0_12 || (issuerMetadata === null || issuerMetadata === void 0 ? void 0 : issuerMetadata.credentials_supported)) {
|
|
60
|
+
if ((issuerMetadata === null || issuerMetadata === void 0 ? void 0 : issuerMetadata.credentials_supported) && !Array.isArray(issuerMetadata === null || issuerMetadata === void 0 ? void 0 : issuerMetadata.credentials_supported)) {
|
|
61
|
+
// The current code duplication and logic is such a mess, that we re-adjust the object to the proper type again
|
|
62
|
+
credentialConfigurationsV11 = [];
|
|
63
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
64
|
+
Object.entries(issuerMetadata.credentials_supported).forEach(([id, supported]) => {
|
|
65
|
+
if (!supported.id) {
|
|
66
|
+
supported.id = id;
|
|
67
|
+
}
|
|
68
|
+
credentialConfigurationsV11 === null || credentialConfigurationsV11 === void 0 ? void 0 : credentialConfigurationsV11.push(supported);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
credentialConfigurationsV11 = (_a = issuerMetadata === null || issuerMetadata === void 0 ? void 0 : issuerMetadata.credentials_supported) !== null && _a !== void 0 ? _a : [];
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
credentialConfigurationsV13 =
|
|
77
|
+
(_b = issuerMetadata === null || issuerMetadata === void 0 ? void 0 : issuerMetadata.credential_configurations_supported) !== null && _b !== void 0 ? _b : {};
|
|
78
|
+
}
|
|
79
|
+
if (!issuerMetadata || (!issuerMetadata.credential_configurations_supported && !issuerMetadata.credentials_supported)) {
|
|
80
|
+
index_1.VCI_LOG_COMMON.warning(`No credential issuer metadata or supported credentials found for issuer}`);
|
|
81
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
82
|
+
return version < types_1.OpenId4VCIVersion.VER_1_0_13 ? credentialConfigurationsV11 : credentialConfigurationsV13;
|
|
22
83
|
}
|
|
23
|
-
const credentialConfigurations = issuerMetadata.credential_configurations_supported;
|
|
24
84
|
const normalizedTypes = Array.isArray(types) ? types : types ? [types] : [];
|
|
25
85
|
const normalizedFormats = Array.isArray(format) ? format : format ? [format] : [];
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
if (isTypeMatch
|
|
30
|
-
|
|
86
|
+
function filterMatchingConfig(config) {
|
|
87
|
+
let isTypeMatch = normalizedTypes.length === 0;
|
|
88
|
+
const types = getTypesFromObject(config);
|
|
89
|
+
if (!isTypeMatch) {
|
|
90
|
+
if (normalizedTypes.length === 1 && config.id === normalizedTypes[0]) {
|
|
91
|
+
isTypeMatch = true;
|
|
92
|
+
}
|
|
93
|
+
else if (types) {
|
|
94
|
+
isTypeMatch = normalizedTypes.every((type) => types.includes(type));
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
if ('credential_definition' in config) {
|
|
98
|
+
isTypeMatch = normalizedTypes.every((type) => { var _a; return (_a = config.credential_definition.type) === null || _a === void 0 ? void 0 : _a.includes(type); });
|
|
99
|
+
}
|
|
100
|
+
else if ('type' in config && Array.isArray(config.type)) {
|
|
101
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
102
|
+
// @ts-ignore
|
|
103
|
+
isTypeMatch = normalizedTypes.every((type) => config.type.includes(type));
|
|
104
|
+
}
|
|
105
|
+
else if ('types' in config) {
|
|
106
|
+
isTypeMatch = normalizedTypes.every((type) => { var _a; return (_a = config.types) === null || _a === void 0 ? void 0 : _a.includes(type); });
|
|
107
|
+
}
|
|
108
|
+
}
|
|
31
109
|
}
|
|
32
|
-
|
|
33
|
-
|
|
110
|
+
const isFormatMatch = normalizedFormats.length === 0 || normalizedFormats.includes(config.format);
|
|
111
|
+
return isTypeMatch && isFormatMatch ? config : undefined;
|
|
112
|
+
}
|
|
113
|
+
if (credentialConfigurationsV13) {
|
|
114
|
+
return Object.entries(credentialConfigurationsV13).reduce((filteredConfigs, [id, config]) => {
|
|
115
|
+
if (filterMatchingConfig(config)) {
|
|
116
|
+
filteredConfigs[id] = config;
|
|
117
|
+
// Added to enable support < 13. We basically assign the
|
|
118
|
+
if (!config.id) {
|
|
119
|
+
config.id = id;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return filteredConfigs;
|
|
123
|
+
}, {});
|
|
124
|
+
}
|
|
125
|
+
else if (credentialConfigurationsV11) {
|
|
126
|
+
return credentialConfigurationsV11.filter((config) => filterMatchingConfig(config));
|
|
127
|
+
}
|
|
128
|
+
throw Error(`Either < v11 configurations or V13 configurations should have been filtered at this point`);
|
|
34
129
|
}
|
|
35
130
|
exports.getSupportedCredential = getSupportedCredential;
|
|
36
131
|
function getTypesFromCredentialSupported(credentialSupported, opts) {
|
|
37
|
-
var _a
|
|
132
|
+
var _a;
|
|
38
133
|
let types = [];
|
|
39
134
|
if (credentialSupported.format === 'jwt_vc_json' ||
|
|
40
135
|
credentialSupported.format === 'jwt_vc' ||
|
|
41
136
|
credentialSupported.format === 'jwt_vc_json-ld' ||
|
|
42
137
|
credentialSupported.format === 'ldp_vc') {
|
|
43
|
-
types =
|
|
44
|
-
(_b = (credentialSupported.types
|
|
45
|
-
? credentialSupported.types
|
|
46
|
-
: 'credential_definition' in credentialSupported
|
|
47
|
-
? (_a = credentialSupported.credential_definition) === null || _a === void 0 ? void 0 : _a.type
|
|
48
|
-
: [])) !== null && _b !== void 0 ? _b : [];
|
|
138
|
+
types = (_a = getTypesFromObject(credentialSupported)) !== null && _a !== void 0 ? _a : [];
|
|
49
139
|
}
|
|
50
140
|
else if (credentialSupported.format === 'vc+sd-jwt') {
|
|
51
141
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -106,4 +196,31 @@ function getIssuerName(url, credentialIssuerMetadata) {
|
|
|
106
196
|
return url;
|
|
107
197
|
}
|
|
108
198
|
exports.getIssuerName = getIssuerName;
|
|
199
|
+
/**
|
|
200
|
+
* The specs had many places where types could be expressed. This method ensures we get them in any way possible
|
|
201
|
+
* @param subject
|
|
202
|
+
*/
|
|
203
|
+
function getTypesFromObject(subject) {
|
|
204
|
+
if (subject === undefined) {
|
|
205
|
+
return undefined;
|
|
206
|
+
}
|
|
207
|
+
else if (typeof subject === 'string') {
|
|
208
|
+
return [subject];
|
|
209
|
+
}
|
|
210
|
+
else if ('credential_definition' in subject && subject.credential_definition) {
|
|
211
|
+
return getTypesFromObject(subject.credential_definition);
|
|
212
|
+
}
|
|
213
|
+
else if ('types' in subject && subject.types) {
|
|
214
|
+
return Array.isArray(subject.types) ? subject.types : [subject.types];
|
|
215
|
+
}
|
|
216
|
+
else if ('type' in subject && subject.type) {
|
|
217
|
+
return Array.isArray(subject.type) ? subject.type : [subject.type];
|
|
218
|
+
}
|
|
219
|
+
else if ('vct' in subject && subject.vct) {
|
|
220
|
+
return [subject.vct];
|
|
221
|
+
}
|
|
222
|
+
index_1.VCI_LOG_COMMON.warning('Could not deduce credential types. Probably a failure down the line will happen!');
|
|
223
|
+
return undefined;
|
|
224
|
+
}
|
|
225
|
+
exports.getTypesFromObject = getTypesFromObject;
|
|
109
226
|
//# sourceMappingURL=IssuerMetadataUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IssuerMetadataUtils.js","sourceRoot":"","sources":["../../lib/functions/IssuerMetadataUtils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"IssuerMetadataUtils.js","sourceRoot":"","sources":["../../lib/functions/IssuerMetadataUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { PoPMode } from '..';
|
|
2
|
+
import { JWK, Jwt, JWTVerifyCallback, JwtVerifyResult, ProofOfPossession, ProofOfPossessionCallbacks, Typ } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* - proofOfPossessionCallback: JWTSignerCallback
|
|
6
|
+
* Mandatory if you want to create (sign) ProofOfPossession
|
|
7
|
+
* - proofOfPossessionVerifierCallback?: JWTVerifyCallback
|
|
8
|
+
* If exists, verifies the ProofOfPossession
|
|
9
|
+
* - proofOfPossessionCallbackArgs: ProofOfPossessionCallbackArgs
|
|
10
|
+
* arguments needed for signing ProofOfPossession
|
|
11
|
+
* @param callbacks:
|
|
12
|
+
* - proofOfPossessionCallback: JWTSignerCallback
|
|
13
|
+
* Mandatory to create (sign) ProofOfPossession
|
|
14
|
+
* - proofOfPossessionVerifierCallback?: JWTVerifyCallback
|
|
15
|
+
* If exists, verifies the ProofOfPossession
|
|
16
|
+
* @param jwtProps
|
|
17
|
+
* @param existingJwt
|
|
18
|
+
* - Optional, clientId of the party requesting the credential
|
|
19
|
+
*/
|
|
20
|
+
export declare const createProofOfPossession: <DIDDoc>(popMode: PoPMode, callbacks: ProofOfPossessionCallbacks<DIDDoc>, jwtProps?: JwtProps, existingJwt?: Jwt) => Promise<ProofOfPossession>;
|
|
21
|
+
export declare const isJWS: (token: string) => boolean;
|
|
22
|
+
export declare const extractBearerToken: (authorizationHeader?: string) => string | undefined;
|
|
23
|
+
export declare const validateJWT: (jwt?: string, opts?: {
|
|
24
|
+
kid?: string;
|
|
25
|
+
accessTokenVerificationCallback?: JWTVerifyCallback<never>;
|
|
26
|
+
}) => Promise<JwtVerifyResult<any>>;
|
|
27
|
+
export interface JwtProps {
|
|
28
|
+
typ?: Typ;
|
|
29
|
+
kid?: string;
|
|
30
|
+
jwk?: JWK;
|
|
31
|
+
aud?: string | string[];
|
|
32
|
+
issuer?: string;
|
|
33
|
+
clientId?: string;
|
|
34
|
+
alg?: string;
|
|
35
|
+
jti?: string;
|
|
36
|
+
nonce?: string;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=ProofUtil.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProofUtil.d.ts","sourceRoot":"","sources":["../../lib/functions/ProofUtil.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAkB,MAAM,IAAI,CAAC;AAC7C,OAAO,EAGL,GAAG,EAEH,GAAG,EAGH,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,0BAA0B,EAC1B,GAAG,EACJ,MAAM,UAAU,CAAC;AAIlB;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,uBAAuB,oBACzB,OAAO,aACL,2BAA2B,MAAM,CAAC,aAClC,QAAQ,gBACL,GAAG,KAChB,QAAQ,iBAAiB,CA0B3B,CAAC;AAQF,eAAO,MAAM,KAAK,UAAW,MAAM,KAAG,OAOrC,CAAC;AAEF,eAAO,MAAM,kBAAkB,yBAA0B,MAAM,KAAG,MAAM,GAAG,SAE1E,CAAC;AAEF,eAAO,MAAM,WAAW,SAChB,MAAM,SACL;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,+BAA+B,CAAC,EAAE,kBAAkB,KAAK,CAAC,CAAA;CAAE,KAClF,QAAQ,gBAAgB,GAAG,CAAC,CAkB9B,CAAC;AAEF,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.validateJWT = exports.extractBearerToken = exports.isJWS = exports.createProofOfPossession = void 0;
|
|
16
|
+
const debug_1 = __importDefault(require("debug"));
|
|
17
|
+
const jwt_decode_1 = __importDefault(require("jwt-decode"));
|
|
18
|
+
const __1 = require("..");
|
|
19
|
+
const types_1 = require("../types");
|
|
20
|
+
const debug = (0, debug_1.default)('sphereon:openid4vci:common');
|
|
21
|
+
/**
|
|
22
|
+
*
|
|
23
|
+
* - proofOfPossessionCallback: JWTSignerCallback
|
|
24
|
+
* Mandatory if you want to create (sign) ProofOfPossession
|
|
25
|
+
* - proofOfPossessionVerifierCallback?: JWTVerifyCallback
|
|
26
|
+
* If exists, verifies the ProofOfPossession
|
|
27
|
+
* - proofOfPossessionCallbackArgs: ProofOfPossessionCallbackArgs
|
|
28
|
+
* arguments needed for signing ProofOfPossession
|
|
29
|
+
* @param callbacks:
|
|
30
|
+
* - proofOfPossessionCallback: JWTSignerCallback
|
|
31
|
+
* Mandatory to create (sign) ProofOfPossession
|
|
32
|
+
* - proofOfPossessionVerifierCallback?: JWTVerifyCallback
|
|
33
|
+
* If exists, verifies the ProofOfPossession
|
|
34
|
+
* @param jwtProps
|
|
35
|
+
* @param existingJwt
|
|
36
|
+
* - Optional, clientId of the party requesting the credential
|
|
37
|
+
*/
|
|
38
|
+
const createProofOfPossession = (popMode, callbacks, jwtProps, existingJwt) => __awaiter(void 0, void 0, void 0, function* () {
|
|
39
|
+
if (!callbacks.signCallback) {
|
|
40
|
+
debug(`no jwt signer callback or arguments supplied!`);
|
|
41
|
+
throw new Error(types_1.BAD_PARAMS);
|
|
42
|
+
}
|
|
43
|
+
const signerArgs = createJWT(popMode, jwtProps, existingJwt);
|
|
44
|
+
const jwt = yield callbacks.signCallback(signerArgs, signerArgs.header.kid);
|
|
45
|
+
const proof = {
|
|
46
|
+
proof_type: 'jwt',
|
|
47
|
+
jwt,
|
|
48
|
+
};
|
|
49
|
+
try {
|
|
50
|
+
partiallyValidateJWS(jwt);
|
|
51
|
+
if (callbacks.verifyCallback) {
|
|
52
|
+
debug(`Calling supplied verify callback....`);
|
|
53
|
+
yield callbacks.verifyCallback({ jwt, kid: signerArgs.header.kid });
|
|
54
|
+
debug(`Supplied verify callback return success result`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (_a) {
|
|
58
|
+
debug(`JWS was not valid`);
|
|
59
|
+
throw new Error(types_1.JWS_NOT_VALID);
|
|
60
|
+
}
|
|
61
|
+
debug(`Proof of Possession JWT:\r\n${jwt}`);
|
|
62
|
+
return proof;
|
|
63
|
+
});
|
|
64
|
+
exports.createProofOfPossession = createProofOfPossession;
|
|
65
|
+
const partiallyValidateJWS = (jws) => {
|
|
66
|
+
if (jws.split('.').length !== 3 || !jws.startsWith('ey')) {
|
|
67
|
+
throw new Error(types_1.JWS_NOT_VALID);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
const isJWS = (token) => {
|
|
71
|
+
try {
|
|
72
|
+
partiallyValidateJWS(token);
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
catch (e) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
exports.isJWS = isJWS;
|
|
80
|
+
const extractBearerToken = (authorizationHeader) => {
|
|
81
|
+
var _a;
|
|
82
|
+
return authorizationHeader ? (_a = /Bearer (.*)/i.exec(authorizationHeader)) === null || _a === void 0 ? void 0 : _a[1] : undefined;
|
|
83
|
+
};
|
|
84
|
+
exports.extractBearerToken = extractBearerToken;
|
|
85
|
+
const validateJWT = (jwt, opts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
86
|
+
if (!jwt) {
|
|
87
|
+
throw Error('No JWT was supplied');
|
|
88
|
+
}
|
|
89
|
+
if (!(opts === null || opts === void 0 ? void 0 : opts.accessTokenVerificationCallback)) {
|
|
90
|
+
__1.VCI_LOG_COMMON.warning(`No access token verification callback supplied. Access tokens will not be verified, except for a very basic check`);
|
|
91
|
+
partiallyValidateJWS(jwt);
|
|
92
|
+
const header = (0, jwt_decode_1.default)(jwt, { header: true });
|
|
93
|
+
const payload = (0, jwt_decode_1.default)(jwt, { header: false });
|
|
94
|
+
return Object.assign(Object.assign({ jwt: { header, payload } }, header), payload);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
return yield opts.accessTokenVerificationCallback({ jwt, kid: opts.kid });
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
exports.validateJWT = validateJWT;
|
|
101
|
+
const createJWT = (mode, jwtProps, existingJwt) => {
|
|
102
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
103
|
+
const aud = mode === 'pop'
|
|
104
|
+
? getJwtProperty('aud', true, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.issuer, (_a = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _a === void 0 ? void 0 : _a.aud)
|
|
105
|
+
: getJwtProperty('aud', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.aud, (_b = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _b === void 0 ? void 0 : _b.aud);
|
|
106
|
+
const iss =
|
|
107
|
+
// mode === 'pop'
|
|
108
|
+
getJwtProperty('iss', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.clientId, (_c = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _c === void 0 ? void 0 : _c.iss);
|
|
109
|
+
// : getJwtProperty<string>('iss', false, jwtProps?.issuer, existingJwt?.payload?.iss);
|
|
110
|
+
const client_id = mode === 'jwt' ? getJwtProperty('client_id', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.clientId, (_d = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _d === void 0 ? void 0 : _d.client_id) : undefined;
|
|
111
|
+
const jti = getJwtProperty('jti', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.jti, (_e = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _e === void 0 ? void 0 : _e.jti);
|
|
112
|
+
const typ = getJwtProperty('typ', true, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.typ, (_f = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.header) === null || _f === void 0 ? void 0 : _f.typ, 'jwt');
|
|
113
|
+
const nonce = getJwtProperty('nonce', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.nonce, (_g = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _g === void 0 ? void 0 : _g.nonce); // Officially this is required, but some implementations don't have it
|
|
114
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
115
|
+
const alg = getJwtProperty('alg', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.alg, (_h = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.header) === null || _h === void 0 ? void 0 : _h.alg, 'ES256');
|
|
116
|
+
const kid = getJwtProperty('kid', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.kid, (_j = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.header) === null || _j === void 0 ? void 0 : _j.kid);
|
|
117
|
+
const jwk = getJwtProperty('jwk', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.jwk, (_k = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.header) === null || _k === void 0 ? void 0 : _k.jwk);
|
|
118
|
+
const jwt = existingJwt ? existingJwt : {};
|
|
119
|
+
const now = +new Date();
|
|
120
|
+
const jwtPayload = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (aud && { aud })), { iat: (_m = (_l = jwt.payload) === null || _l === void 0 ? void 0 : _l.iat) !== null && _m !== void 0 ? _m : Math.round(now / 1000 - 60), exp: (_p = (_o = jwt.payload) === null || _o === void 0 ? void 0 : _o.exp) !== null && _p !== void 0 ? _p : Math.round(now / 1000 + 10 * 60), nonce }), (client_id && { client_id })), (iss && { iss })), (jti && { jti }));
|
|
121
|
+
const jwtHeader = Object.assign(Object.assign({ typ,
|
|
122
|
+
alg }, (kid && { kid })), (jwk && { jwk }));
|
|
123
|
+
return {
|
|
124
|
+
payload: Object.assign(Object.assign({}, jwt.payload), jwtPayload),
|
|
125
|
+
header: Object.assign(Object.assign({}, jwt.header), jwtHeader),
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
const getJwtProperty = (propertyName, required, option, jwtProperty, defaultValue) => {
|
|
129
|
+
if (typeof option === 'string' && option && jwtProperty && option !== jwtProperty) {
|
|
130
|
+
throw Error(`Cannot have a property '${propertyName}' with value '${option}' and different JWT value '${jwtProperty}' at the same time`);
|
|
131
|
+
}
|
|
132
|
+
let result = (jwtProperty ? jwtProperty : option);
|
|
133
|
+
if (!result) {
|
|
134
|
+
if (required) {
|
|
135
|
+
throw Error(`No ${propertyName} property provided either in a JWT or as option`);
|
|
136
|
+
}
|
|
137
|
+
result = defaultValue;
|
|
138
|
+
}
|
|
139
|
+
return result;
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=ProofUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProofUtil.js","sourceRoot":"","sources":["../../lib/functions/ProofUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export * from './TypeConversionUtils';
|
|
|
7
7
|
export * from './IssuerMetadataUtils';
|
|
8
8
|
export * from './FormatUtils';
|
|
9
9
|
export * from './HttpUtils';
|
|
10
|
+
export * from './ProofUtil';
|
|
10
11
|
export * from './AuthorizationResponseUtil';
|
|
11
12
|
export { randomBytes };
|
|
12
13
|
export * from './RandomUtils';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/functions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/functions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,cAAc,eAAe,CAAC"}
|
package/dist/functions/index.js
CHANGED
|
@@ -25,6 +25,7 @@ __exportStar(require("./TypeConversionUtils"), exports);
|
|
|
25
25
|
__exportStar(require("./IssuerMetadataUtils"), exports);
|
|
26
26
|
__exportStar(require("./FormatUtils"), exports);
|
|
27
27
|
__exportStar(require("./HttpUtils"), exports);
|
|
28
|
+
__exportStar(require("./ProofUtil"), exports);
|
|
28
29
|
__exportStar(require("./AuthorizationResponseUtil"), exports);
|
|
29
30
|
__exportStar(require("./RandomUtils"), exports);
|
|
30
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/functions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAA+C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/functions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAA+C;AAWtC,4FAXA,4BAAW,OAWA;AAVpB,0DAAwC;AACxC,2DAAyC;AACzC,wDAAsC;AACtC,6CAA2B;AAC3B,wDAAsC;AACtC,wDAAsC;AACtC,gDAA8B;AAC9B,8CAA4B;AAC5B,8CAA4B;AAC5B,8DAA4C;AAE5C,gDAA8B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import { Loggers } from '@sphereon/ssi-types';
|
|
2
|
+
export declare const VCI_LOGGERS: Loggers;
|
|
3
|
+
export declare const VCI_LOG_COMMON: import("@sphereon/ssi-types").ISimpleLogger<unknown>;
|
|
1
4
|
export * from './functions';
|
|
2
5
|
export * from './types';
|
|
6
|
+
export * from './experimental/holder-vci';
|
|
7
|
+
export * from './events';
|
|
3
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,eAAO,MAAM,WAAW,SAAkB,CAAC;AAC3C,eAAO,MAAM,cAAc,sDAA6C,CAAC;AAEzE,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.VCI_LOG_COMMON = exports.VCI_LOGGERS = void 0;
|
|
18
|
+
const ssi_types_1 = require("@sphereon/ssi-types");
|
|
19
|
+
exports.VCI_LOGGERS = ssi_types_1.Loggers.DEFAULT;
|
|
20
|
+
exports.VCI_LOG_COMMON = exports.VCI_LOGGERS.get('sphereon:oid4vci:common');
|
|
17
21
|
__exportStar(require("./functions"), exports);
|
|
18
22
|
__exportStar(require("./types"), exports);
|
|
23
|
+
__exportStar(require("./experimental/holder-vci"), exports);
|
|
24
|
+
__exportStar(require("./events"), exports);
|
|
19
25
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mDAA8C;AAEjC,QAAA,WAAW,GAAG,mBAAO,CAAC,OAAO,CAAC;AAC9B,QAAA,cAAc,GAAG,mBAAW,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAEzE,8CAA4B;AAC5B,0CAAwB;AACxB,4DAA0C;AAC1C,2CAAyB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CredentialOfferPayload, UniformCredentialOffer } from './CredentialIssuance.types';
|
|
1
|
+
import { CredentialOfferPayload, ProofOfPossessionCallbacks, UniformCredentialOffer } from './CredentialIssuance.types';
|
|
2
2
|
import { ErrorResponse, IssuerCredentialSubject, JsonLdIssuerCredentialDefinition, OID4VCICredentialFormat, TxCode } from './Generic.types';
|
|
3
3
|
import { EndpointMetadata } from './ServerMetadata';
|
|
4
4
|
export interface CommonAuthorizationRequest {
|
|
@@ -201,6 +201,19 @@ export interface PKCEOpts {
|
|
|
201
201
|
*/
|
|
202
202
|
codeVerifier?: string;
|
|
203
203
|
}
|
|
204
|
+
export declare enum CreateRequestObjectMode {
|
|
205
|
+
NONE = 0,
|
|
206
|
+
REQUEST_OBJECT = 1,
|
|
207
|
+
REQUEST_URI = 2
|
|
208
|
+
}
|
|
209
|
+
export type RequestObjectOpts = {
|
|
210
|
+
requestObjectMode?: CreateRequestObjectMode;
|
|
211
|
+
signCallbacks?: ProofOfPossessionCallbacks<never>;
|
|
212
|
+
clientMetadata?: Record<string, any>;
|
|
213
|
+
iss?: string;
|
|
214
|
+
jwksUri?: string;
|
|
215
|
+
kid?: string;
|
|
216
|
+
};
|
|
204
217
|
export interface AuthorizationRequestOpts {
|
|
205
218
|
clientId?: string;
|
|
206
219
|
pkce?: PKCEOpts;
|
|
@@ -208,6 +221,7 @@ export interface AuthorizationRequestOpts {
|
|
|
208
221
|
authorizationDetails?: AuthorizationDetails | AuthorizationDetails[];
|
|
209
222
|
redirectUri?: string;
|
|
210
223
|
scope?: string;
|
|
224
|
+
requestObjectOpts?: RequestObjectOpts;
|
|
211
225
|
}
|
|
212
226
|
export interface AuthorizationResponse {
|
|
213
227
|
code: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authorization.types.d.ts","sourceRoot":"","sources":["../../lib/types/Authorization.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"Authorization.types.d.ts","sourceRoot":"","sources":["../../lib/types/Authorization.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AuthzFlowType = exports.PARMode = exports.CodeChallengeMethod = exports.ResponseType = exports.Encoding = exports.GrantTypes = void 0;
|
|
3
|
+
exports.AuthzFlowType = exports.CreateRequestObjectMode = exports.PARMode = exports.CodeChallengeMethod = exports.ResponseType = exports.Encoding = exports.GrantTypes = void 0;
|
|
4
4
|
const Generic_types_1 = require("./Generic.types");
|
|
5
5
|
var GrantTypes;
|
|
6
6
|
(function (GrantTypes) {
|
|
@@ -43,6 +43,12 @@ var PARMode;
|
|
|
43
43
|
PARMode[PARMode["AUTO"] = 1] = "AUTO";
|
|
44
44
|
PARMode[PARMode["NEVER"] = 2] = "NEVER";
|
|
45
45
|
})(PARMode || (exports.PARMode = PARMode = {}));
|
|
46
|
+
var CreateRequestObjectMode;
|
|
47
|
+
(function (CreateRequestObjectMode) {
|
|
48
|
+
CreateRequestObjectMode[CreateRequestObjectMode["NONE"] = 0] = "NONE";
|
|
49
|
+
CreateRequestObjectMode[CreateRequestObjectMode["REQUEST_OBJECT"] = 1] = "REQUEST_OBJECT";
|
|
50
|
+
CreateRequestObjectMode[CreateRequestObjectMode["REQUEST_URI"] = 2] = "REQUEST_URI";
|
|
51
|
+
})(CreateRequestObjectMode || (exports.CreateRequestObjectMode = CreateRequestObjectMode = {}));
|
|
46
52
|
var AuthzFlowType;
|
|
47
53
|
(function (AuthzFlowType) {
|
|
48
54
|
AuthzFlowType["AUTHORIZATION_CODE_FLOW"] = "Authorization Code Flow";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authorization.types.js","sourceRoot":"","sources":["../../lib/types/Authorization.types.ts"],"names":[],"mappings":";;;AACA,mDAOyB;AA4JzB,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,uDAAyC,CAAA;IACzC,0FAA4E,CAAA;IAC5E,mCAAqB,CAAA;AACvB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,kEAAsD,CAAA;IACtD,2BAAe,CAAA;AACjB,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB;AAED,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,kCAAkB,CAAA;AACpB,CAAC,EAFW,YAAY,4BAAZ,YAAY,QAEvB;AAED,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,oCAAa,CAAA;AACf,CAAC,EAHW,mBAAmB,mCAAnB,mBAAmB,QAG9B;AAiCD;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,2CAAO,CAAA;IACP,qCAAI,CAAA;IACJ,uCAAK,CAAA;AACP,CAAC,EAJW,OAAO,uBAAP,OAAO,QAIlB;
|
|
1
|
+
{"version":3,"file":"Authorization.types.js","sourceRoot":"","sources":["../../lib/types/Authorization.types.ts"],"names":[],"mappings":";;;AACA,mDAOyB;AA4JzB,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,uDAAyC,CAAA;IACzC,0FAA4E,CAAA;IAC5E,mCAAqB,CAAA;AACvB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,kEAAsD,CAAA;IACtD,2BAAe,CAAA;AACjB,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB;AAED,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,kCAAkB,CAAA;AACpB,CAAC,EAFW,YAAY,4BAAZ,YAAY,QAEvB;AAED,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,oCAAa,CAAA;AACf,CAAC,EAHW,mBAAmB,mCAAnB,mBAAmB,QAG9B;AAiCD;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,2CAAO,CAAA;IACP,qCAAI,CAAA;IACJ,uCAAK,CAAA;AACP,CAAC,EAJW,OAAO,uBAAP,OAAO,QAIlB;AA2BD,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IACjC,qEAAI,CAAA;IACJ,yFAAc,CAAA;IACd,mFAAW,CAAA;AACb,CAAC,EAJW,uBAAuB,uCAAvB,uBAAuB,QAIlC;AA2DD,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,oEAAmD,CAAA;IACnD,sEAAqD,CAAA;AACvD,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAED,2DAA2D;AAC3D,WAAiB,aAAa;IAC5B,SAAgB,OAAO,CAAC,OAA+B;QACrD,IAAI,qCAAqB,IAAI,OAAO,EAAE,CAAC;YACrC,OAAO,aAAa,CAAC,wBAAwB,CAAC;QAChD,CAAC;QACD,OAAO,aAAa,CAAC,uBAAuB,CAAC;IAC/C,CAAC;IALe,qBAAO,UAKtB,CAAA;AACH,CAAC,EAPgB,aAAa,6BAAb,aAAa,QAO7B"}
|