@lindorm/aegis 0.1.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/CHANGELOG.md +10 -0
- package/README.md +1 -0
- package/dist/classes/Aegis.d.ts +27 -0
- package/dist/classes/Aegis.d.ts.map +1 -0
- package/dist/classes/Aegis.js +113 -0
- package/dist/classes/Aegis.js.map +1 -0
- package/dist/classes/AegisVault.d.ts +24 -0
- package/dist/classes/AegisVault.d.ts.map +1 -0
- package/dist/classes/AegisVault.js +141 -0
- package/dist/classes/AegisVault.js.map +1 -0
- package/dist/classes/JweKit.d.ts +13 -0
- package/dist/classes/JweKit.d.ts.map +1 -0
- package/dist/classes/JweKit.js +154 -0
- package/dist/classes/JweKit.js.map +1 -0
- package/dist/classes/JwsKit.d.ts +11 -0
- package/dist/classes/JwsKit.d.ts.map +1 -0
- package/dist/classes/JwsKit.js +95 -0
- package/dist/classes/JwsKit.js.map +1 -0
- package/dist/classes/JwtKit.d.ts +14 -0
- package/dist/classes/JwtKit.d.ts.map +1 -0
- package/dist/classes/JwtKit.js +127 -0
- package/dist/classes/JwtKit.js.map +1 -0
- package/dist/classes/index.d.ts +6 -0
- package/dist/classes/index.d.ts.map +1 -0
- package/dist/classes/index.js +22 -0
- package/dist/classes/index.js.map +1 -0
- package/dist/errors/AegisError.d.ts +4 -0
- package/dist/errors/AegisError.d.ts.map +1 -0
- package/dist/errors/AegisError.js +8 -0
- package/dist/errors/AegisError.js.map +1 -0
- package/dist/errors/AegisVaultError.d.ts +4 -0
- package/dist/errors/AegisVaultError.d.ts.map +1 -0
- package/dist/errors/AegisVaultError.js +8 -0
- package/dist/errors/AegisVaultError.js.map +1 -0
- package/dist/errors/JweError.d.ts +4 -0
- package/dist/errors/JweError.d.ts.map +1 -0
- package/dist/errors/JweError.js +8 -0
- package/dist/errors/JweError.js.map +1 -0
- package/dist/errors/JwsError.d.ts +4 -0
- package/dist/errors/JwsError.d.ts.map +1 -0
- package/dist/errors/JwsError.js +8 -0
- package/dist/errors/JwsError.js.map +1 -0
- package/dist/errors/JwtError.d.ts +4 -0
- package/dist/errors/JwtError.d.ts.map +1 -0
- package/dist/errors/JwtError.js +8 -0
- package/dist/errors/JwtError.js.map +1 -0
- package/dist/errors/index.d.ts +6 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +22 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/types/aegis-vault.d.ts +29 -0
- package/dist/types/aegis-vault.d.ts.map +1 -0
- package/dist/types/aegis-vault.js +3 -0
- package/dist/types/aegis-vault.js.map +1 -0
- package/dist/types/aegis.d.ts +14 -0
- package/dist/types/aegis.d.ts.map +1 -0
- package/dist/types/aegis.js +3 -0
- package/dist/types/aegis.js.map +1 -0
- package/dist/types/header.d.ts +63 -0
- package/dist/types/header.d.ts.map +1 -0
- package/dist/types/header.js +3 -0
- package/dist/types/header.js.map +1 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +27 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/interfaces/aegis-vault.d.ts +12 -0
- package/dist/types/interfaces/aegis-vault.d.ts.map +1 -0
- package/dist/types/interfaces/aegis-vault.js +3 -0
- package/dist/types/interfaces/aegis-vault.js.map +1 -0
- package/dist/types/interfaces/aegis.d.ts +22 -0
- package/dist/types/interfaces/aegis.d.ts.map +1 -0
- package/dist/types/interfaces/aegis.js +3 -0
- package/dist/types/interfaces/aegis.js.map +1 -0
- package/dist/types/interfaces/index.d.ts +6 -0
- package/dist/types/interfaces/index.d.ts.map +1 -0
- package/dist/types/interfaces/index.js +22 -0
- package/dist/types/interfaces/index.js.map +1 -0
- package/dist/types/interfaces/jwe-kit.d.ts +7 -0
- package/dist/types/interfaces/jwe-kit.d.ts.map +1 -0
- package/dist/types/interfaces/jwe-kit.js +3 -0
- package/dist/types/interfaces/jwe-kit.js.map +1 -0
- package/dist/types/interfaces/jws-kit.d.ts +6 -0
- package/dist/types/interfaces/jws-kit.d.ts.map +1 -0
- package/dist/types/interfaces/jws-kit.js +3 -0
- package/dist/types/interfaces/jws-kit.js.map +1 -0
- package/dist/types/interfaces/jwt-kit.d.ts +8 -0
- package/dist/types/interfaces/jwt-kit.d.ts.map +1 -0
- package/dist/types/interfaces/jwt-kit.js +3 -0
- package/dist/types/interfaces/jwt-kit.js.map +1 -0
- package/dist/types/jwe/index.d.ts +5 -0
- package/dist/types/jwe/index.d.ts.map +1 -0
- package/dist/types/jwe/index.js +21 -0
- package/dist/types/jwe/index.js.map +1 -0
- package/dist/types/jwe/jwe-decode.d.ts +9 -0
- package/dist/types/jwe/jwe-decode.d.ts.map +1 -0
- package/dist/types/jwe/jwe-decode.js +3 -0
- package/dist/types/jwe/jwe-decode.js.map +1 -0
- package/dist/types/jwe/jwe-decrypt.d.ts +14 -0
- package/dist/types/jwe/jwe-decrypt.d.ts.map +1 -0
- package/dist/types/jwe/jwe-decrypt.js +3 -0
- package/dist/types/jwe/jwe-decrypt.js.map +1 -0
- package/dist/types/jwe/jwe-encrypt.d.ts +7 -0
- package/dist/types/jwe/jwe-encrypt.d.ts.map +1 -0
- package/dist/types/jwe/jwe-encrypt.js +3 -0
- package/dist/types/jwe/jwe-encrypt.js.map +1 -0
- package/dist/types/jwe/jwe-kit.d.ts +9 -0
- package/dist/types/jwe/jwe-kit.d.ts.map +1 -0
- package/dist/types/jwe/jwe-kit.js +3 -0
- package/dist/types/jwe/jwe-kit.js.map +1 -0
- package/dist/types/jws/index.d.ts +5 -0
- package/dist/types/jws/index.d.ts.map +1 -0
- package/dist/types/jws/index.js +21 -0
- package/dist/types/jws/index.js.map +1 -0
- package/dist/types/jws/jws-decode.d.ts +7 -0
- package/dist/types/jws/jws-decode.d.ts.map +1 -0
- package/dist/types/jws/jws-decode.js +3 -0
- package/dist/types/jws/jws-decode.js.map +1 -0
- package/dist/types/jws/jws-kit.d.ts +9 -0
- package/dist/types/jws/jws-kit.d.ts.map +1 -0
- package/dist/types/jws/jws-kit.js +3 -0
- package/dist/types/jws/jws-kit.js.map +1 -0
- package/dist/types/jws/jws-sign.d.ts +9 -0
- package/dist/types/jws/jws-sign.d.ts.map +1 -0
- package/dist/types/jws/jws-sign.js +3 -0
- package/dist/types/jws/jws-sign.js.map +1 -0
- package/dist/types/jws/jws-verify.d.ts +14 -0
- package/dist/types/jws/jws-verify.d.ts.map +1 -0
- package/dist/types/jws/jws-verify.js +3 -0
- package/dist/types/jws/jws-verify.js.map +1 -0
- package/dist/types/jwt/index.d.ts +8 -0
- package/dist/types/jwt/index.d.ts.map +1 -0
- package/dist/types/jwt/index.js +24 -0
- package/dist/types/jwt/index.js.map +1 -0
- package/dist/types/jwt/jwt-claims.d.ts +38 -0
- package/dist/types/jwt/jwt-claims.d.ts.map +1 -0
- package/dist/types/jwt/jwt-claims.js +3 -0
- package/dist/types/jwt/jwt-claims.js.map +1 -0
- package/dist/types/jwt/jwt-decode.d.ts +9 -0
- package/dist/types/jwt/jwt-decode.d.ts.map +1 -0
- package/dist/types/jwt/jwt-decode.js +3 -0
- package/dist/types/jwt/jwt-decode.js.map +1 -0
- package/dist/types/jwt/jwt-kit.d.ts +9 -0
- package/dist/types/jwt/jwt-kit.d.ts.map +1 -0
- package/dist/types/jwt/jwt-kit.js +3 -0
- package/dist/types/jwt/jwt-kit.js.map +1 -0
- package/dist/types/jwt/jwt-parse.d.ts +34 -0
- package/dist/types/jwt/jwt-parse.d.ts.map +1 -0
- package/dist/types/jwt/jwt-parse.js +3 -0
- package/dist/types/jwt/jwt-parse.js.map +1 -0
- package/dist/types/jwt/jwt-sign.d.ts +48 -0
- package/dist/types/jwt/jwt-sign.d.ts.map +1 -0
- package/dist/types/jwt/jwt-sign.js +3 -0
- package/dist/types/jwt/jwt-sign.js.map +1 -0
- package/dist/types/jwt/jwt-validate.d.ts +32 -0
- package/dist/types/jwt/jwt-validate.d.ts.map +1 -0
- package/dist/types/jwt/jwt-validate.js +3 -0
- package/dist/types/jwt/jwt-validate.js.map +1 -0
- package/dist/types/jwt/jwt-verify.d.ts +41 -0
- package/dist/types/jwt/jwt-verify.d.ts.map +1 -0
- package/dist/types/jwt/jwt-verify.js +3 -0
- package/dist/types/jwt/jwt-verify.js.map +1 -0
- package/dist/types/level-of-assurance.d.ts +3 -0
- package/dist/types/level-of-assurance.d.ts.map +1 -0
- package/dist/types/level-of-assurance.js +3 -0
- package/dist/types/level-of-assurance.js.map +1 -0
- package/dist/types/oidc.d.ts +27 -0
- package/dist/types/oidc.d.ts.map +1 -0
- package/dist/types/oidc.js +3 -0
- package/dist/types/oidc.js.map +1 -0
- package/dist/types/operators.d.ts +27 -0
- package/dist/types/operators.d.ts.map +1 -0
- package/dist/types/operators.js +3 -0
- package/dist/types/operators.js.map +1 -0
- package/dist/utils/private/create-hash.d.ts +8 -0
- package/dist/utils/private/create-hash.d.ts.map +1 -0
- package/dist/utils/private/create-hash.js +30 -0
- package/dist/utils/private/create-hash.js.map +1 -0
- package/dist/utils/private/create-token-signature.d.ts +9 -0
- package/dist/utils/private/create-token-signature.d.ts.map +1 -0
- package/dist/utils/private/create-token-signature.js +41 -0
- package/dist/utils/private/create-token-signature.js.map +1 -0
- package/dist/utils/private/jwt-payload.d.ts +20 -0
- package/dist/utils/private/jwt-payload.d.ts.map +1 -0
- package/dist/utils/private/jwt-payload.js +132 -0
- package/dist/utils/private/jwt-payload.js.map +1 -0
- package/dist/utils/private/jwt-validate.d.ts +4 -0
- package/dist/utils/private/jwt-validate.d.ts.map +1 -0
- package/dist/utils/private/jwt-validate.js +45 -0
- package/dist/utils/private/jwt-validate.js.map +1 -0
- package/dist/utils/private/jwt-verify.d.ts +5 -0
- package/dist/utils/private/jwt-verify.d.ts.map +1 -0
- package/dist/utils/private/jwt-verify.js +109 -0
- package/dist/utils/private/jwt-verify.js.map +1 -0
- package/dist/utils/private/token-header.d.ts +5 -0
- package/dist/utils/private/token-header.d.ts.map +1 -0
- package/dist/utils/private/token-header.js +193 -0
- package/dist/utils/private/token-header.js.map +1 -0
- package/dist/utils/private/token-type.d.ts +3 -0
- package/dist/utils/private/token-type.d.ts.map +1 -0
- package/dist/utils/private/token-type.js +11 -0
- package/dist/utils/private/token-type.js.map +1 -0
- package/dist/utils/private/validate-value.d.ts +3 -0
- package/dist/utils/private/validate-value.d.ts.map +1 -0
- package/dist/utils/private/validate-value.js +91 -0
- package/dist/utils/private/validate-value.js.map +1 -0
- package/dist/utils/private/validate.d.ts +4 -0
- package/dist/utils/private/validate.d.ts.map +1 -0
- package/dist/utils/private/validate.js +19 -0
- package/dist/utils/private/validate.js.map +1 -0
- package/dist/utils/private/verify-token-signature.d.ts +3 -0
- package/dist/utils/private/verify-token-signature.d.ts.map +1 -0
- package/dist/utils/private/verify-token-signature.js +42 -0
- package/dist/utils/private/verify-token-signature.js.map +1 -0
- package/package.json +49 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Expiry } from "@lindorm/date";
|
|
2
|
+
import { Dict } from "@lindorm/types";
|
|
3
|
+
import { AdjustedAccessLevel, LevelOfAssurance } from "../level-of-assurance";
|
|
4
|
+
export type SignJwtContent<C extends Dict = Dict> = {
|
|
5
|
+
accessToken?: string;
|
|
6
|
+
adjustedAccessLevel?: AdjustedAccessLevel;
|
|
7
|
+
audience?: Array<string>;
|
|
8
|
+
authCode?: string;
|
|
9
|
+
authContextClass?: string;
|
|
10
|
+
authFactor?: string;
|
|
11
|
+
authMethods?: Array<string>;
|
|
12
|
+
authorizedParty?: string;
|
|
13
|
+
authState?: string;
|
|
14
|
+
authTime?: Date;
|
|
15
|
+
claims?: C;
|
|
16
|
+
clientId?: string;
|
|
17
|
+
expires: Expiry;
|
|
18
|
+
grantType?: string;
|
|
19
|
+
levelOfAssurance?: LevelOfAssurance;
|
|
20
|
+
nonce?: string;
|
|
21
|
+
notBefore?: Date;
|
|
22
|
+
permissions?: Array<string>;
|
|
23
|
+
roles?: Array<string>;
|
|
24
|
+
scope?: Array<string>;
|
|
25
|
+
sessionHint?: string;
|
|
26
|
+
sessionId?: string;
|
|
27
|
+
subject: string;
|
|
28
|
+
subjectHint?: string;
|
|
29
|
+
tenantId?: string;
|
|
30
|
+
tokenType: string;
|
|
31
|
+
};
|
|
32
|
+
export type SignJwtOptions = {
|
|
33
|
+
accessTokenHash?: string;
|
|
34
|
+
codeHash?: string;
|
|
35
|
+
issuedAt?: Date;
|
|
36
|
+
objectId?: string;
|
|
37
|
+
stateHash?: string;
|
|
38
|
+
tokenId?: string;
|
|
39
|
+
};
|
|
40
|
+
export type SignedJwt = {
|
|
41
|
+
expiresAt: Date;
|
|
42
|
+
expiresIn: number;
|
|
43
|
+
expiresOn: number;
|
|
44
|
+
objectId: string;
|
|
45
|
+
token: string;
|
|
46
|
+
tokenId: string;
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=jwt-sign.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt-sign.d.ts","sourceRoot":"","sources":["../../../src/types/jwt/jwt-sign.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9E,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,IAAI;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt-sign.js","sourceRoot":"","sources":["../../../src/types/jwt/jwt-sign.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { KryptosAlgorithm } from "@lindorm/kryptos";
|
|
2
|
+
import { Dict } from "@lindorm/types";
|
|
3
|
+
import { Operators } from "../operators";
|
|
4
|
+
export type ValidateJwtOptions<C extends Dict = Dict> = {
|
|
5
|
+
algorithm?: KryptosAlgorithm;
|
|
6
|
+
accessToken?: string;
|
|
7
|
+
adjustedAccessLevel?: Operators;
|
|
8
|
+
audience?: Array<string> | string | Operators;
|
|
9
|
+
authCode?: string;
|
|
10
|
+
authContextClass?: string | Operators;
|
|
11
|
+
authFactor?: string | Operators;
|
|
12
|
+
authMethods?: Array<string> | string | Operators;
|
|
13
|
+
authorizedParty?: string | Operators;
|
|
14
|
+
authState?: string;
|
|
15
|
+
authTime?: Operators;
|
|
16
|
+
clientId?: Array<string> | string | Operators;
|
|
17
|
+
grantType?: string | Operators;
|
|
18
|
+
issuer?: string | Operators;
|
|
19
|
+
levelOfAssurance?: number | Operators;
|
|
20
|
+
nonce?: string | Operators;
|
|
21
|
+
permissions?: Array<string> | string | Operators;
|
|
22
|
+
roles?: Array<string> | string | Operators;
|
|
23
|
+
scope?: Array<string> | string | Operators;
|
|
24
|
+
sessionHint?: Array<string> | string | Operators;
|
|
25
|
+
subject?: Array<string> | string | Operators;
|
|
26
|
+
subjectHint?: string | Operators;
|
|
27
|
+
tenantId?: Array<string> | string | Operators;
|
|
28
|
+
tokenType?: string | Operators;
|
|
29
|
+
} & {
|
|
30
|
+
[key in keyof C]?: Operators;
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=jwt-validate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt-validate.d.ts","sourceRoot":"","sources":["../../../src/types/jwt/jwt-validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,IAAI;IACtD,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IACjD,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IACjD,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3C,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IACjD,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,GAAG;KACD,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS;CAC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt-validate.js","sourceRoot":"","sources":["../../../src/types/jwt/jwt-validate.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { KryptosSigAlgorithm } from "@lindorm/kryptos";
|
|
2
|
+
import { Dict } from "@lindorm/types";
|
|
3
|
+
import { ParsedTokenHeader } from "../header";
|
|
4
|
+
import { Operators } from "../operators";
|
|
5
|
+
import { DecodedJwt } from "./jwt-decode";
|
|
6
|
+
import { ParsedJwtPayload } from "./jwt-parse";
|
|
7
|
+
export type VerifyJwtOptions = {
|
|
8
|
+
accessToken?: string;
|
|
9
|
+
adjustedAccessLevel?: Operators;
|
|
10
|
+
audience?: Array<string> | string | Operators;
|
|
11
|
+
authCode?: string;
|
|
12
|
+
authContextClass?: string | Operators;
|
|
13
|
+
authFactor?: string | Operators;
|
|
14
|
+
authMethods?: Array<string> | string | Operators;
|
|
15
|
+
authorizedParty?: string | Operators;
|
|
16
|
+
authState?: string;
|
|
17
|
+
authTime?: Operators;
|
|
18
|
+
clientId?: Array<string> | string | Operators;
|
|
19
|
+
grantType?: string | Operators;
|
|
20
|
+
issuer?: string | Operators;
|
|
21
|
+
levelOfAssurance?: number | Operators;
|
|
22
|
+
nonce?: string | Operators;
|
|
23
|
+
permissions?: Array<string> | string | Operators;
|
|
24
|
+
roles?: Array<string> | string | Operators;
|
|
25
|
+
scope?: Array<string> | string | Operators;
|
|
26
|
+
sessionHint?: Array<string> | string | Operators;
|
|
27
|
+
subject?: Array<string> | string | Operators;
|
|
28
|
+
subjectHint?: string | Operators;
|
|
29
|
+
tenantId?: Array<string> | string | Operators;
|
|
30
|
+
tokenType?: string | Operators;
|
|
31
|
+
};
|
|
32
|
+
export type VerifiedJwtHeader = Omit<ParsedTokenHeader, "algorithm" | "type"> & {
|
|
33
|
+
algorithm: KryptosSigAlgorithm;
|
|
34
|
+
type: "JWT";
|
|
35
|
+
};
|
|
36
|
+
export type VerifiedJwt<C extends Dict = Dict> = {
|
|
37
|
+
__jwt: DecodedJwt<C>;
|
|
38
|
+
header: VerifiedJwtHeader;
|
|
39
|
+
payload: ParsedJwtPayload<C>;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=jwt-verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt-verify.d.ts","sourceRoot":"","sources":["../../../src/types/jwt/jwt-verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IACjD,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IACjD,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3C,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IACjD,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,MAAM,CAAC,GAAG;IAC9E,SAAS,EAAE,mBAAmB,CAAC;IAC/B,IAAI,EAAE,KAAK,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,IAAI;IAC/C,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAC9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt-verify.js","sourceRoot":"","sources":["../../../src/types/jwt/jwt-verify.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"level-of-assurance.d.ts","sourceRoot":"","sources":["../../src/types/level-of-assurance.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"level-of-assurance.js","sourceRoot":"","sources":["../../src/types/level-of-assurance.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { LindormJwk } from "@lindorm/kryptos";
|
|
2
|
+
export type OpenIdConfigurationResponse = {
|
|
3
|
+
authorizationEndpoint: string;
|
|
4
|
+
claimsSupported: Array<string>;
|
|
5
|
+
codeChallengeMethodsSupported: Array<string>;
|
|
6
|
+
deviceAuthorizationEndpoint: string;
|
|
7
|
+
idTokenSigningAlgValuesSupported: Array<string>;
|
|
8
|
+
issuer: string;
|
|
9
|
+
jwksUri: string;
|
|
10
|
+
mfaChallengeEndpoint: string;
|
|
11
|
+
registrationEndpoint: string;
|
|
12
|
+
requestParameterSupported: boolean;
|
|
13
|
+
requestUriParameterSupported: boolean;
|
|
14
|
+
responseModesSupported: Array<string>;
|
|
15
|
+
responseTypesSupported: Array<string>;
|
|
16
|
+
revocationEndpoint: string;
|
|
17
|
+
scopesSupported: Array<string>;
|
|
18
|
+
subjectTypesSupported: Array<string>;
|
|
19
|
+
tokenEndpoint: string;
|
|
20
|
+
tokenEndpointAuthMethodsSupported: Array<string>;
|
|
21
|
+
tokenEndpointAuthSigningAlgValuesSupported: string;
|
|
22
|
+
userinfoEndpoint: string;
|
|
23
|
+
};
|
|
24
|
+
export type OpenIdJwksResponse = {
|
|
25
|
+
keys: Array<LindormJwk>;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=oidc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oidc.d.ts","sourceRoot":"","sources":["../../src/types/oidc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,MAAM,2BAA2B,GAAG;IACxC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,6BAA6B,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,2BAA2B,EAAE,MAAM,CAAC;IACpC,gCAAgC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,yBAAyB,EAAE,OAAO,CAAC;IACnC,4BAA4B,EAAE,OAAO,CAAC;IACtC,sBAAsB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,sBAAsB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,qBAAqB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,iCAAiC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,0CAA0C,EAAE,MAAM,CAAC;IACnD,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["../../src/types/oidc.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
type Ops = {
|
|
2
|
+
$exists?: boolean;
|
|
3
|
+
$eq?: Date | string | number;
|
|
4
|
+
$ne?: Date | string | number;
|
|
5
|
+
$in?: Array<string | number>;
|
|
6
|
+
$nin?: Array<string | number>;
|
|
7
|
+
$has?: string;
|
|
8
|
+
$not?: string;
|
|
9
|
+
$all?: Array<string>;
|
|
10
|
+
$any?: Array<string>;
|
|
11
|
+
$none?: Array<string>;
|
|
12
|
+
$before?: Date;
|
|
13
|
+
$beforeOrEq?: Date;
|
|
14
|
+
$after?: Date;
|
|
15
|
+
$afterOrEq?: Date;
|
|
16
|
+
$gt?: number;
|
|
17
|
+
$gte?: number;
|
|
18
|
+
$lt?: number;
|
|
19
|
+
$lte?: number;
|
|
20
|
+
$regex?: string;
|
|
21
|
+
};
|
|
22
|
+
export type Operators = Ops & {
|
|
23
|
+
$and?: Array<Operators>;
|
|
24
|
+
$or?: Array<Operators>;
|
|
25
|
+
};
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=operators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../src/types/operators.ts"],"names":[],"mappings":"AAAA,KAAK,GAAG,GAAG;IACT,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC7B,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAE7B,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAI9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAItB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,WAAW,CAAC,EAAE,IAAI,CAAC;IAEnB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,UAAU,CAAC,EAAE,IAAI,CAAC;IAIlB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IAId,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACxB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CACxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operators.js","sourceRoot":"","sources":["../../src/types/operators.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { KryptosAlgorithm } from "@lindorm/kryptos";
|
|
2
|
+
type ShaAlgorithm = "SHA256" | "SHA384" | "SHA512";
|
|
3
|
+
export declare const _shaAlgorithm: (algorithm: KryptosAlgorithm) => ShaAlgorithm;
|
|
4
|
+
export declare const _createAccessTokenHash: (algorithm: KryptosAlgorithm, data: string) => string;
|
|
5
|
+
export declare const _createCodeHash: (algorithm: KryptosAlgorithm, data: string) => string;
|
|
6
|
+
export declare const _createStateHash: (algorithm: KryptosAlgorithm, data: string) => string;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=create-hash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-hash.d.ts","sourceRoot":"","sources":["../../../src/utils/private/create-hash.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,KAAK,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnD,eAAO,MAAM,aAAa,cAAe,gBAAgB,KAAG,YAM3D,CAAC;AAgBF,eAAO,MAAM,sBAAsB,cACtB,gBAAgB,QACrB,MAAM,KACX,MAA2C,CAAC;AAE/C,eAAO,MAAM,eAAe,cAAe,gBAAgB,QAAQ,MAAM,KAAG,MACzC,CAAC;AAEpC,eAAO,MAAM,gBAAgB,cAAe,gBAAgB,QAAQ,MAAM,KAAG,MAC1C,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._createStateHash = exports._createCodeHash = exports._createAccessTokenHash = exports._shaAlgorithm = void 0;
|
|
4
|
+
const b64_1 = require("@lindorm/b64");
|
|
5
|
+
const crypto_1 = require("crypto");
|
|
6
|
+
const _shaAlgorithm = (algorithm) => {
|
|
7
|
+
if (algorithm.endsWith("256"))
|
|
8
|
+
return "SHA256";
|
|
9
|
+
if (algorithm.endsWith("384"))
|
|
10
|
+
return "SHA384";
|
|
11
|
+
if (algorithm.endsWith("512"))
|
|
12
|
+
return "SHA512";
|
|
13
|
+
return "SHA256";
|
|
14
|
+
};
|
|
15
|
+
exports._shaAlgorithm = _shaAlgorithm;
|
|
16
|
+
const _createHashBuffer = (algorithm, data) => (0, crypto_1.createHash)(algorithm).update(data, "utf8").digest();
|
|
17
|
+
const _getLeftBits = (buffer, bits) => buffer.subarray(0, bits / 8);
|
|
18
|
+
const _createHash = (algorithm, data, bits) => {
|
|
19
|
+
const sha = (0, exports._shaAlgorithm)(algorithm);
|
|
20
|
+
const buffer = _createHashBuffer(sha, data);
|
|
21
|
+
const left = _getLeftBits(buffer, bits);
|
|
22
|
+
return b64_1.B64.encode(left, "base64url");
|
|
23
|
+
};
|
|
24
|
+
const _createAccessTokenHash = (algorithm, data) => _createHash(algorithm, data, 128);
|
|
25
|
+
exports._createAccessTokenHash = _createAccessTokenHash;
|
|
26
|
+
const _createCodeHash = (algorithm, data) => _createHash(algorithm, data, 256);
|
|
27
|
+
exports._createCodeHash = _createCodeHash;
|
|
28
|
+
const _createStateHash = (algorithm, data) => _createHash(algorithm, data, 128);
|
|
29
|
+
exports._createStateHash = _createStateHash;
|
|
30
|
+
//# sourceMappingURL=create-hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-hash.js","sourceRoot":"","sources":["../../../src/utils/private/create-hash.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AAEnC,mCAAoC;AAI7B,MAAM,aAAa,GAAG,CAAC,SAA2B,EAAgB,EAAE;IACzE,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/C,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/C,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE/C,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AANW,QAAA,aAAa,iBAMxB;AAEF,MAAM,iBAAiB,GAAG,CAAC,SAAuB,EAAE,IAAY,EAAU,EAAE,CAC1E,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AAEtD,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,IAAY,EAAU,EAAE,CAC5D,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;AAE/B,MAAM,WAAW,GAAG,CAAC,SAA2B,EAAE,IAAY,EAAE,IAAY,EAAU,EAAE;IACtF,MAAM,GAAG,GAAG,IAAA,qBAAa,EAAC,SAAS,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAExC,OAAO,SAAG,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACvC,CAAC,CAAC;AAEK,MAAM,sBAAsB,GAAG,CACpC,SAA2B,EAC3B,IAAY,EACJ,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AAHlC,QAAA,sBAAsB,0BAGY;AAExC,MAAM,eAAe,GAAG,CAAC,SAA2B,EAAE,IAAY,EAAU,EAAE,CACnF,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AADvB,QAAA,eAAe,mBACQ;AAE7B,MAAM,gBAAgB,GAAG,CAAC,SAA2B,EAAE,IAAY,EAAU,EAAE,CACpF,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AADvB,QAAA,gBAAgB,oBACO"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IKryptos } from "@lindorm/kryptos";
|
|
2
|
+
type Options = {
|
|
3
|
+
header: string;
|
|
4
|
+
payload: string;
|
|
5
|
+
kryptos: IKryptos;
|
|
6
|
+
};
|
|
7
|
+
export declare const _createTokenSignature: (options: Options) => string;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=create-token-signature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-token-signature.d.ts","sourceRoot":"","sources":["../../../src/utils/private/create-token-signature.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAM5C,KAAK,OAAO,GAAG;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,QAAQ,CAAC;CACnB,CAAC;AAsBF,eAAO,MAAM,qBAAqB,YAAa,OAAO,KAAG,MAmBxD,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._createTokenSignature = void 0;
|
|
4
|
+
const ec_1 = require("@lindorm/ec");
|
|
5
|
+
const oct_1 = require("@lindorm/oct");
|
|
6
|
+
const okp_1 = require("@lindorm/okp");
|
|
7
|
+
const rsa_1 = require("@lindorm/rsa");
|
|
8
|
+
const errors_1 = require("../../errors");
|
|
9
|
+
const _signEc = (kryptos, data) => {
|
|
10
|
+
const kit = new ec_1.EcKit({ kryptos, format: "raw" });
|
|
11
|
+
return kit.sign(data);
|
|
12
|
+
};
|
|
13
|
+
const _signOct = (kryptos, data) => {
|
|
14
|
+
const kit = new oct_1.OctKit({ kryptos, format: "base64url" });
|
|
15
|
+
return kit.sign(data);
|
|
16
|
+
};
|
|
17
|
+
const _signOkp = (kryptos, data) => {
|
|
18
|
+
const kit = new okp_1.OkpKit({ kryptos, format: "base64url" });
|
|
19
|
+
return kit.sign(data);
|
|
20
|
+
};
|
|
21
|
+
const _signRsa = (kryptos, data) => {
|
|
22
|
+
const kit = new rsa_1.RsaKit({ kryptos, format: "base64url" });
|
|
23
|
+
return kit.sign(data);
|
|
24
|
+
};
|
|
25
|
+
const _createTokenSignature = (options) => {
|
|
26
|
+
const data = `${options.header}.${options.payload}`;
|
|
27
|
+
switch (options.kryptos.type) {
|
|
28
|
+
case "EC":
|
|
29
|
+
return _signEc(options.kryptos, data);
|
|
30
|
+
case "oct":
|
|
31
|
+
return _signOct(options.kryptos, data);
|
|
32
|
+
case "OKP":
|
|
33
|
+
return _signOkp(options.kryptos, data);
|
|
34
|
+
case "RSA":
|
|
35
|
+
return _signRsa(options.kryptos, data);
|
|
36
|
+
default:
|
|
37
|
+
throw new errors_1.JwtError("Unsupported algorithm");
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
exports._createTokenSignature = _createTokenSignature;
|
|
41
|
+
//# sourceMappingURL=create-token-signature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-token-signature.js","sourceRoot":"","sources":["../../../src/utils/private/create-token-signature.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AAEpC,sCAAsC;AACtC,sCAAsC;AACtC,sCAAsC;AACtC,yCAAwC;AAQxC,MAAM,OAAO,GAAG,CAAC,OAAiB,EAAE,IAAY,EAAU,EAAE;IAC1D,MAAM,GAAG,GAAG,IAAI,UAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,OAAiB,EAAE,IAAY,EAAU,EAAE;IAC3D,MAAM,GAAG,GAAG,IAAI,YAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACzD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,OAAiB,EAAE,IAAY,EAAU,EAAE;IAC3D,MAAM,GAAG,GAAG,IAAI,YAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACzD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,OAAiB,EAAE,IAAY,EAAU,EAAE;IAC3D,MAAM,GAAG,GAAG,IAAI,YAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACzD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,OAAgB,EAAU,EAAE;IAChE,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAEpD,QAAQ,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7B,KAAK,IAAI;YACP,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAExC,KAAK,KAAK;YACR,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEzC,KAAK,KAAK;YACR,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEzC,KAAK,KAAK;YACR,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEzC;YACE,MAAM,IAAI,iBAAQ,CAAC,uBAAuB,CAAC,CAAC;IAChD,CAAC;AACH,CAAC,CAAC;AAnBW,QAAA,qBAAqB,yBAmBhC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { KryptosAlgorithm } from "@lindorm/kryptos";
|
|
2
|
+
import { Dict } from "@lindorm/types";
|
|
3
|
+
import { JwtClaims, ParsedJwtPayload, SignJwtContent, SignJwtOptions } from "../../types";
|
|
4
|
+
type Config = {
|
|
5
|
+
algorithm: KryptosAlgorithm;
|
|
6
|
+
issuer: string;
|
|
7
|
+
};
|
|
8
|
+
type Result = {
|
|
9
|
+
expiresAt: Date;
|
|
10
|
+
expiresIn: number;
|
|
11
|
+
expiresOn: number;
|
|
12
|
+
payload: string;
|
|
13
|
+
tokenId: string;
|
|
14
|
+
};
|
|
15
|
+
export declare const _encodeJwtPayload: <C extends Dict = Dict>(config: Config, content: SignJwtContent<C>, options: SignJwtOptions) => Result;
|
|
16
|
+
type DecodeClaims<C extends Dict = Dict> = JwtClaims & C;
|
|
17
|
+
export declare const _decodeJwtPayload: <C extends Dict = Dict<never>>(payload: string) => DecodeClaims<C>;
|
|
18
|
+
export declare const _parseJwtPayload: <C extends Dict = Dict<never>>(decoded: DecodeClaims<C>) => ParsedJwtPayload<C>;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=jwt-payload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt-payload.d.ts","sourceRoot":"","sources":["../../../src/utils/private/jwt-payload.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAItC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG1F,KAAK,MAAM,GAAG;IACZ,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,iBAAiB,kCACpB,MAAM,WACL,eAAe,CAAC,CAAC,WACjB,cAAc,KACtB,MAmFF,CAAC;AAEF,KAAK,YAAY,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,IAAI,SAAS,GAAG,CAAC,CAAC;AAEzD,eAAO,MAAM,iBAAiB,0CACnB,MAAM,KACd,aAAa,CAAC,CAAyD,CAAC;AAE3E,eAAO,MAAM,gBAAgB,0CAClB,aAAa,CAAC,CAAC,KACvB,iBAAiB,CAAC,CA4EpB,CAAC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._parseJwtPayload = exports._decodeJwtPayload = exports._encodeJwtPayload = void 0;
|
|
4
|
+
const b64_1 = require("@lindorm/b64");
|
|
5
|
+
const date_1 = require("@lindorm/date");
|
|
6
|
+
const is_1 = require("@lindorm/is");
|
|
7
|
+
const utils_1 = require("@lindorm/utils");
|
|
8
|
+
const crypto_1 = require("crypto");
|
|
9
|
+
const errors_1 = require("../../errors");
|
|
10
|
+
const create_hash_1 = require("./create-hash");
|
|
11
|
+
const _encodeJwtPayload = (config, content, options) => {
|
|
12
|
+
if (!(0, is_1.isString)(config.algorithm)) {
|
|
13
|
+
throw new errors_1.JwtError("Algorithm is required");
|
|
14
|
+
}
|
|
15
|
+
if (!(0, is_1.isUrlLike)(config.issuer)) {
|
|
16
|
+
throw new errors_1.JwtError("Issuer is required");
|
|
17
|
+
}
|
|
18
|
+
if (!content.expires) {
|
|
19
|
+
throw new errors_1.JwtError("Expires is required");
|
|
20
|
+
}
|
|
21
|
+
if (!(0, is_1.isString)(content.subject)) {
|
|
22
|
+
throw new errors_1.JwtError("Subject is required");
|
|
23
|
+
}
|
|
24
|
+
if (!(0, is_1.isString)(content.tokenType)) {
|
|
25
|
+
throw new errors_1.JwtError("Token type is required");
|
|
26
|
+
}
|
|
27
|
+
const { expiresAt, expiresIn, expiresOn } = (0, date_1.expires)(content.expires);
|
|
28
|
+
const at_hash = (0, is_1.isString)(options.accessTokenHash)
|
|
29
|
+
? options.accessTokenHash
|
|
30
|
+
: (0, is_1.isString)(content.accessToken)
|
|
31
|
+
? (0, create_hash_1._createAccessTokenHash)(config.algorithm, content.accessToken)
|
|
32
|
+
: undefined;
|
|
33
|
+
const c_hash = (0, is_1.isString)(options.codeHash)
|
|
34
|
+
? options.codeHash
|
|
35
|
+
: (0, is_1.isString)(content.authCode)
|
|
36
|
+
? (0, create_hash_1._createCodeHash)(config.algorithm, content.authCode)
|
|
37
|
+
: undefined;
|
|
38
|
+
const s_hash = (0, is_1.isString)(options.stateHash)
|
|
39
|
+
? options.stateHash
|
|
40
|
+
: (0, is_1.isString)(content.authState)
|
|
41
|
+
? (0, create_hash_1._createStateHash)(config.algorithm, content.authState)
|
|
42
|
+
: undefined;
|
|
43
|
+
const tokenId = (0, is_1.isString)(options.tokenId) ? options.tokenId : (0, crypto_1.randomUUID)();
|
|
44
|
+
const claims = (0, utils_1.removeUndefined)({
|
|
45
|
+
aal: (0, is_1.isFinite)(content.adjustedAccessLevel) ? content.adjustedAccessLevel : undefined,
|
|
46
|
+
acr: (0, is_1.isString)(content.authContextClass) ? content.authContextClass : undefined,
|
|
47
|
+
afr: (0, is_1.isString)(content.authFactor) ? content.authFactor : undefined,
|
|
48
|
+
amr: (0, is_1.isArray)(content.authMethods) ? content.authMethods : undefined,
|
|
49
|
+
at_hash,
|
|
50
|
+
aud: (0, is_1.isArray)(content.audience) ? content.audience : undefined,
|
|
51
|
+
auth_time: (0, is_1.isDate)(content.authTime) ? (0, date_1.getUnixTime)(content.authTime) : undefined,
|
|
52
|
+
azp: (0, is_1.isString)(content.authorizedParty) ? content.authorizedParty : undefined,
|
|
53
|
+
c_hash,
|
|
54
|
+
cid: (0, is_1.isString)(content.clientId) ? content.clientId : undefined,
|
|
55
|
+
exp: expiresOn,
|
|
56
|
+
gty: (0, is_1.isString)(content.grantType) ? content.grantType : undefined,
|
|
57
|
+
iat: (0, is_1.isDate)(options.issuedAt)
|
|
58
|
+
? (0, date_1.getUnixTime)(options.issuedAt)
|
|
59
|
+
: (0, date_1.getUnixTime)(new Date()),
|
|
60
|
+
iss: config.issuer,
|
|
61
|
+
jti: tokenId,
|
|
62
|
+
loa: (0, is_1.isFinite)(content.levelOfAssurance) ? content.levelOfAssurance : undefined,
|
|
63
|
+
nbf: (0, is_1.isDate)(content.notBefore)
|
|
64
|
+
? (0, date_1.getUnixTime)(content.notBefore)
|
|
65
|
+
: (0, date_1.getUnixTime)(new Date()),
|
|
66
|
+
nonce: (0, is_1.isString)(content.nonce) ? content.nonce : undefined,
|
|
67
|
+
per: (0, is_1.isArray)(content.permissions) ? content.permissions : undefined,
|
|
68
|
+
rls: (0, is_1.isArray)(content.roles) ? content.roles : undefined,
|
|
69
|
+
s_hash,
|
|
70
|
+
scp: (0, is_1.isArray)(content.scope) ? content.scope : undefined,
|
|
71
|
+
sid: (0, is_1.isString)(content.sessionId) ? content.sessionId : undefined,
|
|
72
|
+
sih: (0, is_1.isString)(content.sessionHint) ? content.sessionHint : undefined,
|
|
73
|
+
sub: content.subject,
|
|
74
|
+
suh: (0, is_1.isString)(content.subjectHint) ? content.subjectHint : undefined,
|
|
75
|
+
tid: (0, is_1.isString)(content.tenantId) ? content.tenantId : undefined,
|
|
76
|
+
token_type: content.tokenType,
|
|
77
|
+
});
|
|
78
|
+
const payload = b64_1.B64.encode(JSON.stringify({
|
|
79
|
+
...claims,
|
|
80
|
+
...(content.claims ?? {}),
|
|
81
|
+
}), "base64url");
|
|
82
|
+
return { expiresAt, expiresIn, expiresOn, payload, tokenId };
|
|
83
|
+
};
|
|
84
|
+
exports._encodeJwtPayload = _encodeJwtPayload;
|
|
85
|
+
const _decodeJwtPayload = (payload) => JSON.parse(b64_1.B64.toString(payload));
|
|
86
|
+
exports._decodeJwtPayload = _decodeJwtPayload;
|
|
87
|
+
const _parseJwtPayload = (decoded) => {
|
|
88
|
+
if (!(0, is_1.isFinite)(decoded.exp)) {
|
|
89
|
+
throw new errors_1.JwtError("Missing claim: exp");
|
|
90
|
+
}
|
|
91
|
+
if (!(0, is_1.isFinite)(decoded.iat)) {
|
|
92
|
+
throw new errors_1.JwtError("Missing claim: iat");
|
|
93
|
+
}
|
|
94
|
+
if (!(0, is_1.isString)(decoded.iss)) {
|
|
95
|
+
throw new errors_1.JwtError("Missing claim: iss");
|
|
96
|
+
}
|
|
97
|
+
const { aal, acr, afr, amr, at_hash, aud, auth_time, azp, c_hash, cid, exp, gty, iat, iss, jti, loa, nbf, nonce, per, rls, s_hash, scp, sid, sih, sub, suh, tid, token_type, ...rest } = decoded;
|
|
98
|
+
const claims = ((0, is_1.isObject)(rest) ? rest : {});
|
|
99
|
+
return (0, utils_1.removeUndefined)({
|
|
100
|
+
accessTokenHash: at_hash,
|
|
101
|
+
adjustedAccessLevel: aal,
|
|
102
|
+
audience: aud ?? [],
|
|
103
|
+
authContextClass: acr,
|
|
104
|
+
authFactor: afr,
|
|
105
|
+
authMethods: amr ?? [],
|
|
106
|
+
authorizedParty: azp,
|
|
107
|
+
authTime: auth_time ? new Date(auth_time * 1000) : undefined,
|
|
108
|
+
clientId: cid,
|
|
109
|
+
codeHash: c_hash,
|
|
110
|
+
expiresAt: exp ? new Date(exp * 1000) : undefined,
|
|
111
|
+
grantType: gty,
|
|
112
|
+
issuedAt: iat ? new Date(iat * 1000) : undefined,
|
|
113
|
+
issuer: iss,
|
|
114
|
+
levelOfAssurance: loa,
|
|
115
|
+
nonce,
|
|
116
|
+
notBefore: nbf ? new Date(nbf * 1000) : undefined,
|
|
117
|
+
permissions: (0, is_1.isArray)(per) ? per : (0, is_1.isString)(per) ? [per] : [],
|
|
118
|
+
roles: (0, is_1.isArray)(rls) ? rls : (0, is_1.isString)(rls) ? [rls] : [],
|
|
119
|
+
scope: (0, is_1.isArray)(scp) ? scp : (0, is_1.isString)(scp) ? [scp] : [],
|
|
120
|
+
sessionHint: sih,
|
|
121
|
+
sessionId: sid,
|
|
122
|
+
stateHash: s_hash,
|
|
123
|
+
subject: sub ? sub : "unknown",
|
|
124
|
+
subjectHint: suh,
|
|
125
|
+
tenantId: tid,
|
|
126
|
+
tokenId: jti ? jti : "unknown",
|
|
127
|
+
tokenType: token_type ? token_type : "unknown",
|
|
128
|
+
claims,
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
exports._parseJwtPayload = _parseJwtPayload;
|
|
132
|
+
//# sourceMappingURL=jwt-payload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt-payload.js","sourceRoot":"","sources":["../../../src/utils/private/jwt-payload.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AACnC,wCAAqD;AACrD,oCAAuF;AAGvF,0CAAiD;AACjD,mCAAoC;AACpC,yCAAwC;AAExC,+CAA0F;AAenF,MAAM,iBAAiB,GAAG,CAC/B,MAAc,EACd,OAA0B,EAC1B,OAAuB,EACf,EAAE;IACV,IAAI,CAAC,IAAA,aAAQ,EAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,iBAAQ,CAAC,uBAAuB,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,CAAC,IAAA,cAAS,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,iBAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,iBAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,IAAA,aAAQ,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,iBAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,IAAA,aAAQ,EAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,iBAAQ,CAAC,wBAAwB,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAErE,MAAM,OAAO,GAAG,IAAA,aAAQ,EAAC,OAAO,CAAC,eAAe,CAAC;QAC/C,CAAC,CAAC,OAAO,CAAC,eAAe;QACzB,CAAC,CAAC,IAAA,aAAQ,EAAC,OAAO,CAAC,WAAW,CAAC;YAC7B,CAAC,CAAC,IAAA,oCAAsB,EAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC;YAC/D,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,MAAM,GAAG,IAAA,aAAQ,EAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,CAAC,CAAC,OAAO,CAAC,QAAQ;QAClB,CAAC,CAAC,IAAA,aAAQ,EAAC,OAAO,CAAC,QAAQ,CAAC;YAC1B,CAAC,CAAC,IAAA,6BAAe,EAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC;YACrD,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,MAAM,GAAG,IAAA,aAAQ,EAAC,OAAO,CAAC,SAAS,CAAC;QACxC,CAAC,CAAC,OAAO,CAAC,SAAS;QACnB,CAAC,CAAC,IAAA,aAAQ,EAAC,OAAO,CAAC,SAAS,CAAC;YAC3B,CAAC,CAAC,IAAA,8BAAgB,EAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;YACvD,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,OAAO,GAAG,IAAA,aAAQ,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,mBAAU,GAAE,CAAC;IAE3E,MAAM,MAAM,GAAc,IAAA,uBAAe,EAAC;QACxC,GAAG,EAAE,IAAA,aAAQ,EAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;QACpF,GAAG,EAAE,IAAA,aAAQ,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;QAC9E,GAAG,EAAE,IAAA,aAAQ,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QAClE,GAAG,EAAE,IAAA,YAAO,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QACnE,OAAO;QACP,GAAG,EAAE,IAAA,YAAO,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC7D,SAAS,EAAE,IAAA,WAAM,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAW,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/E,GAAG,EAAE,IAAA,aAAQ,EAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;QAC5E,MAAM;QACN,GAAG,EAAE,IAAA,aAAQ,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC9D,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,IAAA,aAAQ,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAChE,GAAG,EAAE,IAAA,WAAM,EAAC,OAAO,CAAC,QAAQ,CAAC;YAC3B,CAAC,CAAC,IAAA,kBAAW,EAAC,OAAO,CAAC,QAAQ,CAAC;YAC/B,CAAC,CAAC,IAAA,kBAAW,EAAC,IAAI,IAAI,EAAE,CAAC;QAC3B,GAAG,EAAE,MAAM,CAAC,MAAM;QAClB,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE,IAAA,aAAQ,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;QAC9E,GAAG,EAAE,IAAA,WAAM,EAAC,OAAO,CAAC,SAAS,CAAC;YAC5B,CAAC,CAAC,IAAA,kBAAW,EAAC,OAAO,CAAC,SAAS,CAAC;YAChC,CAAC,CAAC,IAAA,kBAAW,EAAC,IAAI,IAAI,EAAE,CAAC;QAC3B,KAAK,EAAE,IAAA,aAAQ,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAC1D,GAAG,EAAE,IAAA,YAAO,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QACnE,GAAG,EAAE,IAAA,YAAO,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACvD,MAAM;QACN,GAAG,EAAE,IAAA,YAAO,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACvD,GAAG,EAAE,IAAA,aAAQ,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAChE,GAAG,EAAE,IAAA,aAAQ,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QACpE,GAAG,EAAE,OAAO,CAAC,OAAO;QACpB,GAAG,EAAE,IAAA,aAAQ,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QACpE,GAAG,EAAE,IAAA,aAAQ,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC9D,UAAU,EAAE,OAAO,CAAC,SAAS;KAC9B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,SAAG,CAAC,MAAM,CACxB,IAAI,CAAC,SAAS,CAAC;QACb,GAAG,MAAM;QACT,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;KAC1B,CAAC,EACF,WAAW,CACZ,CAAC;IAEF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC/D,CAAC,CAAC;AAvFW,QAAA,iBAAiB,qBAuF5B;AAIK,MAAM,iBAAiB,GAAG,CAC/B,OAAe,EACE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAoB,CAAC;AAF9D,QAAA,iBAAiB,qBAE6C;AAEpE,MAAM,gBAAgB,GAAG,CAC9B,OAAwB,EACH,EAAE;IACvB,IAAI,CAAC,IAAA,aAAQ,EAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,iBAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC,IAAA,aAAQ,EAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,iBAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC,IAAA,aAAQ,EAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,iBAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,EACJ,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,OAAO,EACP,GAAG,EACH,SAAS,EACT,GAAG,EACH,MAAM,EACN,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,KAAK,EACL,GAAG,EACH,GAAG,EACH,MAAM,EACN,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,UAAU,EACV,GAAG,IAAI,EACR,GAAG,OAAO,CAAC;IAEZ,MAAM,MAAM,GAAG,CAAC,IAAA,aAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAM,CAAC;IAEjD,OAAO,IAAA,uBAAe,EAAC;QACrB,eAAe,EAAE,OAAO;QACxB,mBAAmB,EAAE,GAAG;QACxB,QAAQ,EAAE,GAAG,IAAI,EAAE;QACnB,gBAAgB,EAAE,GAAG;QACrB,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,GAAG,IAAI,EAAE;QACtB,eAAe,EAAE,GAAG;QACpB,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QAC5D,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QACjD,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QAChD,MAAM,EAAE,GAAG;QACX,gBAAgB,EAAE,GAAG;QACrB,KAAK;QACL,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QACjD,WAAW,EAAE,IAAA,YAAO,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,aAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QAC5D,KAAK,EAAE,IAAA,YAAO,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,aAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QACtD,KAAK,EAAE,IAAA,YAAO,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,aAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QACtD,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;QAC9B,WAAW,EAAE,GAAG;QAChB,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;QAC9B,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QAC9C,MAAM;KACP,CAAC,CAAC;AACL,CAAC,CAAC;AA9EW,QAAA,gBAAgB,oBA8E3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt-validate.d.ts","sourceRoot":"","sources":["../../../src/utils/private/jwt-validate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAG5D,eAAO,MAAM,kBAAkB,oCACnB,mBAAmB,CAAC,CAAC,KAC9B,KAAK,SAAS,CAwChB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._createJwtValidate = void 0;
|
|
4
|
+
const is_1 = require("@lindorm/is");
|
|
5
|
+
const create_hash_1 = require("./create-hash");
|
|
6
|
+
const _createJwtValidate = (validate) => {
|
|
7
|
+
const algorithm = validate.algorithm;
|
|
8
|
+
const ops = {};
|
|
9
|
+
for (const [key, value] of Object.entries(validate)) {
|
|
10
|
+
if (key === "algorithm")
|
|
11
|
+
continue;
|
|
12
|
+
if (key === "accessToken" && algorithm && (0, is_1.isString)(value)) {
|
|
13
|
+
ops[key] = { $eq: (0, create_hash_1._createAccessTokenHash)(algorithm, value) };
|
|
14
|
+
continue;
|
|
15
|
+
}
|
|
16
|
+
if (key === "authCode" && algorithm && (0, is_1.isString)(value)) {
|
|
17
|
+
ops[key] = { $eq: (0, create_hash_1._createCodeHash)(algorithm, value) };
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
if (key === "authState" && algorithm && (0, is_1.isString)(value)) {
|
|
21
|
+
ops[key] = { $eq: (0, create_hash_1._createStateHash)(algorithm, value) };
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
if ((0, is_1.isArray)(value)) {
|
|
25
|
+
ops[key] = { $all: value };
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
if ((0, is_1.isNumber)(value)) {
|
|
29
|
+
ops[key] = { $eq: value };
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
if ((0, is_1.isString)(value)) {
|
|
33
|
+
ops[key] = { $eq: value };
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
if ((0, is_1.isObject)(value)) {
|
|
37
|
+
ops[key] = value;
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
throw new Error(`Unsupported value: ${value} for key: ${key}`);
|
|
41
|
+
}
|
|
42
|
+
return ops;
|
|
43
|
+
};
|
|
44
|
+
exports._createJwtValidate = _createJwtValidate;
|
|
45
|
+
//# sourceMappingURL=jwt-validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt-validate.js","sourceRoot":"","sources":["../../../src/utils/private/jwt-validate.ts"],"names":[],"mappings":";;;AAAA,oCAAoE;AAGpE,+CAA0F;AAEnF,MAAM,kBAAkB,GAAG,CAChC,QAA+B,EACd,EAAE;IACnB,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IACrC,MAAM,GAAG,GAAoB,EAAE,CAAC;IAEhC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,IAAI,GAAG,KAAK,WAAW;YAAE,SAAS;QAElC,IAAI,GAAG,KAAK,aAAa,IAAI,SAAS,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAA,oCAAsB,EAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;YAC7D,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,UAAU,IAAI,SAAS,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAA,6BAAe,EAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;YACtD,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,WAAW,IAAI,SAAS,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAA,8BAAgB,EAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;YACvD,SAAS;QACX,CAAC;QACD,IAAI,IAAA,YAAO,EAAS,KAAK,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,GAAG,CAAC,GAAG,KAAkB,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,aAAa,GAAG,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AA1CW,QAAA,kBAAkB,sBA0C7B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { KryptosAlgorithm } from "@lindorm/kryptos";
|
|
2
|
+
import { Dict } from "@lindorm/types";
|
|
3
|
+
import { Operators, VerifyJwtOptions } from "../../types";
|
|
4
|
+
export declare const _createJwtVerify: (algorithm: KryptosAlgorithm, verify: VerifyJwtOptions, clockTolerance: number) => Dict<Operators>;
|
|
5
|
+
//# sourceMappingURL=jwt-verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt-verify.d.ts","sourceRoot":"","sources":["../../../src/utils/private/jwt-verify.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAa,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAwDrE,eAAO,MAAM,gBAAgB,cAChB,gBAAgB,UACnB,gBAAgB,kBACR,MAAM,KACrB,KAAK,SAAS,CAoDhB,CAAC"}
|