@lindorm/aegis 0.4.4 → 0.6.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 (429) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/__tests__/jwt-interop.test.ts +13 -10
  3. package/dist/classes/Aegis.d.ts +13 -20
  4. package/dist/classes/Aegis.d.ts.map +1 -1
  5. package/dist/classes/Aegis.js +33 -119
  6. package/dist/classes/Aegis.js.map +1 -1
  7. package/dist/classes/JweKit.d.ts +1 -0
  8. package/dist/classes/JweKit.d.ts.map +1 -1
  9. package/dist/classes/JweKit.js +59 -12
  10. package/dist/classes/JweKit.js.map +1 -1
  11. package/dist/classes/JwsKit.d.ts +1 -0
  12. package/dist/classes/JwsKit.d.ts.map +1 -1
  13. package/dist/classes/JwsKit.js +54 -14
  14. package/dist/classes/JwsKit.js.map +1 -1
  15. package/dist/classes/JwtKit.d.ts +2 -0
  16. package/dist/classes/JwtKit.d.ts.map +1 -1
  17. package/dist/classes/JwtKit.js +90 -17
  18. package/dist/classes/JwtKit.js.map +1 -1
  19. package/dist/classes/SignatureKit.d.ts.map +1 -1
  20. package/dist/classes/SignatureKit.js +3 -0
  21. package/dist/classes/SignatureKit.js.map +1 -1
  22. package/dist/classes/index.d.ts +0 -3
  23. package/dist/classes/index.d.ts.map +1 -1
  24. package/dist/classes/index.js +0 -3
  25. package/dist/classes/index.js.map +1 -1
  26. package/dist/constants/token-type.d.ts +6 -0
  27. package/dist/constants/token-type.d.ts.map +1 -0
  28. package/dist/constants/token-type.js +20 -0
  29. package/dist/constants/token-type.js.map +1 -0
  30. package/dist/errors/index.d.ts +0 -3
  31. package/dist/errors/index.d.ts.map +1 -1
  32. package/dist/errors/index.js +0 -3
  33. package/dist/errors/index.js.map +1 -1
  34. package/dist/guards/index.d.ts +3 -0
  35. package/dist/guards/index.d.ts.map +1 -0
  36. package/dist/{types/cws → guards}/index.js +2 -4
  37. package/dist/guards/index.js.map +1 -0
  38. package/dist/guards/is-parsed-jws.d.ts +3 -0
  39. package/dist/guards/is-parsed-jws.d.ts.map +1 -0
  40. package/dist/guards/is-parsed-jws.js +6 -0
  41. package/dist/guards/is-parsed-jws.js.map +1 -0
  42. package/dist/guards/is-parsed-jwt.d.ts +3 -0
  43. package/dist/guards/is-parsed-jwt.d.ts.map +1 -0
  44. package/dist/guards/is-parsed-jwt.js +6 -0
  45. package/dist/guards/is-parsed-jwt.js.map +1 -0
  46. package/dist/index.d.ts +2 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +1 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/interfaces/Aegis.d.ts +8 -22
  51. package/dist/interfaces/Aegis.d.ts.map +1 -1
  52. package/dist/interfaces/index.d.ts +0 -3
  53. package/dist/interfaces/index.d.ts.map +1 -1
  54. package/dist/interfaces/index.js +0 -3
  55. package/dist/interfaces/index.js.map +1 -1
  56. package/dist/internal/constants/aegis-profile-keys.d.ts +2 -0
  57. package/dist/internal/constants/aegis-profile-keys.d.ts.map +1 -0
  58. package/dist/internal/constants/aegis-profile-keys.js +37 -0
  59. package/dist/internal/constants/aegis-profile-keys.js.map +1 -0
  60. package/dist/internal/constants/header.d.ts +2 -2
  61. package/dist/internal/constants/header.d.ts.map +1 -1
  62. package/dist/internal/constants/header.js +1 -4
  63. package/dist/internal/constants/header.js.map +1 -1
  64. package/dist/internal/utils/compute-jwk-thumbprint.d.ts +4 -0
  65. package/dist/internal/utils/compute-jwk-thumbprint.d.ts.map +1 -0
  66. package/dist/internal/utils/compute-jwk-thumbprint.js +25 -0
  67. package/dist/internal/utils/compute-jwk-thumbprint.js.map +1 -0
  68. package/dist/internal/utils/compute-typ-header.d.ts +7 -0
  69. package/dist/internal/utils/compute-typ-header.d.ts.map +1 -0
  70. package/dist/internal/utils/compute-typ-header.js +68 -0
  71. package/dist/internal/utils/compute-typ-header.js.map +1 -0
  72. package/dist/internal/utils/extract-aegis-profile.d.ts +7 -0
  73. package/dist/internal/utils/extract-aegis-profile.d.ts.map +1 -0
  74. package/dist/internal/utils/extract-aegis-profile.js +34 -0
  75. package/dist/internal/utils/extract-aegis-profile.js.map +1 -0
  76. package/dist/internal/utils/extract-claims.d.ts +15 -0
  77. package/dist/internal/utils/extract-claims.d.ts.map +1 -0
  78. package/dist/internal/utils/extract-claims.js +201 -0
  79. package/dist/internal/utils/extract-claims.js.map +1 -0
  80. package/dist/internal/utils/extract-token-delegation.d.ts +6 -0
  81. package/dist/internal/utils/extract-token-delegation.d.ts.map +1 -0
  82. package/dist/internal/utils/extract-token-delegation.js +28 -0
  83. package/dist/internal/utils/extract-token-delegation.js.map +1 -0
  84. package/dist/internal/utils/generate-token-id.d.ts +2 -0
  85. package/dist/internal/utils/generate-token-id.d.ts.map +1 -0
  86. package/dist/internal/utils/generate-token-id.js +9 -0
  87. package/dist/internal/utils/generate-token-id.js.map +1 -0
  88. package/dist/internal/utils/jose-header.d.ts +2 -2
  89. package/dist/internal/utils/jose-header.d.ts.map +1 -1
  90. package/dist/internal/utils/jose-header.js +5 -5
  91. package/dist/internal/utils/jose-header.js.map +1 -1
  92. package/dist/internal/utils/jwt-payload.d.ts.map +1 -1
  93. package/dist/internal/utils/jwt-payload.js +50 -43
  94. package/dist/internal/utils/jwt-payload.js.map +1 -1
  95. package/dist/internal/utils/jwt-verify.d.ts.map +1 -1
  96. package/dist/internal/utils/jwt-verify.js +30 -6
  97. package/dist/internal/utils/jwt-verify.js.map +1 -1
  98. package/dist/internal/utils/parse-introspection.d.ts +7 -0
  99. package/dist/internal/utils/parse-introspection.d.ts.map +1 -0
  100. package/dist/internal/utils/parse-introspection.js +28 -0
  101. package/dist/internal/utils/parse-introspection.js.map +1 -0
  102. package/dist/internal/utils/parse-userinfo.d.ts +5 -0
  103. package/dist/internal/utils/parse-userinfo.d.ts.map +1 -0
  104. package/dist/internal/utils/parse-userinfo.js +26 -0
  105. package/dist/internal/utils/parse-userinfo.js.map +1 -0
  106. package/dist/internal/utils/resolve-cert-binding.d.ts +4 -0
  107. package/dist/internal/utils/resolve-cert-binding.d.ts.map +1 -0
  108. package/dist/internal/utils/resolve-cert-binding.js +30 -0
  109. package/dist/internal/utils/resolve-cert-binding.js.map +1 -0
  110. package/dist/internal/utils/token-header.d.ts +2 -2
  111. package/dist/internal/utils/token-header.d.ts.map +1 -1
  112. package/dist/internal/utils/token-header.js +5 -16
  113. package/dist/internal/utils/token-header.js.map +1 -1
  114. package/dist/internal/utils/validate-actor.d.ts +3 -0
  115. package/dist/internal/utils/validate-actor.d.ts.map +1 -0
  116. package/dist/internal/utils/validate-actor.js +27 -0
  117. package/dist/internal/utils/validate-actor.js.map +1 -0
  118. package/dist/internal/utils/validate-crit.d.ts +4 -0
  119. package/dist/internal/utils/validate-crit.d.ts.map +1 -0
  120. package/dist/internal/utils/validate-crit.js +55 -0
  121. package/dist/internal/utils/validate-crit.js.map +1 -0
  122. package/dist/internal/utils/verify-cert-binding.d.ts +14 -0
  123. package/dist/internal/utils/verify-cert-binding.d.ts.map +1 -0
  124. package/dist/internal/utils/verify-cert-binding.js +25 -0
  125. package/dist/internal/utils/verify-cert-binding.js.map +1 -0
  126. package/dist/internal/utils/verify-dpop-proof.d.ts +10 -0
  127. package/dist/internal/utils/verify-dpop-proof.d.ts.map +1 -0
  128. package/dist/internal/utils/verify-dpop-proof.js +76 -0
  129. package/dist/internal/utils/verify-dpop-proof.js.map +1 -0
  130. package/dist/mocks/create-mock-aegis.d.ts +2 -1
  131. package/dist/mocks/create-mock-aegis.d.ts.map +1 -1
  132. package/dist/mocks/create-mock-aegis.js +49 -75
  133. package/dist/mocks/create-mock-aegis.js.map +1 -1
  134. package/dist/mocks/index.d.ts +1 -1
  135. package/dist/mocks/index.d.ts.map +1 -1
  136. package/dist/mocks/index.js +3 -15
  137. package/dist/mocks/index.js.map +1 -1
  138. package/dist/types/aegis.d.ts +3 -0
  139. package/dist/types/aegis.d.ts.map +1 -1
  140. package/dist/types/claims/act-claim.d.ts +8 -0
  141. package/dist/types/claims/act-claim.d.ts.map +1 -0
  142. package/dist/{interfaces/CwtKit.js → types/claims/act-claim.js} +1 -1
  143. package/dist/types/claims/act-claim.js.map +1 -0
  144. package/dist/types/claims/aegis-introspection.d.ts +16 -0
  145. package/dist/types/claims/aegis-introspection.d.ts.map +1 -0
  146. package/dist/types/claims/aegis-introspection.js +3 -0
  147. package/dist/types/claims/aegis-introspection.js.map +1 -0
  148. package/dist/types/claims/aegis-profile.d.ts +44 -0
  149. package/dist/types/claims/aegis-profile.d.ts.map +1 -0
  150. package/dist/types/claims/aegis-profile.js +3 -0
  151. package/dist/types/claims/aegis-profile.js.map +1 -0
  152. package/dist/types/claims/aegis-userinfo.d.ts +5 -0
  153. package/dist/types/claims/aegis-userinfo.d.ts.map +1 -0
  154. package/dist/types/claims/aegis-userinfo.js +3 -0
  155. package/dist/types/claims/aegis-userinfo.js.map +1 -0
  156. package/dist/types/claims/confirmation-claim.d.ts +9 -0
  157. package/dist/types/claims/confirmation-claim.d.ts.map +1 -0
  158. package/dist/types/claims/confirmation-claim.js +3 -0
  159. package/dist/types/claims/confirmation-claim.js.map +1 -0
  160. package/dist/types/claims/delegation-claims.d.ts +6 -0
  161. package/dist/types/claims/delegation-claims.d.ts.map +1 -0
  162. package/dist/types/claims/delegation-claims.js +3 -0
  163. package/dist/types/claims/delegation-claims.js.map +1 -0
  164. package/dist/types/claims/index.d.ts +13 -0
  165. package/dist/types/claims/index.d.ts.map +1 -0
  166. package/dist/types/{cwt → claims}/index.js +12 -7
  167. package/dist/types/claims/index.js.map +1 -0
  168. package/dist/types/claims/jwt/act-claim-wire.d.ts +8 -0
  169. package/dist/types/claims/jwt/act-claim-wire.d.ts.map +1 -0
  170. package/dist/types/claims/jwt/act-claim-wire.js +3 -0
  171. package/dist/types/claims/jwt/act-claim-wire.js.map +1 -0
  172. package/dist/types/claims/jwt/confirmation-claim-wire.d.ts +9 -0
  173. package/dist/types/claims/jwt/confirmation-claim-wire.d.ts.map +1 -0
  174. package/dist/types/claims/jwt/confirmation-claim-wire.js +3 -0
  175. package/dist/types/claims/jwt/confirmation-claim-wire.js.map +1 -0
  176. package/dist/types/claims/jwt/delegation-claims-wire.d.ts +6 -0
  177. package/dist/types/claims/jwt/delegation-claims-wire.d.ts.map +1 -0
  178. package/dist/types/claims/jwt/delegation-claims-wire.js +3 -0
  179. package/dist/types/claims/jwt/delegation-claims-wire.js.map +1 -0
  180. package/dist/types/claims/jwt/index.d.ts +10 -0
  181. package/dist/types/claims/jwt/index.d.ts.map +1 -0
  182. package/dist/types/{cwe → claims/jwt}/index.js +9 -4
  183. package/dist/types/claims/jwt/index.js.map +1 -0
  184. package/dist/types/claims/jwt/jwt-claims.d.ts +8 -0
  185. package/dist/types/claims/jwt/jwt-claims.d.ts.map +1 -0
  186. package/dist/types/claims/jwt/jwt-claims.js.map +1 -0
  187. package/dist/types/claims/jwt/lindorm-claims-wire.d.ts +16 -0
  188. package/dist/types/claims/jwt/lindorm-claims-wire.d.ts.map +1 -0
  189. package/dist/types/claims/jwt/lindorm-claims-wire.js +3 -0
  190. package/dist/types/claims/jwt/lindorm-claims-wire.js.map +1 -0
  191. package/dist/types/claims/jwt/oauth-claims-wire.d.ts +6 -0
  192. package/dist/types/claims/jwt/oauth-claims-wire.d.ts.map +1 -0
  193. package/dist/types/claims/jwt/oauth-claims-wire.js +3 -0
  194. package/dist/types/claims/jwt/oauth-claims-wire.js.map +1 -0
  195. package/dist/types/claims/jwt/oidc-claims-wire.d.ts +11 -0
  196. package/dist/types/claims/jwt/oidc-claims-wire.d.ts.map +1 -0
  197. package/dist/types/claims/jwt/oidc-claims-wire.js +3 -0
  198. package/dist/types/claims/jwt/oidc-claims-wire.js.map +1 -0
  199. package/dist/types/claims/jwt/pop-claims-wire.d.ts +5 -0
  200. package/dist/types/claims/jwt/pop-claims-wire.d.ts.map +1 -0
  201. package/dist/types/claims/jwt/pop-claims-wire.js +3 -0
  202. package/dist/types/claims/jwt/pop-claims-wire.js.map +1 -0
  203. package/dist/types/claims/jwt/std-claims-wire.d.ts +10 -0
  204. package/dist/types/claims/jwt/std-claims-wire.d.ts.map +1 -0
  205. package/dist/types/claims/jwt/std-claims-wire.js +3 -0
  206. package/dist/types/claims/jwt/std-claims-wire.js.map +1 -0
  207. package/dist/types/claims/lindorm-claims.d.ts +18 -0
  208. package/dist/types/claims/lindorm-claims.d.ts.map +1 -0
  209. package/dist/types/claims/lindorm-claims.js +3 -0
  210. package/dist/types/claims/lindorm-claims.js.map +1 -0
  211. package/dist/types/claims/oauth-claims.d.ts +6 -0
  212. package/dist/types/claims/oauth-claims.d.ts.map +1 -0
  213. package/dist/types/claims/oauth-claims.js +3 -0
  214. package/dist/types/claims/oauth-claims.js.map +1 -0
  215. package/dist/types/claims/oidc-claims.d.ts +11 -0
  216. package/dist/types/claims/oidc-claims.d.ts.map +1 -0
  217. package/dist/types/{cose-target.js → claims/oidc-claims.js} +1 -1
  218. package/dist/types/claims/oidc-claims.js.map +1 -0
  219. package/dist/types/claims/pop-claims.d.ts +5 -0
  220. package/dist/types/claims/pop-claims.d.ts.map +1 -0
  221. package/dist/types/{cwe/cwe-decode.js → claims/pop-claims.js} +1 -1
  222. package/dist/types/claims/pop-claims.js.map +1 -0
  223. package/dist/types/claims/std-claims.d.ts +10 -0
  224. package/dist/types/claims/std-claims.d.ts.map +1 -0
  225. package/dist/types/claims/std-claims.js +3 -0
  226. package/dist/types/claims/std-claims.js.map +1 -0
  227. package/dist/types/header.d.ts +15 -8
  228. package/dist/types/header.d.ts.map +1 -1
  229. package/dist/types/index.d.ts +2 -4
  230. package/dist/types/index.d.ts.map +1 -1
  231. package/dist/types/index.js +2 -4
  232. package/dist/types/index.js.map +1 -1
  233. package/dist/types/jwe/jwe-decrypt.d.ts +2 -4
  234. package/dist/types/jwe/jwe-decrypt.d.ts.map +1 -1
  235. package/dist/types/jwe/jwe-encrypt.d.ts +4 -1
  236. package/dist/types/jwe/jwe-encrypt.d.ts.map +1 -1
  237. package/dist/types/jwe/jwe-kit.d.ts +2 -7
  238. package/dist/types/jwe/jwe-kit.d.ts.map +1 -1
  239. package/dist/types/jws/jws-kit.d.ts +2 -6
  240. package/dist/types/jws/jws-kit.d.ts.map +1 -1
  241. package/dist/types/jws/jws-parse.d.ts +2 -5
  242. package/dist/types/jws/jws-parse.d.ts.map +1 -1
  243. package/dist/types/jws/jws-sign.d.ts +5 -2
  244. package/dist/types/jws/jws-sign.d.ts.map +1 -1
  245. package/dist/types/jwt/index.d.ts +3 -1
  246. package/dist/types/jwt/index.d.ts.map +1 -1
  247. package/dist/types/jwt/index.js +3 -1
  248. package/dist/types/jwt/index.js.map +1 -1
  249. package/dist/types/jwt/jwt-claim-matchers.d.ts +28 -0
  250. package/dist/types/jwt/jwt-claim-matchers.d.ts.map +1 -0
  251. package/dist/types/jwt/jwt-claim-matchers.js +3 -0
  252. package/dist/types/jwt/jwt-claim-matchers.js.map +1 -0
  253. package/dist/types/jwt/jwt-decode.d.ts +1 -1
  254. package/dist/types/jwt/jwt-decode.d.ts.map +1 -1
  255. package/dist/types/jwt/jwt-delegation.d.ts +7 -0
  256. package/dist/types/jwt/jwt-delegation.d.ts.map +1 -0
  257. package/dist/types/jwt/jwt-delegation.js +3 -0
  258. package/dist/types/jwt/jwt-delegation.js.map +1 -0
  259. package/dist/types/jwt/jwt-dpop.d.ts +10 -0
  260. package/dist/types/jwt/jwt-dpop.d.ts.map +1 -0
  261. package/dist/{interfaces/CwsKit.js → types/jwt/jwt-dpop.js} +1 -1
  262. package/dist/types/jwt/jwt-dpop.js.map +1 -0
  263. package/dist/types/jwt/jwt-kit.d.ts +3 -5
  264. package/dist/types/jwt/jwt-kit.d.ts.map +1 -1
  265. package/dist/types/jwt/jwt-parse.d.ts +11 -27
  266. package/dist/types/jwt/jwt-parse.d.ts.map +1 -1
  267. package/dist/types/jwt/jwt-sign.d.ts +6 -23
  268. package/dist/types/jwt/jwt-sign.d.ts.map +1 -1
  269. package/dist/types/jwt/jwt-validate.d.ts +2 -23
  270. package/dist/types/jwt/jwt-validate.d.ts.map +1 -1
  271. package/dist/types/jwt/jwt-verify.d.ts +13 -25
  272. package/dist/types/jwt/jwt-verify.d.ts.map +1 -1
  273. package/dist/types/kit.d.ts +12 -0
  274. package/dist/types/kit.d.ts.map +1 -0
  275. package/dist/{interfaces/CweKit.js → types/kit.js} +1 -1
  276. package/dist/types/kit.js.map +1 -0
  277. package/dist/types/level-of-assurance.d.ts +1 -1
  278. package/dist/types/level-of-assurance.d.ts.map +1 -1
  279. package/package.json +20 -21
  280. package/tsconfig.interop.json +1 -5
  281. package/__tests__/cose-interop.test.ts +0 -1127
  282. package/dist/classes/CweKit.d.ts +0 -14
  283. package/dist/classes/CweKit.d.ts.map +0 -1
  284. package/dist/classes/CweKit.js +0 -151
  285. package/dist/classes/CweKit.js.map +0 -1
  286. package/dist/classes/CwsKit.d.ts +0 -13
  287. package/dist/classes/CwsKit.d.ts.map +0 -1
  288. package/dist/classes/CwsKit.js +0 -139
  289. package/dist/classes/CwsKit.js.map +0 -1
  290. package/dist/classes/CwtKit.d.ts +0 -17
  291. package/dist/classes/CwtKit.d.ts.map +0 -1
  292. package/dist/classes/CwtKit.js +0 -166
  293. package/dist/classes/CwtKit.js.map +0 -1
  294. package/dist/errors/CoseEncryptError.d.ts +0 -4
  295. package/dist/errors/CoseEncryptError.d.ts.map +0 -1
  296. package/dist/errors/CoseEncryptError.js +0 -8
  297. package/dist/errors/CoseEncryptError.js.map +0 -1
  298. package/dist/errors/CoseSignError.d.ts +0 -4
  299. package/dist/errors/CoseSignError.d.ts.map +0 -1
  300. package/dist/errors/CoseSignError.js +0 -8
  301. package/dist/errors/CoseSignError.js.map +0 -1
  302. package/dist/errors/CwtError.d.ts +0 -4
  303. package/dist/errors/CwtError.d.ts.map +0 -1
  304. package/dist/errors/CwtError.js +0 -8
  305. package/dist/errors/CwtError.js.map +0 -1
  306. package/dist/interfaces/CweKit.d.ts +0 -6
  307. package/dist/interfaces/CweKit.d.ts.map +0 -1
  308. package/dist/interfaces/CweKit.js.map +0 -1
  309. package/dist/interfaces/CwsKit.d.ts +0 -6
  310. package/dist/interfaces/CwsKit.d.ts.map +0 -1
  311. package/dist/interfaces/CwsKit.js.map +0 -1
  312. package/dist/interfaces/CwtKit.d.ts +0 -7
  313. package/dist/interfaces/CwtKit.d.ts.map +0 -1
  314. package/dist/interfaces/CwtKit.js.map +0 -1
  315. package/dist/internal/constants/cose.d.ts +0 -19
  316. package/dist/internal/constants/cose.d.ts.map +0 -1
  317. package/dist/internal/constants/cose.js +0 -116
  318. package/dist/internal/constants/cose.js.map +0 -1
  319. package/dist/internal/utils/auth-tag-length.d.ts +0 -3
  320. package/dist/internal/utils/auth-tag-length.d.ts.map +0 -1
  321. package/dist/internal/utils/auth-tag-length.js +0 -21
  322. package/dist/internal/utils/auth-tag-length.js.map +0 -1
  323. package/dist/internal/utils/cose/bstr.d.ts +0 -4
  324. package/dist/internal/utils/cose/bstr.d.ts.map +0 -1
  325. package/dist/internal/utils/cose/bstr.js +0 -18
  326. package/dist/internal/utils/cose/bstr.js.map +0 -1
  327. package/dist/internal/utils/cose/claims.d.ts +0 -5
  328. package/dist/internal/utils/cose/claims.d.ts.map +0 -1
  329. package/dist/internal/utils/cose/claims.js +0 -57
  330. package/dist/internal/utils/cose/claims.js.map +0 -1
  331. package/dist/internal/utils/cose/crit.d.ts +0 -3
  332. package/dist/internal/utils/cose/crit.d.ts.map +0 -1
  333. package/dist/internal/utils/cose/crit.js +0 -43
  334. package/dist/internal/utils/cose/crit.js.map +0 -1
  335. package/dist/internal/utils/cose/find.d.ts +0 -5
  336. package/dist/internal/utils/cose/find.d.ts.map +0 -1
  337. package/dist/internal/utils/cose/find.js +0 -37
  338. package/dist/internal/utils/cose/find.js.map +0 -1
  339. package/dist/internal/utils/cose/header.d.ts +0 -5
  340. package/dist/internal/utils/cose/header.d.ts.map +0 -1
  341. package/dist/internal/utils/cose/header.js +0 -81
  342. package/dist/internal/utils/cose/header.js.map +0 -1
  343. package/dist/internal/utils/cose/key.d.ts +0 -4
  344. package/dist/internal/utils/cose/key.d.ts.map +0 -1
  345. package/dist/internal/utils/cose/key.js +0 -86
  346. package/dist/internal/utils/cose/key.js.map +0 -1
  347. package/dist/internal/utils/cose-sign-token.d.ts +0 -9
  348. package/dist/internal/utils/cose-sign-token.d.ts.map +0 -1
  349. package/dist/internal/utils/cose-sign-token.js +0 -12
  350. package/dist/internal/utils/cose-sign-token.js.map +0 -1
  351. package/dist/internal/utils/cose-signature.d.ts +0 -16
  352. package/dist/internal/utils/cose-signature.d.ts.map +0 -1
  353. package/dist/internal/utils/cose-signature.js +0 -17
  354. package/dist/internal/utils/cose-signature.js.map +0 -1
  355. package/dist/types/cose-target.d.ts +0 -2
  356. package/dist/types/cose-target.d.ts.map +0 -1
  357. package/dist/types/cose-target.js.map +0 -1
  358. package/dist/types/cwe/cwe-decode.d.ts +0 -18
  359. package/dist/types/cwe/cwe-decode.d.ts.map +0 -1
  360. package/dist/types/cwe/cwe-decode.js.map +0 -1
  361. package/dist/types/cwe/cwe-decrypt.d.ts +0 -15
  362. package/dist/types/cwe/cwe-decrypt.d.ts.map +0 -1
  363. package/dist/types/cwe/cwe-decrypt.js +0 -3
  364. package/dist/types/cwe/cwe-decrypt.js.map +0 -1
  365. package/dist/types/cwe/cwe-encrypt.d.ts +0 -12
  366. package/dist/types/cwe/cwe-encrypt.d.ts.map +0 -1
  367. package/dist/types/cwe/cwe-encrypt.js +0 -3
  368. package/dist/types/cwe/cwe-encrypt.js.map +0 -1
  369. package/dist/types/cwe/cwe-kit.d.ts +0 -9
  370. package/dist/types/cwe/cwe-kit.d.ts.map +0 -1
  371. package/dist/types/cwe/cwe-kit.js +0 -3
  372. package/dist/types/cwe/cwe-kit.js.map +0 -1
  373. package/dist/types/cwe/index.d.ts +0 -5
  374. package/dist/types/cwe/index.d.ts.map +0 -1
  375. package/dist/types/cwe/index.js.map +0 -1
  376. package/dist/types/cws/cws-decode.d.ts +0 -9
  377. package/dist/types/cws/cws-decode.d.ts.map +0 -1
  378. package/dist/types/cws/cws-decode.js +0 -3
  379. package/dist/types/cws/cws-decode.js.map +0 -1
  380. package/dist/types/cws/cws-kit.d.ts +0 -8
  381. package/dist/types/cws/cws-kit.d.ts.map +0 -1
  382. package/dist/types/cws/cws-kit.js +0 -3
  383. package/dist/types/cws/cws-kit.js.map +0 -1
  384. package/dist/types/cws/cws-parse.d.ts +0 -14
  385. package/dist/types/cws/cws-parse.d.ts.map +0 -1
  386. package/dist/types/cws/cws-parse.js +0 -3
  387. package/dist/types/cws/cws-parse.js.map +0 -1
  388. package/dist/types/cws/cws-sign.d.ts +0 -14
  389. package/dist/types/cws/cws-sign.d.ts.map +0 -1
  390. package/dist/types/cws/cws-sign.js +0 -3
  391. package/dist/types/cws/cws-sign.js.map +0 -1
  392. package/dist/types/cws/index.d.ts +0 -5
  393. package/dist/types/cws/index.d.ts.map +0 -1
  394. package/dist/types/cws/index.js.map +0 -1
  395. package/dist/types/cwt/cwt-claims.d.ts +0 -3
  396. package/dist/types/cwt/cwt-claims.d.ts.map +0 -1
  397. package/dist/types/cwt/cwt-claims.js +0 -3
  398. package/dist/types/cwt/cwt-claims.js.map +0 -1
  399. package/dist/types/cwt/cwt-decode.d.ts +0 -10
  400. package/dist/types/cwt/cwt-decode.d.ts.map +0 -1
  401. package/dist/types/cwt/cwt-decode.js +0 -3
  402. package/dist/types/cwt/cwt-decode.js.map +0 -1
  403. package/dist/types/cwt/cwt-kit.d.ts +0 -3
  404. package/dist/types/cwt/cwt-kit.d.ts.map +0 -1
  405. package/dist/types/cwt/cwt-kit.js +0 -3
  406. package/dist/types/cwt/cwt-kit.js.map +0 -1
  407. package/dist/types/cwt/cwt-parse.d.ts +0 -15
  408. package/dist/types/cwt/cwt-parse.d.ts.map +0 -1
  409. package/dist/types/cwt/cwt-parse.js +0 -3
  410. package/dist/types/cwt/cwt-parse.js.map +0 -1
  411. package/dist/types/cwt/cwt-sign.d.ts +0 -17
  412. package/dist/types/cwt/cwt-sign.d.ts.map +0 -1
  413. package/dist/types/cwt/cwt-sign.js +0 -3
  414. package/dist/types/cwt/cwt-sign.js.map +0 -1
  415. package/dist/types/cwt/cwt-validate.d.ts +0 -3
  416. package/dist/types/cwt/cwt-validate.d.ts.map +0 -1
  417. package/dist/types/cwt/cwt-validate.js +0 -3
  418. package/dist/types/cwt/cwt-validate.js.map +0 -1
  419. package/dist/types/cwt/cwt-verify.d.ts +0 -3
  420. package/dist/types/cwt/cwt-verify.d.ts.map +0 -1
  421. package/dist/types/cwt/cwt-verify.js +0 -3
  422. package/dist/types/cwt/cwt-verify.js.map +0 -1
  423. package/dist/types/cwt/index.d.ts +0 -8
  424. package/dist/types/cwt/index.d.ts.map +0 -1
  425. package/dist/types/cwt/index.js.map +0 -1
  426. package/dist/types/jwt/jwt-claims.d.ts +0 -38
  427. package/dist/types/jwt/jwt-claims.d.ts.map +0 -1
  428. package/dist/types/jwt/jwt-claims.js.map +0 -1
  429. /package/dist/types/{jwt → claims/jwt}/jwt-claims.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"jwt-verify.js","sourceRoot":"","sources":["../../../src/internal/utils/jwt-verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jwt-verify.js","sourceRoot":"","sources":["../../../src/internal/utils/jwt-verify.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Dict } from "@lindorm/types";
2
+ import { AegisIntrospection } from "../../types";
3
+ export type IntrospectClaimsInput = Dict & {
4
+ active?: unknown;
5
+ };
6
+ export declare const parseIntrospection: (data: IntrospectClaimsInput) => AegisIntrospection;
7
+ //# sourceMappingURL=parse-introspection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-introspection.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/parse-introspection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAOjD,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,MAAM,qBAAqB,KAAG,kBAqBhE,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseIntrospection = void 0;
4
+ const is_1 = require("@lindorm/is");
5
+ const utils_1 = require("@lindorm/utils");
6
+ const errors_1 = require("../../errors");
7
+ const extract_claims_1 = require("./extract-claims");
8
+ const parseIntrospection = (data) => {
9
+ if (!(0, is_1.isBoolean)(data.active)) {
10
+ throw new errors_1.AegisError("Missing active claim");
11
+ }
12
+ if (!data.active) {
13
+ return { active: false };
14
+ }
15
+ const { claims } = (0, extract_claims_1.extractDomainClaims)(data);
16
+ return (0, utils_1.removeUndefined)({
17
+ ...claims,
18
+ active: true,
19
+ tokenType: (0, is_1.isString)(data.tokenType)
20
+ ? data.tokenType
21
+ : (0, is_1.isString)(data.token_type)
22
+ ? data.token_type
23
+ : undefined,
24
+ username: (0, is_1.isString)(data.username) ? data.username : undefined,
25
+ });
26
+ };
27
+ exports.parseIntrospection = parseIntrospection;
28
+ //# sourceMappingURL=parse-introspection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-introspection.js","sourceRoot":"","sources":["../../../src/internal/utils/parse-introspection.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAElD,0CAAiD;AACjD,yCAA0C;AAE1C,qDAAuD;AAUhD,MAAM,kBAAkB,GAAG,CAAC,IAA2B,EAAsB,EAAE;IACpF,IAAI,CAAC,IAAA,cAAS,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,mBAAU,CAAC,sBAAsB,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,oCAAmB,EAAC,IAAI,CAAC,CAAC;IAE7C,OAAO,IAAA,uBAAe,EAAC;QACrB,GAAG,MAAM;QACT,MAAM,EAAE,IAAa;QACrB,SAAS,EAAE,IAAA,aAAQ,EAAC,IAAI,CAAC,SAAS,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,SAAS;YAChB,CAAC,CAAC,IAAA,aAAQ,EAAE,IAAa,CAAC,UAAU,CAAC;gBACnC,CAAC,CAAG,IAAa,CAAC,UAAqB;gBACvC,CAAC,CAAC,SAAS;QACf,QAAQ,EAAE,IAAA,aAAQ,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;KAC9D,CAAC,CAAC;AACL,CAAC,CAAC;AArBW,QAAA,kBAAkB,sBAqB7B"}
@@ -0,0 +1,5 @@
1
+ import { Dict } from "@lindorm/types";
2
+ import { AegisUserinfo } from "../../types";
3
+ export type UserinfoClaimsInput = Dict;
4
+ export declare const parseUserinfo: (data: UserinfoClaimsInput) => AegisUserinfo;
5
+ //# sourceMappingURL=parse-userinfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-userinfo.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/parse-userinfo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAgB,aAAa,EAAE,MAAM,aAAa,CAAC;AAO1D,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEvC,eAAO,MAAM,aAAa,GAAI,MAAM,mBAAmB,KAAG,aAyBzD,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseUserinfo = void 0;
4
+ const is_1 = require("@lindorm/is");
5
+ const errors_1 = require("../../errors");
6
+ const extract_aegis_profile_1 = require("./extract-aegis-profile");
7
+ const extract_claims_1 = require("./extract-claims");
8
+ const parseUserinfo = (data) => {
9
+ const { claims, rest } = (0, extract_claims_1.extractDomainClaims)(data);
10
+ const preExtractedProfile = (0, is_1.isObject)(rest.profile) && !(0, is_1.isString)(rest.profile)
11
+ ? rest.profile
12
+ : undefined;
13
+ if (preExtractedProfile)
14
+ delete rest.profile;
15
+ const { profile: extractedProfile } = (0, extract_aegis_profile_1.extractAegisProfile)(rest);
16
+ const profile = preExtractedProfile ?? extractedProfile;
17
+ if (!(0, is_1.isString)(claims.subject)) {
18
+ throw new errors_1.AegisError("Missing subject claim");
19
+ }
20
+ return {
21
+ ...(profile ?? {}),
22
+ subject: claims.subject,
23
+ };
24
+ };
25
+ exports.parseUserinfo = parseUserinfo;
26
+ //# sourceMappingURL=parse-userinfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-userinfo.js","sourceRoot":"","sources":["../../../src/internal/utils/parse-userinfo.ts"],"names":[],"mappings":";;;AAAA,oCAAiD;AAEjD,yCAA0C;AAE1C,mEAA8D;AAC9D,qDAAuD;AAOhD,MAAM,aAAa,GAAG,CAAC,IAAyB,EAAiB,EAAE;IACxE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,oCAAmB,EAAC,IAAI,CAAC,CAAC;IAMnD,MAAM,mBAAmB,GACvB,IAAA,aAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,aAAQ,EAAC,IAAI,CAAC,OAAO,CAAC;QAC/C,CAAC,CAAE,IAAI,CAAC,OAAwB;QAChC,CAAC,CAAC,SAAS,CAAC;IAEhB,IAAI,mBAAmB;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC;IAE7C,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAA,2CAAmB,EAAC,IAAI,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,mBAAmB,IAAI,gBAAgB,CAAC;IAExD,IAAI,CAAC,IAAA,aAAQ,EAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,mBAAU,CAAC,uBAAuB,CAAC,CAAC;IAChD,CAAC;IAED,OAAO;QACL,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC,CAAC;AAzBW,QAAA,aAAa,iBAyBxB"}
@@ -0,0 +1,4 @@
1
+ import { IKryptos } from "@lindorm/kryptos";
2
+ import { BindCertificateMode, CertificateHeaderFields } from "../../types";
3
+ export declare const resolveCertBinding: (kryptos: IKryptos, mode: BindCertificateMode | undefined) => CertificateHeaderFields | undefined;
4
+ //# sourceMappingURL=resolve-cert-binding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-cert-binding.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/resolve-cert-binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3E,eAAO,MAAM,kBAAkB,GAC7B,SAAS,QAAQ,EACjB,MAAM,mBAAmB,GAAG,SAAS,KACpC,uBAAuB,GAAG,SA4B5B,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveCertBinding = void 0;
4
+ const errors_1 = require("../../errors");
5
+ const resolveCertBinding = (kryptos, mode) => {
6
+ const resolved = mode === "none"
7
+ ? "none"
8
+ : mode === undefined
9
+ ? kryptos.hasCertificate
10
+ ? "thumbprint"
11
+ : "none"
12
+ : mode;
13
+ if (resolved === "none")
14
+ return undefined;
15
+ if (!kryptos.hasCertificate) {
16
+ throw new errors_1.AegisError("bindCertificate requires kryptos with certificateChain", {
17
+ debug: { kryptosId: kryptos.id, mode },
18
+ });
19
+ }
20
+ const fields = {
21
+ x5tS256: kryptos.certificateThumbprint ?? undefined,
22
+ };
23
+ if (resolved === "chain") {
24
+ fields.x5c =
25
+ kryptos.certificateChain.length > 0 ? kryptos.certificateChain : undefined;
26
+ }
27
+ return fields;
28
+ };
29
+ exports.resolveCertBinding = resolveCertBinding;
30
+ //# sourceMappingURL=resolve-cert-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-cert-binding.js","sourceRoot":"","sources":["../../../src/internal/utils/resolve-cert-binding.ts"],"names":[],"mappings":";;;AACA,yCAA0C;AAGnC,MAAM,kBAAkB,GAAG,CAChC,OAAiB,EACjB,IAAqC,EACA,EAAE;IACvC,MAAM,QAAQ,GACZ,IAAI,KAAK,MAAM;QACb,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAI,KAAK,SAAS;YAClB,CAAC,CAAC,OAAO,CAAC,cAAc;gBACtB,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,MAAM;YACV,CAAC,CAAC,IAAI,CAAC;IAEb,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IAE1C,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,mBAAU,CAAC,wDAAwD,EAAE;YAC7E,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAA4B;QACtC,OAAO,EAAE,OAAO,CAAC,qBAAqB,IAAI,SAAS;KACpD,CAAC;IAEF,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG;YACR,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA/BW,QAAA,kBAAkB,sBA+B7B"}
@@ -1,4 +1,4 @@
1
- import { DecodedTokenHeader, ParsedTokenHeader, RawTokenHeaderClaims, TokenHeaderOptions } from "../../types";
2
- export declare const mapTokenHeader: (options: TokenHeaderOptions) => RawTokenHeaderClaims;
1
+ import { CertificateHeaderFields, DecodedTokenHeader, ParsedTokenHeader, RawTokenHeaderClaims, TokenHeaderOptions } from "../../types";
2
+ export declare const mapTokenHeader: (options: TokenHeaderOptions, cert?: CertificateHeaderFields) => RawTokenHeaderClaims;
3
3
  export declare const parseTokenHeader: <T extends ParsedTokenHeader = ParsedTokenHeader>(decoded: DecodedTokenHeader) => T;
4
4
  //# sourceMappingURL=token-header.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-header.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/token-header.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,cAAc,GAAI,SAAS,kBAAkB,KAAG,oBAgE5D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAC9E,SAAS,kBAAkB,KAC1B,CAiEF,CAAC"}
1
+ {"version":3,"file":"token-header.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/token-header.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,cAAc,GACzB,SAAS,kBAAkB,EAC3B,OAAM,uBAA4B,KACjC,oBAsDF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAC9E,SAAS,kBAAkB,KAC1B,CA+DF,CAAC"}
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseTokenHeader = exports.mapTokenHeader = void 0;
4
4
  const is_1 = require("@lindorm/is");
5
5
  const utils_1 = require("@lindorm/utils");
6
- const mapTokenHeader = (options) => {
6
+ const compute_typ_header_1 = require("./compute-typ-header");
7
+ const mapTokenHeader = (options, cert = {}) => {
7
8
  const crit = options.critical
8
9
  ?.map((key) => {
9
10
  switch (key) {
@@ -33,14 +34,6 @@ const mapTokenHeader = (options) => {
33
34
  return "epk";
34
35
  case "publicEncryptionTag":
35
36
  return "tag";
36
- case "x5c":
37
- return "x5c";
38
- case "x5t":
39
- return "x5t";
40
- case "x5u":
41
- return "x5u";
42
- case "x5tS256":
43
- return "x5t#S256";
44
37
  default:
45
38
  return key;
46
39
  }
@@ -61,10 +54,8 @@ const mapTokenHeader = (options) => {
61
54
  p2s: options.pbkdfSalt,
62
55
  tag: options.publicEncryptionTag,
63
56
  typ: options.headerType,
64
- x5c: (0, is_1.isString)(options.x5c) ? options.x5c : undefined,
65
- x5t: (0, is_1.isString)(options.x5t) ? options.x5t : undefined,
66
- x5u: (0, is_1.isString)(options.x5u) ? options.x5u : undefined,
67
- "x5t#S256": (0, is_1.isString)(options.x5tS256) ? options.x5tS256 : undefined,
57
+ x5c: Array.isArray(cert.x5c) ? cert.x5c : undefined,
58
+ "x5t#S256": (0, is_1.isString)(cert.x5tS256) ? cert.x5tS256 : undefined,
68
59
  });
69
60
  };
70
61
  exports.mapTokenHeader = mapTokenHeader;
@@ -102,8 +93,6 @@ const parseTokenHeader = (decoded) => {
102
93
  return "x5c";
103
94
  case "x5t":
104
95
  return "x5t";
105
- case "x5u":
106
- return "x5u";
107
96
  case "x5t#S256":
108
97
  return "x5tS256";
109
98
  default:
@@ -113,6 +102,7 @@ const parseTokenHeader = (decoded) => {
113
102
  .sort() ?? [];
114
103
  return (0, utils_1.removeUndefined)({
115
104
  algorithm: decoded.alg,
105
+ baseFormat: (0, compute_typ_header_1.getBaseFormat)(decoded.typ),
116
106
  contentType: decoded.cty,
117
107
  critical,
118
108
  encryption: decoded.enc,
@@ -128,7 +118,6 @@ const parseTokenHeader = (decoded) => {
128
118
  publicEncryptionTag: decoded.tag,
129
119
  x5c: decoded.x5c,
130
120
  x5t: decoded.x5t,
131
- x5u: decoded.x5u,
132
121
  x5tS256: decoded["x5t#S256"],
133
122
  });
134
123
  };
@@ -1 +1 @@
1
- {"version":3,"file":"token-header.js","sourceRoot":"","sources":["../../../src/internal/utils/token-header.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-header.js","sourceRoot":"","sources":["../../../src/internal/utils/token-header.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { TokenDelegation, VerifyActorOptions } from "../../types/jwt";
2
+ export declare const validateActor: (delegation: TokenDelegation, options: VerifyActorOptions | undefined) => string | null;
3
+ //# sourceMappingURL=validate-actor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-actor.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/validate-actor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,eAAO,MAAM,aAAa,GACxB,YAAY,eAAe,EAC3B,SAAS,kBAAkB,GAAG,SAAS,KACtC,MAAM,GAAG,IA2BX,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateActor = void 0;
4
+ const validateActor = (delegation, options) => {
5
+ if (!options)
6
+ return null;
7
+ if (options.required && !delegation.isDelegated) {
8
+ return "Expected delegated token with act claim";
9
+ }
10
+ if (options.forbidden && delegation.isDelegated) {
11
+ return "Expected non-delegated token";
12
+ }
13
+ if (options.maxChainDepth !== undefined &&
14
+ delegation.actorChain.length > options.maxChainDepth) {
15
+ return `Actor chain exceeds maximum depth of ${options.maxChainDepth}`;
16
+ }
17
+ if (options.allowedSubjects) {
18
+ for (const entry of delegation.actorChain) {
19
+ if (!entry.subject || !options.allowedSubjects.includes(entry.subject)) {
20
+ return `Actor subject not allowed: ${entry.subject ?? "undefined"}`;
21
+ }
22
+ }
23
+ }
24
+ return null;
25
+ };
26
+ exports.validateActor = validateActor;
27
+ //# sourceMappingURL=validate-actor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-actor.js","sourceRoot":"","sources":["../../../src/internal/utils/validate-actor.ts"],"names":[],"mappings":";;;AAEO,MAAM,aAAa,GAAG,CAC3B,UAA2B,EAC3B,OAAuC,EACxB,EAAE;IACjB,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAChD,OAAO,yCAAyC,CAAC;IACnD,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QAChD,OAAO,8BAA8B,CAAC;IACxC,CAAC;IAED,IACE,OAAO,CAAC,aAAa,KAAK,SAAS;QACnC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,aAAa,EACpD,CAAC;QACD,OAAO,wCAAwC,OAAO,CAAC,aAAa,EAAE,CAAC;IACzE,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvE,OAAO,8BAA8B,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA9BW,QAAA,aAAa,iBA8BxB"}
@@ -0,0 +1,4 @@
1
+ export declare const validateCrit: (decoded: {
2
+ crit?: unknown;
3
+ } & Record<string, unknown>) => string | null;
4
+ //# sourceMappingURL=validate-crit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-crit.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/validate-crit.ts"],"names":[],"mappings":"AAoDA,eAAO,MAAM,YAAY,GACvB,SAAS;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACpD,MAAM,GAAG,IAoCX,CAAC"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateCrit = void 0;
4
+ const IANA_REGISTERED_JOSE_HEADER_PARAMS = new Set([
5
+ "alg",
6
+ "jku",
7
+ "jwk",
8
+ "kid",
9
+ "x5u",
10
+ "x5c",
11
+ "x5t",
12
+ "x5t#S256",
13
+ "typ",
14
+ "cty",
15
+ "crit",
16
+ "enc",
17
+ "zip",
18
+ "epk",
19
+ "apu",
20
+ "apv",
21
+ "iv",
22
+ "tag",
23
+ "p2s",
24
+ "p2c",
25
+ "b64",
26
+ "ppt",
27
+ "url",
28
+ "nonce",
29
+ "svt",
30
+ ]);
31
+ const validateCrit = (decoded) => {
32
+ const crit = decoded.crit;
33
+ if (crit === undefined)
34
+ return null;
35
+ if (!Array.isArray(crit)) {
36
+ return "crit must be an array";
37
+ }
38
+ if (crit.length === 0) {
39
+ return "crit must not be an empty array when present";
40
+ }
41
+ for (const name of crit) {
42
+ if (typeof name !== "string") {
43
+ return "crit entries must be strings";
44
+ }
45
+ if (IANA_REGISTERED_JOSE_HEADER_PARAMS.has(name)) {
46
+ return `crit must not contain the IANA-registered header parameter "${name}"`;
47
+ }
48
+ if (!(name in decoded)) {
49
+ return `crit listed parameter "${name}" is not present in the header`;
50
+ }
51
+ }
52
+ return null;
53
+ };
54
+ exports.validateCrit = validateCrit;
55
+ //# sourceMappingURL=validate-crit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-crit.js","sourceRoot":"","sources":["../../../src/internal/utils/validate-crit.ts"],"names":[],"mappings":";;;AAOA,MAAM,kCAAkC,GAAG,IAAI,GAAG,CAAC;IAEjD,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,UAAU;IACV,KAAK;IACL,KAAK;IACL,MAAM;IAEN,KAAK;IACL,KAAK;IAEL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IAEL,KAAK;IAEL,KAAK;IAEL,KAAK;IACL,OAAO;IAEP,KAAK;CACN,CAAC,CAAC;AAYI,MAAM,YAAY,GAAG,CAC1B,OAAqD,EACtC,EAAE;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAGD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,8CAA8C,CAAC;IACxD,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,8BAA8B,CAAC;QACxC,CAAC;QAID,IAAI,kCAAkC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,OAAO,+DAA+D,IAAI,GAAG,CAAC;QAChF,CAAC;QAOD,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC;YACvB,OAAO,0BAA0B,IAAI,gCAAgC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAtCW,QAAA,YAAY,gBAsCvB"}
@@ -0,0 +1,14 @@
1
+ import { IKryptos } from "@lindorm/kryptos";
2
+ import { ILogger } from "@lindorm/logger";
3
+ import { CertBindingMode } from "../../types";
4
+ type VerifyCertBindingOptions = {
5
+ header: {
6
+ x5tS256: string | undefined;
7
+ };
8
+ kryptos: IKryptos;
9
+ logger: ILogger;
10
+ mode: CertBindingMode;
11
+ };
12
+ export declare const verifyCertBinding: ({ header, kryptos, logger, mode, }: VerifyCertBindingOptions) => void;
13
+ export {};
14
+ //# sourceMappingURL=verify-cert-binding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-cert-binding.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/verify-cert-binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,KAAK,wBAAwB,GAAG;IAC9B,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IACxC,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,eAAe,CAAC;CACvB,CAAC;AAqBF,eAAO,MAAM,iBAAiB,GAAI,oCAK/B,wBAAwB,KAAG,IAyB7B,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verifyCertBinding = void 0;
4
+ const errors_1 = require("../../errors");
5
+ const verifyCertBinding = ({ header, kryptos, logger, mode, }) => {
6
+ if (header.x5tS256 === undefined)
7
+ return;
8
+ if (kryptos.certificateThumbprint === null) {
9
+ if (mode === "strict") {
10
+ throw new errors_1.AegisError("token header x5t#S256 present but signing kryptos has no certificateChain", { debug: { kryptosId: kryptos.id } });
11
+ }
12
+ logger.warn("Cert binding: token header x5t#S256 present but signing kryptos has no certificateChain (lax mode — passing through)", { kryptosId: kryptos.id });
13
+ return;
14
+ }
15
+ if (header.x5tS256 !== kryptos.certificateThumbprint) {
16
+ throw new errors_1.AegisError("signing certificate thumbprint mismatch", {
17
+ debug: {
18
+ expected: kryptos.certificateThumbprint,
19
+ received: header.x5tS256,
20
+ },
21
+ });
22
+ }
23
+ };
24
+ exports.verifyCertBinding = verifyCertBinding;
25
+ //# sourceMappingURL=verify-cert-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-cert-binding.js","sourceRoot":"","sources":["../../../src/internal/utils/verify-cert-binding.ts"],"names":[],"mappings":";;;AAEA,yCAA0C;AA6BnC,MAAM,iBAAiB,GAAG,CAAC,EAChC,MAAM,EACN,OAAO,EACP,MAAM,EACN,IAAI,GACqB,EAAQ,EAAE;IACnC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO;IAEzC,IAAI,OAAO,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;QAC3C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,mBAAU,CAClB,2EAA2E,EAC3E,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CACrC,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,IAAI,CACT,sHAAsH,EACtH,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAC1B,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,qBAAqB,EAAE,CAAC;QACrD,MAAM,IAAI,mBAAU,CAAC,yCAAyC,EAAE;YAC9D,KAAK,EAAE;gBACL,QAAQ,EAAE,OAAO,CAAC,qBAAqB;gBACvC,QAAQ,EAAE,MAAM,CAAC,OAAO;aACzB;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AA9BW,QAAA,iBAAiB,qBA8B5B"}
@@ -0,0 +1,10 @@
1
+ import { ParsedDpopProof } from "../../types/jwt/jwt-dpop";
2
+ type Options = {
3
+ proof: string;
4
+ accessToken: string;
5
+ expectedThumbprint: string;
6
+ dpopMaxSkew: number;
7
+ };
8
+ export declare const verifyDpopProof: (options: Options) => ParsedDpopProof;
9
+ export {};
10
+ //# sourceMappingURL=verify-dpop-proof.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-dpop-proof.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/verify-dpop-proof.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAM3D,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAkBF,eAAO,MAAM,eAAe,GAAI,SAAS,OAAO,KAAG,eA8ElD,CAAC"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verifyDpopProof = void 0;
4
+ const kryptos_1 = require("@lindorm/kryptos");
5
+ const sha_1 = require("@lindorm/sha");
6
+ const errors_1 = require("../../errors");
7
+ const compute_jwk_thumbprint_1 = require("./compute-jwk-thumbprint");
8
+ const jose_header_1 = require("./jose-header");
9
+ const jose_signature_1 = require("./jose-signature");
10
+ const jwt_payload_1 = require("./jwt-payload");
11
+ const assertString = (value, claim) => {
12
+ if (typeof value !== "string" || value.length === 0) {
13
+ throw new errors_1.JwtError(`Invalid DPoP proof: "${claim}" claim is required`);
14
+ }
15
+ return value;
16
+ };
17
+ const verifyDpopProof = (options) => {
18
+ const { proof, accessToken, expectedThumbprint, dpopMaxSkew } = options;
19
+ const parts = proof.split(".");
20
+ if (parts.length !== 3) {
21
+ throw new errors_1.JwtError("Invalid DPoP proof: not a compact JWS");
22
+ }
23
+ const [headerB64, payloadB64] = parts;
24
+ const header = (0, jose_header_1.decodeJoseHeader)(headerB64);
25
+ if (header.typ !== "dpop+jwt") {
26
+ throw new errors_1.JwtError("Invalid DPoP proof: header typ must be dpop+jwt", {
27
+ data: { typ: header.typ },
28
+ });
29
+ }
30
+ if (!header.jwk) {
31
+ throw new errors_1.JwtError("Invalid DPoP proof: header jwk is required");
32
+ }
33
+ const rawJwk = header.jwk;
34
+ const thumbprint = (0, compute_jwk_thumbprint_1.computeJwkThumbprint)(rawJwk);
35
+ if (thumbprint !== expectedThumbprint) {
36
+ throw new errors_1.JwtError("Invalid DPoP proof: thumbprint does not match cnf.jkt", {
37
+ data: { expected: expectedThumbprint, actual: thumbprint },
38
+ });
39
+ }
40
+ const proofKryptos = kryptos_1.KryptosKit.from.jwk({
41
+ ...rawJwk,
42
+ alg: header.alg,
43
+ use: "sig",
44
+ });
45
+ if (!(0, jose_signature_1.verifyJoseSignature)(proofKryptos, proof)) {
46
+ throw new errors_1.JwtError("Invalid DPoP proof: signature verification failed");
47
+ }
48
+ const payload = (0, jwt_payload_1.decodeJwtPayload)(payloadB64);
49
+ const tokenId = assertString(payload.jti, "jti");
50
+ const httpMethod = assertString(payload.htm, "htm");
51
+ const httpUri = assertString(payload.htu, "htu");
52
+ if (typeof payload.iat !== "number") {
53
+ throw new errors_1.JwtError("Invalid DPoP proof: iat claim is required");
54
+ }
55
+ const now = Math.floor(Date.now() / 1000);
56
+ if (Math.abs(now - payload.iat) > dpopMaxSkew) {
57
+ throw new errors_1.JwtError("Invalid DPoP proof: iat is outside the allowed skew window", {
58
+ data: { iat: payload.iat, now, dpopMaxSkew },
59
+ });
60
+ }
61
+ const expectedAth = sha_1.ShaKit.S256(accessToken);
62
+ if (payload.ath !== expectedAth) {
63
+ throw new errors_1.JwtError("Invalid DPoP proof: ath does not match access token hash");
64
+ }
65
+ return {
66
+ thumbprint,
67
+ tokenId,
68
+ httpMethod,
69
+ httpUri,
70
+ issuedAt: new Date(payload.iat * 1000),
71
+ accessTokenHash: expectedAth,
72
+ nonce: typeof payload.nonce === "string" ? payload.nonce : undefined,
73
+ };
74
+ };
75
+ exports.verifyDpopProof = verifyDpopProof;
76
+ //# sourceMappingURL=verify-dpop-proof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-dpop-proof.js","sourceRoot":"","sources":["../../../src/internal/utils/verify-dpop-proof.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { IAegis } from "../interfaces";
2
- export declare const createMockAegis: () => IAegis;
2
+ export type MockAegis = jest.Mocked<IAegis>;
3
+ export declare const createMockAegis: () => MockAegis;
3
4
  //# sourceMappingURL=create-mock-aegis.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-mock-aegis.d.ts","sourceRoot":"","sources":["../../src/mocks/create-mock-aegis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,eAAO,MAAM,eAAe,QAAO,MAoFjC,CAAC"}
1
+ {"version":3,"file":"create-mock-aegis.d.ts","sourceRoot":"","sources":["../../src/mocks/create-mock-aegis.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAE5C,eAAO,MAAM,eAAe,QAAO,SA0DlC,CAAC"}