@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.
Files changed (219) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +1 -0
  3. package/dist/classes/Aegis.d.ts +27 -0
  4. package/dist/classes/Aegis.d.ts.map +1 -0
  5. package/dist/classes/Aegis.js +113 -0
  6. package/dist/classes/Aegis.js.map +1 -0
  7. package/dist/classes/AegisVault.d.ts +24 -0
  8. package/dist/classes/AegisVault.d.ts.map +1 -0
  9. package/dist/classes/AegisVault.js +141 -0
  10. package/dist/classes/AegisVault.js.map +1 -0
  11. package/dist/classes/JweKit.d.ts +13 -0
  12. package/dist/classes/JweKit.d.ts.map +1 -0
  13. package/dist/classes/JweKit.js +154 -0
  14. package/dist/classes/JweKit.js.map +1 -0
  15. package/dist/classes/JwsKit.d.ts +11 -0
  16. package/dist/classes/JwsKit.d.ts.map +1 -0
  17. package/dist/classes/JwsKit.js +95 -0
  18. package/dist/classes/JwsKit.js.map +1 -0
  19. package/dist/classes/JwtKit.d.ts +14 -0
  20. package/dist/classes/JwtKit.d.ts.map +1 -0
  21. package/dist/classes/JwtKit.js +127 -0
  22. package/dist/classes/JwtKit.js.map +1 -0
  23. package/dist/classes/index.d.ts +6 -0
  24. package/dist/classes/index.d.ts.map +1 -0
  25. package/dist/classes/index.js +22 -0
  26. package/dist/classes/index.js.map +1 -0
  27. package/dist/errors/AegisError.d.ts +4 -0
  28. package/dist/errors/AegisError.d.ts.map +1 -0
  29. package/dist/errors/AegisError.js +8 -0
  30. package/dist/errors/AegisError.js.map +1 -0
  31. package/dist/errors/AegisVaultError.d.ts +4 -0
  32. package/dist/errors/AegisVaultError.d.ts.map +1 -0
  33. package/dist/errors/AegisVaultError.js +8 -0
  34. package/dist/errors/AegisVaultError.js.map +1 -0
  35. package/dist/errors/JweError.d.ts +4 -0
  36. package/dist/errors/JweError.d.ts.map +1 -0
  37. package/dist/errors/JweError.js +8 -0
  38. package/dist/errors/JweError.js.map +1 -0
  39. package/dist/errors/JwsError.d.ts +4 -0
  40. package/dist/errors/JwsError.d.ts.map +1 -0
  41. package/dist/errors/JwsError.js +8 -0
  42. package/dist/errors/JwsError.js.map +1 -0
  43. package/dist/errors/JwtError.d.ts +4 -0
  44. package/dist/errors/JwtError.d.ts.map +1 -0
  45. package/dist/errors/JwtError.js +8 -0
  46. package/dist/errors/JwtError.js.map +1 -0
  47. package/dist/errors/index.d.ts +6 -0
  48. package/dist/errors/index.d.ts.map +1 -0
  49. package/dist/errors/index.js +22 -0
  50. package/dist/errors/index.js.map +1 -0
  51. package/dist/index.d.ts +4 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +20 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/types/aegis-vault.d.ts +29 -0
  56. package/dist/types/aegis-vault.d.ts.map +1 -0
  57. package/dist/types/aegis-vault.js +3 -0
  58. package/dist/types/aegis-vault.js.map +1 -0
  59. package/dist/types/aegis.d.ts +14 -0
  60. package/dist/types/aegis.d.ts.map +1 -0
  61. package/dist/types/aegis.js +3 -0
  62. package/dist/types/aegis.js.map +1 -0
  63. package/dist/types/header.d.ts +63 -0
  64. package/dist/types/header.d.ts.map +1 -0
  65. package/dist/types/header.js +3 -0
  66. package/dist/types/header.js.map +1 -0
  67. package/dist/types/index.d.ts +11 -0
  68. package/dist/types/index.d.ts.map +1 -0
  69. package/dist/types/index.js +27 -0
  70. package/dist/types/index.js.map +1 -0
  71. package/dist/types/interfaces/aegis-vault.d.ts +12 -0
  72. package/dist/types/interfaces/aegis-vault.d.ts.map +1 -0
  73. package/dist/types/interfaces/aegis-vault.js +3 -0
  74. package/dist/types/interfaces/aegis-vault.js.map +1 -0
  75. package/dist/types/interfaces/aegis.d.ts +22 -0
  76. package/dist/types/interfaces/aegis.d.ts.map +1 -0
  77. package/dist/types/interfaces/aegis.js +3 -0
  78. package/dist/types/interfaces/aegis.js.map +1 -0
  79. package/dist/types/interfaces/index.d.ts +6 -0
  80. package/dist/types/interfaces/index.d.ts.map +1 -0
  81. package/dist/types/interfaces/index.js +22 -0
  82. package/dist/types/interfaces/index.js.map +1 -0
  83. package/dist/types/interfaces/jwe-kit.d.ts +7 -0
  84. package/dist/types/interfaces/jwe-kit.d.ts.map +1 -0
  85. package/dist/types/interfaces/jwe-kit.js +3 -0
  86. package/dist/types/interfaces/jwe-kit.js.map +1 -0
  87. package/dist/types/interfaces/jws-kit.d.ts +6 -0
  88. package/dist/types/interfaces/jws-kit.d.ts.map +1 -0
  89. package/dist/types/interfaces/jws-kit.js +3 -0
  90. package/dist/types/interfaces/jws-kit.js.map +1 -0
  91. package/dist/types/interfaces/jwt-kit.d.ts +8 -0
  92. package/dist/types/interfaces/jwt-kit.d.ts.map +1 -0
  93. package/dist/types/interfaces/jwt-kit.js +3 -0
  94. package/dist/types/interfaces/jwt-kit.js.map +1 -0
  95. package/dist/types/jwe/index.d.ts +5 -0
  96. package/dist/types/jwe/index.d.ts.map +1 -0
  97. package/dist/types/jwe/index.js +21 -0
  98. package/dist/types/jwe/index.js.map +1 -0
  99. package/dist/types/jwe/jwe-decode.d.ts +9 -0
  100. package/dist/types/jwe/jwe-decode.d.ts.map +1 -0
  101. package/dist/types/jwe/jwe-decode.js +3 -0
  102. package/dist/types/jwe/jwe-decode.js.map +1 -0
  103. package/dist/types/jwe/jwe-decrypt.d.ts +14 -0
  104. package/dist/types/jwe/jwe-decrypt.d.ts.map +1 -0
  105. package/dist/types/jwe/jwe-decrypt.js +3 -0
  106. package/dist/types/jwe/jwe-decrypt.js.map +1 -0
  107. package/dist/types/jwe/jwe-encrypt.d.ts +7 -0
  108. package/dist/types/jwe/jwe-encrypt.d.ts.map +1 -0
  109. package/dist/types/jwe/jwe-encrypt.js +3 -0
  110. package/dist/types/jwe/jwe-encrypt.js.map +1 -0
  111. package/dist/types/jwe/jwe-kit.d.ts +9 -0
  112. package/dist/types/jwe/jwe-kit.d.ts.map +1 -0
  113. package/dist/types/jwe/jwe-kit.js +3 -0
  114. package/dist/types/jwe/jwe-kit.js.map +1 -0
  115. package/dist/types/jws/index.d.ts +5 -0
  116. package/dist/types/jws/index.d.ts.map +1 -0
  117. package/dist/types/jws/index.js +21 -0
  118. package/dist/types/jws/index.js.map +1 -0
  119. package/dist/types/jws/jws-decode.d.ts +7 -0
  120. package/dist/types/jws/jws-decode.d.ts.map +1 -0
  121. package/dist/types/jws/jws-decode.js +3 -0
  122. package/dist/types/jws/jws-decode.js.map +1 -0
  123. package/dist/types/jws/jws-kit.d.ts +9 -0
  124. package/dist/types/jws/jws-kit.d.ts.map +1 -0
  125. package/dist/types/jws/jws-kit.js +3 -0
  126. package/dist/types/jws/jws-kit.js.map +1 -0
  127. package/dist/types/jws/jws-sign.d.ts +9 -0
  128. package/dist/types/jws/jws-sign.d.ts.map +1 -0
  129. package/dist/types/jws/jws-sign.js +3 -0
  130. package/dist/types/jws/jws-sign.js.map +1 -0
  131. package/dist/types/jws/jws-verify.d.ts +14 -0
  132. package/dist/types/jws/jws-verify.d.ts.map +1 -0
  133. package/dist/types/jws/jws-verify.js +3 -0
  134. package/dist/types/jws/jws-verify.js.map +1 -0
  135. package/dist/types/jwt/index.d.ts +8 -0
  136. package/dist/types/jwt/index.d.ts.map +1 -0
  137. package/dist/types/jwt/index.js +24 -0
  138. package/dist/types/jwt/index.js.map +1 -0
  139. package/dist/types/jwt/jwt-claims.d.ts +38 -0
  140. package/dist/types/jwt/jwt-claims.d.ts.map +1 -0
  141. package/dist/types/jwt/jwt-claims.js +3 -0
  142. package/dist/types/jwt/jwt-claims.js.map +1 -0
  143. package/dist/types/jwt/jwt-decode.d.ts +9 -0
  144. package/dist/types/jwt/jwt-decode.d.ts.map +1 -0
  145. package/dist/types/jwt/jwt-decode.js +3 -0
  146. package/dist/types/jwt/jwt-decode.js.map +1 -0
  147. package/dist/types/jwt/jwt-kit.d.ts +9 -0
  148. package/dist/types/jwt/jwt-kit.d.ts.map +1 -0
  149. package/dist/types/jwt/jwt-kit.js +3 -0
  150. package/dist/types/jwt/jwt-kit.js.map +1 -0
  151. package/dist/types/jwt/jwt-parse.d.ts +34 -0
  152. package/dist/types/jwt/jwt-parse.d.ts.map +1 -0
  153. package/dist/types/jwt/jwt-parse.js +3 -0
  154. package/dist/types/jwt/jwt-parse.js.map +1 -0
  155. package/dist/types/jwt/jwt-sign.d.ts +48 -0
  156. package/dist/types/jwt/jwt-sign.d.ts.map +1 -0
  157. package/dist/types/jwt/jwt-sign.js +3 -0
  158. package/dist/types/jwt/jwt-sign.js.map +1 -0
  159. package/dist/types/jwt/jwt-validate.d.ts +32 -0
  160. package/dist/types/jwt/jwt-validate.d.ts.map +1 -0
  161. package/dist/types/jwt/jwt-validate.js +3 -0
  162. package/dist/types/jwt/jwt-validate.js.map +1 -0
  163. package/dist/types/jwt/jwt-verify.d.ts +41 -0
  164. package/dist/types/jwt/jwt-verify.d.ts.map +1 -0
  165. package/dist/types/jwt/jwt-verify.js +3 -0
  166. package/dist/types/jwt/jwt-verify.js.map +1 -0
  167. package/dist/types/level-of-assurance.d.ts +3 -0
  168. package/dist/types/level-of-assurance.d.ts.map +1 -0
  169. package/dist/types/level-of-assurance.js +3 -0
  170. package/dist/types/level-of-assurance.js.map +1 -0
  171. package/dist/types/oidc.d.ts +27 -0
  172. package/dist/types/oidc.d.ts.map +1 -0
  173. package/dist/types/oidc.js +3 -0
  174. package/dist/types/oidc.js.map +1 -0
  175. package/dist/types/operators.d.ts +27 -0
  176. package/dist/types/operators.d.ts.map +1 -0
  177. package/dist/types/operators.js +3 -0
  178. package/dist/types/operators.js.map +1 -0
  179. package/dist/utils/private/create-hash.d.ts +8 -0
  180. package/dist/utils/private/create-hash.d.ts.map +1 -0
  181. package/dist/utils/private/create-hash.js +30 -0
  182. package/dist/utils/private/create-hash.js.map +1 -0
  183. package/dist/utils/private/create-token-signature.d.ts +9 -0
  184. package/dist/utils/private/create-token-signature.d.ts.map +1 -0
  185. package/dist/utils/private/create-token-signature.js +41 -0
  186. package/dist/utils/private/create-token-signature.js.map +1 -0
  187. package/dist/utils/private/jwt-payload.d.ts +20 -0
  188. package/dist/utils/private/jwt-payload.d.ts.map +1 -0
  189. package/dist/utils/private/jwt-payload.js +132 -0
  190. package/dist/utils/private/jwt-payload.js.map +1 -0
  191. package/dist/utils/private/jwt-validate.d.ts +4 -0
  192. package/dist/utils/private/jwt-validate.d.ts.map +1 -0
  193. package/dist/utils/private/jwt-validate.js +45 -0
  194. package/dist/utils/private/jwt-validate.js.map +1 -0
  195. package/dist/utils/private/jwt-verify.d.ts +5 -0
  196. package/dist/utils/private/jwt-verify.d.ts.map +1 -0
  197. package/dist/utils/private/jwt-verify.js +109 -0
  198. package/dist/utils/private/jwt-verify.js.map +1 -0
  199. package/dist/utils/private/token-header.d.ts +5 -0
  200. package/dist/utils/private/token-header.d.ts.map +1 -0
  201. package/dist/utils/private/token-header.js +193 -0
  202. package/dist/utils/private/token-header.js.map +1 -0
  203. package/dist/utils/private/token-type.d.ts +3 -0
  204. package/dist/utils/private/token-type.d.ts.map +1 -0
  205. package/dist/utils/private/token-type.js +11 -0
  206. package/dist/utils/private/token-type.js.map +1 -0
  207. package/dist/utils/private/validate-value.d.ts +3 -0
  208. package/dist/utils/private/validate-value.d.ts.map +1 -0
  209. package/dist/utils/private/validate-value.js +91 -0
  210. package/dist/utils/private/validate-value.js.map +1 -0
  211. package/dist/utils/private/validate.d.ts +4 -0
  212. package/dist/utils/private/validate.d.ts.map +1 -0
  213. package/dist/utils/private/validate.js +19 -0
  214. package/dist/utils/private/validate.js.map +1 -0
  215. package/dist/utils/private/verify-token-signature.d.ts +3 -0
  216. package/dist/utils/private/verify-token-signature.d.ts.map +1 -0
  217. package/dist/utils/private/verify-token-signature.js +42 -0
  218. package/dist/utils/private/verify-token-signature.js.map +1 -0
  219. 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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=jwt-sign.js.map
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=jwt-validate.js.map
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=jwt-verify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-verify.js","sourceRoot":"","sources":["../../../src/types/jwt/jwt-verify.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export type LevelOfAssurance = 1 | 2 | 3 | 4;
2
+ export type AdjustedAccessLevel = LevelOfAssurance;
3
+ //# sourceMappingURL=level-of-assurance.d.ts.map
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=level-of-assurance.js.map
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=oidc.js.map
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=operators.js.map
@@ -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":"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"}
@@ -0,0 +1,4 @@
1
+ import { Dict } from "@lindorm/types";
2
+ import { Operators, ValidateJwtOptions } from "../../types";
3
+ export declare const _createJwtValidate: <C extends Dict = Dict>(validate: ValidateJwtOptions<C>) => Dict<Operators>;
4
+ //# sourceMappingURL=jwt-validate.d.ts.map
@@ -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"}