@pagopa/io-react-native-jwt 0.4.1 → 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 (87) hide show
  1. package/README.md +14 -0
  2. package/android/src/main/java/com/pagopa/ioreactnativejwt/IoReactNativeJwtModule.kt +35 -15
  3. package/ios/IoReactNativeJwt.mm +6 -0
  4. package/ios/IoReactNativeJwt.swift +63 -0
  5. package/lib/commonjs/index.js +42 -125
  6. package/lib/commonjs/index.js.map +1 -1
  7. package/lib/commonjs/jwe/index.js +41 -0
  8. package/lib/commonjs/jwe/index.js.map +1 -0
  9. package/lib/commonjs/jwk/index.js +54 -0
  10. package/lib/commonjs/jwk/index.js.map +1 -0
  11. package/lib/commonjs/jwt/index.js +217 -0
  12. package/lib/commonjs/jwt/index.js.map +1 -0
  13. package/lib/commonjs/{jwt_claims_set.js → jwt/jwt_claims_set.js} +2 -2
  14. package/lib/commonjs/jwt/jwt_claims_set.js.map +1 -0
  15. package/lib/commonjs/{produce.js → jwt/produce.js} +2 -2
  16. package/lib/commonjs/jwt/produce.js.map +1 -0
  17. package/lib/commonjs/{sign.js → jwt/sign.js} +4 -4
  18. package/lib/commonjs/jwt/sign.js.map +1 -0
  19. package/lib/commonjs/{unsecured.js → jwt/unsecured.js} +2 -2
  20. package/lib/commonjs/jwt/unsecured.js.map +1 -0
  21. package/lib/commonjs/types.js +63 -0
  22. package/lib/commonjs/types.js.map +1 -1
  23. package/lib/commonjs/utils/errors.js +50 -1
  24. package/lib/commonjs/utils/errors.js.map +1 -1
  25. package/lib/module/index.js +6 -111
  26. package/lib/module/index.js.map +1 -1
  27. package/lib/module/jwe/index.js +35 -0
  28. package/lib/module/jwe/index.js.map +1 -0
  29. package/lib/module/jwk/index.js +47 -0
  30. package/lib/module/jwk/index.js.map +1 -0
  31. package/lib/module/jwt/index.js +138 -0
  32. package/lib/module/jwt/index.js.map +1 -0
  33. package/lib/module/{jwt_claims_set.js → jwt/jwt_claims_set.js} +2 -2
  34. package/lib/module/jwt/jwt_claims_set.js.map +1 -0
  35. package/lib/module/{produce.js → jwt/produce.js} +2 -2
  36. package/lib/module/jwt/produce.js.map +1 -0
  37. package/lib/module/{sign.js → jwt/sign.js} +4 -4
  38. package/lib/module/jwt/sign.js.map +1 -0
  39. package/lib/module/{unsecured.js → jwt/unsecured.js} +2 -2
  40. package/lib/module/jwt/unsecured.js.map +1 -0
  41. package/lib/module/types.js +56 -0
  42. package/lib/module/types.js.map +1 -1
  43. package/lib/module/utils/errors.js +46 -0
  44. package/lib/module/utils/errors.js.map +1 -1
  45. package/lib/typescript/index.d.ts +6 -89
  46. package/lib/typescript/index.d.ts.map +1 -1
  47. package/lib/typescript/jwe/index.d.ts +32 -0
  48. package/lib/typescript/jwe/index.d.ts.map +1 -0
  49. package/lib/typescript/jwk/index.d.ts +30 -0
  50. package/lib/typescript/jwk/index.d.ts.map +1 -0
  51. package/lib/typescript/jwt/index.d.ts +102 -0
  52. package/lib/typescript/jwt/index.d.ts.map +1 -0
  53. package/lib/typescript/{jwt_claims_set.d.ts → jwt/jwt_claims_set.d.ts} +1 -1
  54. package/lib/typescript/jwt/jwt_claims_set.d.ts.map +1 -0
  55. package/lib/typescript/{produce.d.ts → jwt/produce.d.ts} +1 -1
  56. package/lib/typescript/jwt/produce.d.ts.map +1 -0
  57. package/lib/typescript/{sign.d.ts → jwt/sign.d.ts} +1 -1
  58. package/lib/typescript/jwt/sign.d.ts.map +1 -0
  59. package/lib/typescript/{unsecured.d.ts → jwt/unsecured.d.ts} +1 -1
  60. package/lib/typescript/jwt/unsecured.d.ts.map +1 -0
  61. package/lib/typescript/types.d.ts +348 -46
  62. package/lib/typescript/types.d.ts.map +1 -1
  63. package/lib/typescript/utils/errors.d.ts +37 -0
  64. package/lib/typescript/utils/errors.d.ts.map +1 -1
  65. package/package.json +3 -2
  66. package/src/index.tsx +6 -116
  67. package/src/jwe/index.ts +45 -0
  68. package/src/jwk/index.ts +51 -0
  69. package/src/jwt/index.ts +148 -0
  70. package/src/{jwt_claims_set.ts → jwt/jwt_claims_set.ts} +3 -3
  71. package/src/{produce.ts → jwt/produce.ts} +3 -3
  72. package/src/{sign.ts → jwt/sign.ts} +5 -5
  73. package/src/{unsecured.ts → jwt/unsecured.ts} +3 -3
  74. package/src/types.ts +67 -48
  75. package/src/utils/errors.ts +49 -0
  76. package/lib/commonjs/jwt_claims_set.js.map +0 -1
  77. package/lib/commonjs/produce.js.map +0 -1
  78. package/lib/commonjs/sign.js.map +0 -1
  79. package/lib/commonjs/unsecured.js.map +0 -1
  80. package/lib/module/jwt_claims_set.js.map +0 -1
  81. package/lib/module/produce.js.map +0 -1
  82. package/lib/module/sign.js.map +0 -1
  83. package/lib/module/unsecured.js.map +0 -1
  84. package/lib/typescript/jwt_claims_set.d.ts.map +0 -1
  85. package/lib/typescript/produce.d.ts.map +0 -1
  86. package/lib/typescript/sign.d.ts.map +0 -1
  87. package/lib/typescript/unsecured.d.ts.map +0 -1
@@ -0,0 +1,30 @@
1
+ import { JWK } from '../types';
2
+ /**
3
+ * Calculate JWK thumbprint
4
+ *
5
+ * @example Get JWK thumbprint
6
+ *
7
+ * ```js
8
+ * const jwk: JWK = {
9
+ * crv: 'P-256',
10
+ * kty: 'EC',
11
+ * x: 'qrJrj3Af_B57sbOIRrcBM7br7wOc8ynj7lHFPTeffUk',
12
+ * y: '1H0cWDyGgvU8w-kPKU_xycOCUNT2o0bwslIQtnPU6iM',
13
+ * };
14
+
15
+ * const thumbprint = await thumbprint(jwk)
16
+ *
17
+ * ```
18
+ *
19
+ * @param jwk JSON Web Key
20
+ */
21
+ export declare const thumbprint: (jwk: JWK) => Promise<string>;
22
+ /**
23
+ * Returns a JSON Web Key Set (JWKS) downloaded from a remote endpoint,
24
+ * that is, for example, an OAuth 2.0 or OIDC jwks_uri.
25
+ *
26
+ * @param url URL string to fetch the JSON Web Key Set from.
27
+ * @param appFetch fetch function (optional)
28
+ */
29
+ export declare const getRemoteJWKSet: (url: string, appFetch?: GlobalFetch['fetch']) => Promise<JWK[]>;
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/jwk/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,GAAG,EAAE,MAAM,UAAU,CAAC;AAIzC;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,UAAU,QAAS,GAAG,KAAG,QAAQ,MAAM,CAClB,CAAC;AAEnC;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,QACrB,MAAM,aACD,WAAW,CAAC,OAAO,CAAC,KAC7B,QAAQ,GAAG,EAAE,CAaf,CAAC"}
@@ -0,0 +1,102 @@
1
+ import type { JWSHeaderParameters, JWTClaimVerificationOptions, JWTDecodeResult } from '../types';
2
+ import type { JWK } from '../types';
3
+ export * from './produce';
4
+ export * from './sign';
5
+ export * from './unsecured';
6
+ export { derToJose } from '../utils/asn1';
7
+ export { encodeBase64, decodeBase64 } from '../utils/base64';
8
+ export { sha256ToBase64 } from '../hash';
9
+ /**
10
+ * Decode the JWT without validation.
11
+ *
12
+ * @example Usage with a public JWK encoded RSA key
13
+ *
14
+ * ```js
15
+ * const jwt =
16
+ * 'eyJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCIsImtpZCI6IkVDIzEiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0LyIsInN1YiI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvIiwibWV0YWRhdGEiOnsiZXVkaV93YWxsZXRfcHJvdmlkZXIiOnsiandrcyI6W3siY3J2IjoiUC0yNTYiLCJrdHkiOiJFQyIsIngiOiJxckpyajNBZl9CNTdzYk9JUnJjQk03YnI3d09jOHluajdsSEZQVGVmZlVrIiwieSI6IjFIMGNXRHlHZ3ZVOHcta1BLVV94eWNPQ1VOVDJvMGJ3c2xJUXRuUFU2aU0iLCJraWQiOiJFQyMxIn1dLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvdG9rZW4iLCJhc2NfdmFsdWVzX3N1cHBvcnRlZCI6WyJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0L0xvQS9iYXNpYyIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL21lZGl1bSIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL2hpZ2h0Il0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6Y2xpZW50LWFzc2VydGlvbi10eXBlOmp3dC1rZXktYXR0ZXN0YXRpb24iXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkVTMjU2IiwiRVMyNTZLIiwiRVMzODQiLCJFUzUxMiIsIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIlBTMjU2IiwiUFMzODQiLCJQUzUxMiJdfSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsib3JnYW5pemF0aW9uX25hbWUiOiJQYWdvUGEgUy5wLkEuIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly9pby5pdGFsaWEuaXQvIiwicG9saWN5X3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5LyIsInRvc191cmkiOiJodHRwczovL2lvLml0YWxpYS5pdC9wcml2YWN5LXBvbGljeS8iLCJsb2dvX3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L2Fzc2V0cy9pbWcvaW8taXQtbG9nby13aGl0ZS5zdmcifX0sImlhdCI6MTY4OTIzNjYzNSwiZXhwIjoxNjg5MjQwMjM1fQ.6wA0M6rNYNSFN_EylzMA6ElAibW7FVSZyoLNEkHU5c_RKuiNenT08YIMvbysYautLZotUedEMP5xCyNpY34x6Q'
17
+ *
18
+ * const { payload, protectedHeader } = await decode(jwt)
19
+ *
20
+ * ```
21
+ *
22
+ * @param jwt JSON Web Token value (encoded as JWS).
23
+ */
24
+ export declare const decode: (token: string) => JWTDecodeResult;
25
+ /**
26
+ * Verifies the JWS signature
27
+ *
28
+ * @example Usage with a public JWK encoded RSA key
29
+ *
30
+ * ```js
31
+ * const jwk = {
32
+ * crv: 'P-256',
33
+ * kty: 'EC',
34
+ * x: 'qrJrj3Af_B57sbOIRrcBM7br7wOc8ynj7lHFPTeffUk',
35
+ * y: '1H0cWDyGgvU8w-kPKU_xycOCUNT2o0bwslIQtnPU6iM',
36
+ * }
37
+ * const jwt =
38
+ * 'eyJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCIsImtpZCI6IkVDIzEiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0LyIsInN1YiI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvIiwibWV0YWRhdGEiOnsiZXVkaV93YWxsZXRfcHJvdmlkZXIiOnsiandrcyI6W3siY3J2IjoiUC0yNTYiLCJrdHkiOiJFQyIsIngiOiJxckpyajNBZl9CNTdzYk9JUnJjQk03YnI3d09jOHluajdsSEZQVGVmZlVrIiwieSI6IjFIMGNXRHlHZ3ZVOHcta1BLVV94eWNPQ1VOVDJvMGJ3c2xJUXRuUFU2aU0iLCJraWQiOiJFQyMxIn1dLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvdG9rZW4iLCJhc2NfdmFsdWVzX3N1cHBvcnRlZCI6WyJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0L0xvQS9iYXNpYyIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL21lZGl1bSIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL2hpZ2h0Il0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6Y2xpZW50LWFzc2VydGlvbi10eXBlOmp3dC1rZXktYXR0ZXN0YXRpb24iXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkVTMjU2IiwiRVMyNTZLIiwiRVMzODQiLCJFUzUxMiIsIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIlBTMjU2IiwiUFMzODQiLCJQUzUxMiJdfSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsib3JnYW5pemF0aW9uX25hbWUiOiJQYWdvUGEgUy5wLkEuIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly9pby5pdGFsaWEuaXQvIiwicG9saWN5X3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5LyIsInRvc191cmkiOiJodHRwczovL2lvLml0YWxpYS5pdC9wcml2YWN5LXBvbGljeS8iLCJsb2dvX3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L2Fzc2V0cy9pbWcvaW8taXQtbG9nby13aGl0ZS5zdmcifX0sImlhdCI6MTY4OTIzNjYzNSwiZXhwIjoxNjg5MjQwMjM1fQ.6wA0M6rNYNSFN_EylzMA6ElAibW7FVSZyoLNEkHU5c_RKuiNenT08YIMvbysYautLZotUedEMP5xCyNpY34x6Q'
39
+ *
40
+ * const isSignatureValid = await verify(jwt, jwk)
41
+ * ```
42
+ *
43
+ * @param jwt JSON Web Token value (encoded as JWS).
44
+ * @param key Public key to verify the JWT in JWK format.
45
+ */
46
+ export declare const isSignatureValid: (token: string, jwk: JWK) => Promise<boolean>;
47
+ /**
48
+ * Verifies the JWT format (to be a JWS Compact format), verifies the JWS signature, validates the
49
+ * JWT Claims Set.
50
+ *
51
+ * @example Usage with a public JWK encoded RSA key
52
+ *
53
+ * ```js
54
+ * const jwk = {
55
+ * crv: 'P-256',
56
+ * kty: 'EC',
57
+ * x: 'qrJrj3Af_B57sbOIRrcBM7br7wOc8ynj7lHFPTeffUk',
58
+ * y: '1H0cWDyGgvU8w-kPKU_xycOCUNT2o0bwslIQtnPU6iM',
59
+ * }
60
+ * const jwt =
61
+ * 'eyJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCIsImtpZCI6IkVDIzEiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0LyIsInN1YiI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvIiwibWV0YWRhdGEiOnsiZXVkaV93YWxsZXRfcHJvdmlkZXIiOnsiandrcyI6W3siY3J2IjoiUC0yNTYiLCJrdHkiOiJFQyIsIngiOiJxckpyajNBZl9CNTdzYk9JUnJjQk03YnI3d09jOHluajdsSEZQVGVmZlVrIiwieSI6IjFIMGNXRHlHZ3ZVOHcta1BLVV94eWNPQ1VOVDJvMGJ3c2xJUXRuUFU2aU0iLCJraWQiOiJFQyMxIn1dLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvdG9rZW4iLCJhc2NfdmFsdWVzX3N1cHBvcnRlZCI6WyJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0L0xvQS9iYXNpYyIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL21lZGl1bSIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL2hpZ2h0Il0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6Y2xpZW50LWFzc2VydGlvbi10eXBlOmp3dC1rZXktYXR0ZXN0YXRpb24iXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkVTMjU2IiwiRVMyNTZLIiwiRVMzODQiLCJFUzUxMiIsIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIlBTMjU2IiwiUFMzODQiLCJQUzUxMiJdfSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsib3JnYW5pemF0aW9uX25hbWUiOiJQYWdvUGEgUy5wLkEuIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly9pby5pdGFsaWEuaXQvIiwicG9saWN5X3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5LyIsInRvc191cmkiOiJodHRwczovL2lvLml0YWxpYS5pdC9wcml2YWN5LXBvbGljeS8iLCJsb2dvX3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L2Fzc2V0cy9pbWcvaW8taXQtbG9nby13aGl0ZS5zdmcifX0sImlhdCI6MTY4OTIzNjYzNSwiZXhwIjoxNjg5MjQwMjM1fQ.6wA0M6rNYNSFN_EylzMA6ElAibW7FVSZyoLNEkHU5c_RKuiNenT08YIMvbysYautLZotUedEMP5xCyNpY34x6Q'
62
+ *
63
+ * const { payload, protectedHeader } = await verify(jwt, jwk, {
64
+ * typ: 'entity-statement+jwt',
65
+ * requiredClaims: ['iss', 'sub', 'metadata'],
66
+ * })
67
+ * ```
68
+ *
69
+ * * @example Usage with a JWKSet
70
+ *
71
+ * ```js
72
+ * const wellKnownUrl = 'https://example.com/.well-known/openid-federation';
73
+ * const jwks = await getRemoteJWKSet(wellKnownUrl);
74
+ *
75
+ * const jwt =
76
+ * 'eyJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCIsImtpZCI6IkVDIzEiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0LyIsInN1YiI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvIiwibWV0YWRhdGEiOnsiZXVkaV93YWxsZXRfcHJvdmlkZXIiOnsiandrcyI6W3siY3J2IjoiUC0yNTYiLCJrdHkiOiJFQyIsIngiOiJxckpyajNBZl9CNTdzYk9JUnJjQk03YnI3d09jOHluajdsSEZQVGVmZlVrIiwieSI6IjFIMGNXRHlHZ3ZVOHcta1BLVV94eWNPQ1VOVDJvMGJ3c2xJUXRuUFU2aU0iLCJraWQiOiJFQyMxIn1dLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvdG9rZW4iLCJhc2NfdmFsdWVzX3N1cHBvcnRlZCI6WyJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0L0xvQS9iYXNpYyIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL21lZGl1bSIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL2hpZ2h0Il0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6Y2xpZW50LWFzc2VydGlvbi10eXBlOmp3dC1rZXktYXR0ZXN0YXRpb24iXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkVTMjU2IiwiRVMyNTZLIiwiRVMzODQiLCJFUzUxMiIsIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIlBTMjU2IiwiUFMzODQiLCJQUzUxMiJdfSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsib3JnYW5pemF0aW9uX25hbWUiOiJQYWdvUGEgUy5wLkEuIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly9pby5pdGFsaWEuaXQvIiwicG9saWN5X3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5LyIsInRvc191cmkiOiJodHRwczovL2lvLml0YWxpYS5pdC9wcml2YWN5LXBvbGljeS8iLCJsb2dvX3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L2Fzc2V0cy9pbWcvaW8taXQtbG9nby13aGl0ZS5zdmcifX0sImlhdCI6MTY4OTIzNjYzNSwiZXhwIjoxNjg5MjQwMjM1fQ.6wA0M6rNYNSFN_EylzMA6ElAibW7FVSZyoLNEkHU5c_RKuiNenT08YIMvbysYautLZotUedEMP5xCyNpY34x6Q'
77
+ *
78
+ * const { payload, protectedHeader } = await verify(jwt, jwks, {
79
+ * typ: 'entity-statement+jwt',
80
+ * requiredClaims: ['iss', 'sub', 'metadata'],
81
+ * })
82
+ * ```
83
+ *
84
+ * @param jwt JSON Web Token value (encoded as JWS).
85
+ * @param key Public key to verify the JWT in JWK format or JWKS (array of JWK).
86
+ * @param options JWT Decryption and JWT Claims Set validation options.
87
+ */
88
+ export declare const verify: (token: string, jwk: JWK | JWK[], options?: JWTClaimVerificationOptions) => Promise<JWTDecodeResult>;
89
+ /**
90
+ * Given the header of a JWT return the corresponding key from a JWKS.
91
+ *
92
+ * It uses the "alg" (JWS Algorithm) Header Parameter to determine the right JWK "kty" (Key Type),
93
+ * then proceeds to match the JWK "kid" (Key ID) with one found in the JWS Header Parameters (if
94
+ * there is one).
95
+ * Only a single public key must match the selection process.
96
+ *
97
+ * @param header JWT header
98
+ * @param jwks Json Web Key Set (JWKS)
99
+ *
100
+ */
101
+ export declare const getJwkFromHeader: (header: JWSHeaderParameters, jwks: JWK[]) => JWK;
102
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/jwt/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,eAAe,EAChB,MAAM,UAAU,CAAC;AAKlB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAGpC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,MAAM,UAAW,MAAM,KAAG,eAAwC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gBAAgB,UAAW,MAAM,OAAO,GAAG,KAAG,QAAQ,OAAO,CACrC,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,MAAM,UACV,MAAM,OACR,GAAG,GAAG,GAAG,EAAE,YACP,2BAA2B,KACnC,QAAQ,eAAe,CAczB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,WACnB,mBAAmB,QACrB,GAAG,EAAE,KACV,GAYF,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { JWTPayload, JWTClaimVerificationOptions, JWSHeaderParameters } from './types';
1
+ import type { JWTPayload, JWTClaimVerificationOptions, JWSHeaderParameters } from '../types';
2
2
  declare const _default: (protectedHeader: JWSHeaderParameters, payload: JWTPayload, options?: JWTClaimVerificationOptions) => JWTPayload;
3
3
  export default _default;
4
4
  //# sourceMappingURL=jwt_claims_set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt_claims_set.d.ts","sourceRoot":"","sources":["../../../src/jwt/jwt_claims_set.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,UAAU,EACV,2BAA2B,EAC3B,mBAAmB,EACpB,MAAM,UAAU,CAAC;0CAyBC,mBAAmB,WAC3B,UAAU,YACV,2BAA2B;AAHtC,wBAkKE"}
@@ -1,4 +1,4 @@
1
- import type { JWTPayload } from './types';
1
+ import type { JWTPayload } from '../types';
2
2
  /** Generic class for JWT producing. */
3
3
  export declare class ProduceJWT {
4
4
  protected _payload: JWTPayload;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"produce.d.ts","sourceRoot":"","sources":["../../../src/jwt/produce.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAI3C,uCAAuC;AACvC,qBAAa,UAAU;IACrB,SAAS,CAAC,QAAQ,EAAG,UAAU,CAAC;IAEhC,gDAAgD;gBACpC,OAAO,EAAE,UAAU;IAO/B;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;IAKxB;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM;IAK1B;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAKvC;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM;IAKpB;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAYnC;;;;;;OAMG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAYxC;;;;;OAKG;IACH,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM;CAQ3B"}
@@ -1,4 +1,4 @@
1
- import type { CompactJWSHeaderParameters, JWTDecodeResult, JWTPayload } from './types';
1
+ import type { CompactJWSHeaderParameters, JWTDecodeResult, JWTPayload } from '../types';
2
2
  import { ProduceJWT } from './produce';
3
3
  /**
4
4
  * The SignJWT class is used to build and sign Compact JWS formatted JSON Web Tokens.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../../src/jwt/sign.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,0BAA0B,EAC1B,eAAe,EACf,UAAU,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAMvC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,OAAQ,SAAQ,UAAU;IACrC,OAAO,CAAC,gBAAgB,CAA8B;IAEtD;;;;OAIG;IACH,kBAAkB,CAAC,eAAe,EAAE,0BAA0B;IAQ9D;;;OAGG;IACH,MAAM,IAAI,MAAM;IAehB;;;;;;;OAOG;WACU,eAAe,CAC1B,mBAAmB,EAAE,MAAM,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;IAoBlB;;;;OAIG;IACH,MAAM,CAAC,yBAAyB,CAAC,mBAAmB,EAAE,MAAM,GAAG;QAC7D,OAAO,EAAE,UAAU,CAAC;QACpB,MAAM,EAAE,0BAA0B,CAAC;KACpC;IAkCD;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe;CAkC5C"}
@@ -1,4 +1,4 @@
1
- import type { JWSHeaderParameters, JWTClaimVerificationOptions, JWTPayload } from './types';
1
+ import type { JWSHeaderParameters, JWTClaimVerificationOptions, JWTPayload } from '../types';
2
2
  import { ProduceJWT } from './produce';
3
3
  export interface UnsecuredResult {
4
4
  payload: JWTPayload;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsecured.d.ts","sourceRoot":"","sources":["../../../src/jwt/unsecured.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,UAAU,EACX,MAAM,UAAU,CAAC;AAIlB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAC1C,iCAAiC;IACjC,MAAM,IAAI,MAAM;IAOhB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,2BAA2B,GACpC,eAAe;IA6BlB;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAClB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,2BAA2B,GACpC,UAAU;CAed"}
@@ -1,55 +1,10 @@
1
+ import { z } from 'zod';
1
2
  export interface JWTDecodeResult {
2
3
  /** JWT Claims Set. */
3
4
  payload: JWTPayload;
4
5
  /** JWS Protected Header. */
5
6
  protectedHeader: JWSHeaderParameters;
6
7
  }
7
- /**
8
- * JSON Web Key ({@link https://www.rfc-editor.org/rfc/rfc7517 JWK}). "RSA", "EC", "OKP", and "oct"
9
- * key types are supported.
10
- */
11
- export interface JWK {
12
- /** JWK "alg" (Algorithm) Parameter. */
13
- 'alg'?: string;
14
- 'crv'?: string;
15
- 'd'?: string;
16
- 'dp'?: string;
17
- 'dq'?: string;
18
- 'e'?: string;
19
- /** JWK "ext" (Extractable) Parameter. */
20
- 'ext'?: boolean;
21
- 'k'?: string;
22
- /** JWK "key_ops" (Key Operations) Parameter. */
23
- 'key_ops'?: string[];
24
- /** JWK "kid" (Key ID) Parameter. */
25
- 'kid'?: string;
26
- /** JWK "kty" (Key Type) Parameter.
27
- * This attribute is required to discriminate the
28
- * type of EC/RSA algorithm */
29
- 'kty': string;
30
- 'n'?: string;
31
- 'oth'?: Array<{
32
- d?: string;
33
- r?: string;
34
- t?: string;
35
- }>;
36
- 'p'?: string;
37
- 'q'?: string;
38
- 'qi'?: string;
39
- /** JWK "use" (Public Key Use) Parameter. */
40
- 'use'?: string;
41
- 'x'?: string;
42
- 'y'?: string;
43
- /** JWK "x5c" (X.509 Certificate Chain) Parameter. */
44
- 'x5c'?: string[];
45
- /** JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter. */
46
- 'x5t'?: string;
47
- /** "x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter. */
48
- 'x5t#S256'?: string;
49
- /** JWK "x5u" (X.509 URL) Parameter. */
50
- 'x5u'?: string;
51
- [propName: string]: unknown;
52
- }
53
8
  export interface JoseHeaderParameters {
54
9
  /** "kid" (Key ID) Header Parameter. */
55
10
  kid?: string;
@@ -86,6 +41,15 @@ export interface JWSHeaderParameters extends JoseHeaderParameters {
86
41
  export interface CompactJWSHeaderParameters extends JWSHeaderParameters {
87
42
  alg: string;
88
43
  }
44
+ /** Recognized JWE Header Parameters, any other Header members may also be present. */
45
+ export interface JWEHeaderParameters extends JoseHeaderParameters {
46
+ /** JWE "alg" (Algorithm) Header Parameter. */
47
+ alg?: 'RSA-OAEP-256' | 'RSA-OAEP';
48
+ /** JWE "enc" (Encryption Algorithm) Header Parameter. */
49
+ enc?: 'A256CBC-HS512' | 'A128CBC-HS256';
50
+ /** Any other JWE Header member. */
51
+ [propName: string]: unknown;
52
+ }
89
53
  /** Recognized JWT Claims Set members, any other members may also be present. */
90
54
  export interface JWTPayload {
91
55
  /**
@@ -169,4 +133,342 @@ export interface JWTClaimVerificationOptions {
169
133
  */
170
134
  requiredClaims?: string[];
171
135
  }
136
+ export type JWK = z.infer<typeof JWK>;
137
+ export declare const JWK: z.ZodObject<{
138
+ alg: z.ZodOptional<z.ZodString>;
139
+ crv: z.ZodOptional<z.ZodString>;
140
+ d: z.ZodOptional<z.ZodString>;
141
+ dp: z.ZodOptional<z.ZodString>;
142
+ dq: z.ZodOptional<z.ZodString>;
143
+ e: z.ZodOptional<z.ZodString>;
144
+ /** JWK "ext" (Extractable) Parameter. */
145
+ ext: z.ZodOptional<z.ZodBoolean>;
146
+ k: z.ZodOptional<z.ZodString>;
147
+ /** JWK "key_ops" (Key Operations) Parameter. */
148
+ key_ops: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
149
+ /** JWK "kid" (Key ID) Parameter. */
150
+ kid: z.ZodOptional<z.ZodString>;
151
+ /** JWK "kty" (Key Type) Parameter.
152
+ * This attribute is required to discriminate the
153
+ * type of EC/RSA algorithm */
154
+ kty: z.ZodString;
155
+ n: z.ZodOptional<z.ZodString>;
156
+ oth: z.ZodOptional<z.ZodArray<z.ZodObject<{
157
+ d: z.ZodOptional<z.ZodString>;
158
+ r: z.ZodOptional<z.ZodString>;
159
+ t: z.ZodOptional<z.ZodString>;
160
+ }, "strip", z.ZodTypeAny, {
161
+ d?: string | undefined;
162
+ r?: string | undefined;
163
+ t?: string | undefined;
164
+ }, {
165
+ d?: string | undefined;
166
+ r?: string | undefined;
167
+ t?: string | undefined;
168
+ }>, "many">>;
169
+ p: z.ZodOptional<z.ZodString>;
170
+ q: z.ZodOptional<z.ZodString>;
171
+ qi: z.ZodOptional<z.ZodString>;
172
+ /** JWK "use" (Public Key Use) Parameter. */
173
+ use: z.ZodOptional<z.ZodString>;
174
+ x: z.ZodOptional<z.ZodString>;
175
+ y: z.ZodOptional<z.ZodString>;
176
+ /** JWK "x5c" (X.509 Certificate Chain) Parameter. */
177
+ x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
178
+ /** JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter. */
179
+ x5t: z.ZodOptional<z.ZodString>;
180
+ /** "x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter. */
181
+ 'x5t#S256': z.ZodOptional<z.ZodString>;
182
+ /** JWK "x5u" (X.509 URL) Parameter. */
183
+ x5u: z.ZodOptional<z.ZodString>;
184
+ }, "strip", z.ZodTypeAny, {
185
+ kty: string;
186
+ alg?: string | undefined;
187
+ crv?: string | undefined;
188
+ d?: string | undefined;
189
+ dp?: string | undefined;
190
+ dq?: string | undefined;
191
+ e?: string | undefined;
192
+ ext?: boolean | undefined;
193
+ k?: string | undefined;
194
+ key_ops?: string[] | undefined;
195
+ kid?: string | undefined;
196
+ n?: string | undefined;
197
+ oth?: {
198
+ d?: string | undefined;
199
+ r?: string | undefined;
200
+ t?: string | undefined;
201
+ }[] | undefined;
202
+ p?: string | undefined;
203
+ q?: string | undefined;
204
+ qi?: string | undefined;
205
+ use?: string | undefined;
206
+ x?: string | undefined;
207
+ y?: string | undefined;
208
+ x5c?: string[] | undefined;
209
+ x5t?: string | undefined;
210
+ 'x5t#S256'?: string | undefined;
211
+ x5u?: string | undefined;
212
+ }, {
213
+ kty: string;
214
+ alg?: string | undefined;
215
+ crv?: string | undefined;
216
+ d?: string | undefined;
217
+ dp?: string | undefined;
218
+ dq?: string | undefined;
219
+ e?: string | undefined;
220
+ ext?: boolean | undefined;
221
+ k?: string | undefined;
222
+ key_ops?: string[] | undefined;
223
+ kid?: string | undefined;
224
+ n?: string | undefined;
225
+ oth?: {
226
+ d?: string | undefined;
227
+ r?: string | undefined;
228
+ t?: string | undefined;
229
+ }[] | undefined;
230
+ p?: string | undefined;
231
+ q?: string | undefined;
232
+ qi?: string | undefined;
233
+ use?: string | undefined;
234
+ x?: string | undefined;
235
+ y?: string | undefined;
236
+ x5c?: string[] | undefined;
237
+ x5t?: string | undefined;
238
+ 'x5t#S256'?: string | undefined;
239
+ x5u?: string | undefined;
240
+ }>;
241
+ export type WithJWKS = z.infer<typeof WithJWKS>;
242
+ export declare const WithJWKS: z.ZodObject<{
243
+ jwks: z.ZodObject<{
244
+ keys: z.ZodArray<z.ZodObject<{
245
+ alg: z.ZodOptional<z.ZodString>;
246
+ crv: z.ZodOptional<z.ZodString>;
247
+ d: z.ZodOptional<z.ZodString>;
248
+ dp: z.ZodOptional<z.ZodString>;
249
+ dq: z.ZodOptional<z.ZodString>;
250
+ e: z.ZodOptional<z.ZodString>;
251
+ /** JWK "ext" (Extractable) Parameter. */
252
+ ext: z.ZodOptional<z.ZodBoolean>;
253
+ k: z.ZodOptional<z.ZodString>;
254
+ /** JWK "key_ops" (Key Operations) Parameter. */
255
+ key_ops: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
256
+ /** JWK "kid" (Key ID) Parameter. */
257
+ kid: z.ZodOptional<z.ZodString>;
258
+ /** JWK "kty" (Key Type) Parameter.
259
+ * This attribute is required to discriminate the
260
+ * type of EC/RSA algorithm */
261
+ kty: z.ZodString;
262
+ n: z.ZodOptional<z.ZodString>;
263
+ oth: z.ZodOptional<z.ZodArray<z.ZodObject<{
264
+ d: z.ZodOptional<z.ZodString>;
265
+ r: z.ZodOptional<z.ZodString>;
266
+ t: z.ZodOptional<z.ZodString>;
267
+ }, "strip", z.ZodTypeAny, {
268
+ d?: string | undefined;
269
+ r?: string | undefined;
270
+ t?: string | undefined;
271
+ }, {
272
+ d?: string | undefined;
273
+ r?: string | undefined;
274
+ t?: string | undefined;
275
+ }>, "many">>;
276
+ p: z.ZodOptional<z.ZodString>;
277
+ q: z.ZodOptional<z.ZodString>;
278
+ qi: z.ZodOptional<z.ZodString>;
279
+ /** JWK "use" (Public Key Use) Parameter. */
280
+ use: z.ZodOptional<z.ZodString>;
281
+ x: z.ZodOptional<z.ZodString>;
282
+ y: z.ZodOptional<z.ZodString>;
283
+ /** JWK "x5c" (X.509 Certificate Chain) Parameter. */
284
+ x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
285
+ /** JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter. */
286
+ x5t: z.ZodOptional<z.ZodString>;
287
+ /** "x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter. */
288
+ 'x5t#S256': z.ZodOptional<z.ZodString>;
289
+ /** JWK "x5u" (X.509 URL) Parameter. */
290
+ x5u: z.ZodOptional<z.ZodString>;
291
+ }, "strip", z.ZodTypeAny, {
292
+ kty: string;
293
+ alg?: string | undefined;
294
+ crv?: string | undefined;
295
+ d?: string | undefined;
296
+ dp?: string | undefined;
297
+ dq?: string | undefined;
298
+ e?: string | undefined;
299
+ ext?: boolean | undefined;
300
+ k?: string | undefined;
301
+ key_ops?: string[] | undefined;
302
+ kid?: string | undefined;
303
+ n?: string | undefined;
304
+ oth?: {
305
+ d?: string | undefined;
306
+ r?: string | undefined;
307
+ t?: string | undefined;
308
+ }[] | undefined;
309
+ p?: string | undefined;
310
+ q?: string | undefined;
311
+ qi?: string | undefined;
312
+ use?: string | undefined;
313
+ x?: string | undefined;
314
+ y?: string | undefined;
315
+ x5c?: string[] | undefined;
316
+ x5t?: string | undefined;
317
+ 'x5t#S256'?: string | undefined;
318
+ x5u?: string | undefined;
319
+ }, {
320
+ kty: string;
321
+ alg?: string | undefined;
322
+ crv?: string | undefined;
323
+ d?: string | undefined;
324
+ dp?: string | undefined;
325
+ dq?: string | undefined;
326
+ e?: string | undefined;
327
+ ext?: boolean | undefined;
328
+ k?: string | undefined;
329
+ key_ops?: string[] | undefined;
330
+ kid?: string | undefined;
331
+ n?: string | undefined;
332
+ oth?: {
333
+ d?: string | undefined;
334
+ r?: string | undefined;
335
+ t?: string | undefined;
336
+ }[] | undefined;
337
+ p?: string | undefined;
338
+ q?: string | undefined;
339
+ qi?: string | undefined;
340
+ use?: string | undefined;
341
+ x?: string | undefined;
342
+ y?: string | undefined;
343
+ x5c?: string[] | undefined;
344
+ x5t?: string | undefined;
345
+ 'x5t#S256'?: string | undefined;
346
+ x5u?: string | undefined;
347
+ }>, "many">;
348
+ }, "strip", z.ZodTypeAny, {
349
+ keys: {
350
+ kty: string;
351
+ alg?: string | undefined;
352
+ crv?: string | undefined;
353
+ d?: string | undefined;
354
+ dp?: string | undefined;
355
+ dq?: string | undefined;
356
+ e?: string | undefined;
357
+ ext?: boolean | undefined;
358
+ k?: string | undefined;
359
+ key_ops?: string[] | undefined;
360
+ kid?: string | undefined;
361
+ n?: string | undefined;
362
+ oth?: {
363
+ d?: string | undefined;
364
+ r?: string | undefined;
365
+ t?: string | undefined;
366
+ }[] | undefined;
367
+ p?: string | undefined;
368
+ q?: string | undefined;
369
+ qi?: string | undefined;
370
+ use?: string | undefined;
371
+ x?: string | undefined;
372
+ y?: string | undefined;
373
+ x5c?: string[] | undefined;
374
+ x5t?: string | undefined;
375
+ 'x5t#S256'?: string | undefined;
376
+ x5u?: string | undefined;
377
+ }[];
378
+ }, {
379
+ keys: {
380
+ kty: string;
381
+ alg?: string | undefined;
382
+ crv?: string | undefined;
383
+ d?: string | undefined;
384
+ dp?: string | undefined;
385
+ dq?: string | undefined;
386
+ e?: string | undefined;
387
+ ext?: boolean | undefined;
388
+ k?: string | undefined;
389
+ key_ops?: string[] | undefined;
390
+ kid?: string | undefined;
391
+ n?: string | undefined;
392
+ oth?: {
393
+ d?: string | undefined;
394
+ r?: string | undefined;
395
+ t?: string | undefined;
396
+ }[] | undefined;
397
+ p?: string | undefined;
398
+ q?: string | undefined;
399
+ qi?: string | undefined;
400
+ use?: string | undefined;
401
+ x?: string | undefined;
402
+ y?: string | undefined;
403
+ x5c?: string[] | undefined;
404
+ x5t?: string | undefined;
405
+ 'x5t#S256'?: string | undefined;
406
+ x5u?: string | undefined;
407
+ }[];
408
+ }>;
409
+ }, "strip", z.ZodTypeAny, {
410
+ jwks: {
411
+ keys: {
412
+ kty: string;
413
+ alg?: string | undefined;
414
+ crv?: string | undefined;
415
+ d?: string | undefined;
416
+ dp?: string | undefined;
417
+ dq?: string | undefined;
418
+ e?: string | undefined;
419
+ ext?: boolean | undefined;
420
+ k?: string | undefined;
421
+ key_ops?: string[] | undefined;
422
+ kid?: string | undefined;
423
+ n?: string | undefined;
424
+ oth?: {
425
+ d?: string | undefined;
426
+ r?: string | undefined;
427
+ t?: string | undefined;
428
+ }[] | undefined;
429
+ p?: string | undefined;
430
+ q?: string | undefined;
431
+ qi?: string | undefined;
432
+ use?: string | undefined;
433
+ x?: string | undefined;
434
+ y?: string | undefined;
435
+ x5c?: string[] | undefined;
436
+ x5t?: string | undefined;
437
+ 'x5t#S256'?: string | undefined;
438
+ x5u?: string | undefined;
439
+ }[];
440
+ };
441
+ }, {
442
+ jwks: {
443
+ keys: {
444
+ kty: string;
445
+ alg?: string | undefined;
446
+ crv?: string | undefined;
447
+ d?: string | undefined;
448
+ dp?: string | undefined;
449
+ dq?: string | undefined;
450
+ e?: string | undefined;
451
+ ext?: boolean | undefined;
452
+ k?: string | undefined;
453
+ key_ops?: string[] | undefined;
454
+ kid?: string | undefined;
455
+ n?: string | undefined;
456
+ oth?: {
457
+ d?: string | undefined;
458
+ r?: string | undefined;
459
+ t?: string | undefined;
460
+ }[] | undefined;
461
+ p?: string | undefined;
462
+ q?: string | undefined;
463
+ qi?: string | undefined;
464
+ use?: string | undefined;
465
+ x?: string | undefined;
466
+ y?: string | undefined;
467
+ x5c?: string[] | undefined;
468
+ x5t?: string | undefined;
469
+ 'x5t#S256'?: string | undefined;
470
+ x5u?: string | undefined;
471
+ }[];
472
+ };
473
+ }>;
172
474
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,OAAO,EAAE,UAAU,CAAC;IAEpB,4BAA4B;IAC5B,eAAe,EAAE,mBAAmB,CAAC;CACtC;AAED,MAAM,WAAW,oBAAoB;IACnC,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IAEf,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,6CAA6C;IAC7C,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IAEvD,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,sFAAsF;AACtF,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,mCAAmC;IACnC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED,8FAA8F;AAC9F,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE,GAAG,EAAE,MAAM,CAAC;CACb;AAED,sFAAsF;AACtF,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D,8CAA8C;IAC9C,GAAG,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC;IAElC,yDAAyD;IACzD,GAAG,CAAC,EAAE,eAAe,GAAG,eAAe,CAAC;IAExC,mCAAmC;IACnC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED,gFAAgF;AAChF,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED,2CAA2C;AAC3C,MAAM,WAAW,2BAA2B;IAC1C,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE7B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEjC,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE3B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE9B,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,+EAA+E;IAC/E,WAAW,CAAC,EAAE,IAAI,CAAC;IAEnB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;AACtC,eAAO,MAAM,GAAG;;;;;;;IAOd,yCAAyC;;;IAGzC,gDAAgD;;IAEhD,oCAAoC;;IAEpC;;kCAE8B;;;;;;;;;;;;;;;;;;;IAe9B,4CAA4C;;;;IAI5C,qDAAqD;;IAErD,gEAAgE;;IAEhE,mEAAmE;;IAEnE,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEvC,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAChD,eAAO,MAAM,QAAQ;;;;;;;;;YAvCnB,yCAAyC;;;YAGzC,gDAAgD;;YAEhD,oCAAoC;;YAEpC;;0CAE8B;;;;;;;;;;;;;;;;;;;YAe9B,4CAA4C;;;;YAI5C,qDAAqD;;YAErD,gEAAgE;;YAEhE,mEAAmE;;YAEnE,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASvC,CAAC"}
@@ -154,4 +154,41 @@ export declare class JWSSignatureVerificationFailed extends JOSEError {
154
154
  code: string;
155
155
  message: string;
156
156
  }
157
+ /**
158
+ * An error subclass thrown when a JWE is invalid.
159
+ *
160
+ * @example Checking thrown error is this one using a stable error code
161
+ *
162
+ * ```js
163
+ * if (err.code === 'ERR_JWE_INVALID') {
164
+ * // ...
165
+ * }
166
+ * ```
167
+ *
168
+ * @example Checking thrown error is this one using `instanceof`
169
+ *
170
+ * ```js
171
+ * if (err instanceof errors.JWEInvalid) {
172
+ * // ...
173
+ * }
174
+ * ```
175
+ */
176
+ export declare class JWEInvalid extends JOSEError {
177
+ static get code(): 'ERR_JWE_INVALID';
178
+ code: string;
179
+ }
180
+ /**
181
+ * An error subclass thrown when a JWKSet is invalid.
182
+ */
183
+ export declare class JWKSetInvalid extends JOSEError {
184
+ static get code(): 'ERR_JWKS_INVALID';
185
+ code: string;
186
+ }
187
+ /**
188
+ * An error subclass thrown when a JWK is not found.
189
+ */
190
+ export declare class JWKNotFound extends JOSEError {
191
+ static get code(): 'ERR_JWK_NOT_FOUND';
192
+ code: string;
193
+ }
157
194
  //# sourceMappingURL=errors.d.ts.map