@pagopa/io-react-native-jwt 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/java/com/pagopa/ioreactnativejwt/IoReactNativeJwtModule.kt +35 -15
- package/ios/IoReactNativeJwt.mm +6 -0
- package/ios/IoReactNativeJwt.swift +63 -0
- package/lib/commonjs/index.js +42 -125
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/jwe/index.js +41 -0
- package/lib/commonjs/jwe/index.js.map +1 -0
- package/lib/commonjs/jwk/index.js +29 -0
- package/lib/commonjs/jwk/index.js.map +1 -0
- package/lib/commonjs/jwt/index.js +171 -0
- package/lib/commonjs/jwt/index.js.map +1 -0
- package/lib/commonjs/{jwt_claims_set.js → jwt/jwt_claims_set.js} +2 -2
- package/lib/commonjs/jwt/jwt_claims_set.js.map +1 -0
- package/lib/commonjs/{produce.js → jwt/produce.js} +2 -2
- package/lib/commonjs/jwt/produce.js.map +1 -0
- package/lib/commonjs/{sign.js → jwt/sign.js} +4 -4
- package/lib/commonjs/jwt/sign.js.map +1 -0
- package/lib/commonjs/{unsecured.js → jwt/unsecured.js} +2 -2
- package/lib/commonjs/jwt/unsecured.js.map +1 -0
- package/lib/commonjs/utils/errors.js +28 -1
- package/lib/commonjs/utils/errors.js.map +1 -1
- package/lib/module/index.js +6 -111
- package/lib/module/index.js.map +1 -1
- package/lib/module/jwe/index.js +35 -0
- package/lib/module/jwe/index.js.map +1 -0
- package/lib/module/jwk/index.js +22 -0
- package/lib/module/jwk/index.js.map +1 -0
- package/lib/module/jwt/index.js +94 -0
- package/lib/module/jwt/index.js.map +1 -0
- package/lib/module/{jwt_claims_set.js → jwt/jwt_claims_set.js} +2 -2
- package/lib/module/jwt/jwt_claims_set.js.map +1 -0
- package/lib/module/{produce.js → jwt/produce.js} +2 -2
- package/lib/module/jwt/produce.js.map +1 -0
- package/lib/module/{sign.js → jwt/sign.js} +4 -4
- package/lib/module/jwt/sign.js.map +1 -0
- package/lib/module/{unsecured.js → jwt/unsecured.js} +2 -2
- package/lib/module/jwt/unsecured.js.map +1 -0
- package/lib/module/utils/errors.js +26 -0
- package/lib/module/utils/errors.js.map +1 -1
- package/lib/typescript/index.d.ts +6 -89
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/jwe/index.d.ts +32 -0
- package/lib/typescript/jwe/index.d.ts.map +1 -0
- package/lib/typescript/jwk/index.d.ts +22 -0
- package/lib/typescript/jwk/index.d.ts.map +1 -0
- package/lib/typescript/jwt/index.d.ts +74 -0
- package/lib/typescript/jwt/index.d.ts.map +1 -0
- package/lib/typescript/{jwt_claims_set.d.ts → jwt/jwt_claims_set.d.ts} +1 -1
- package/lib/typescript/jwt/jwt_claims_set.d.ts.map +1 -0
- package/lib/typescript/{produce.d.ts → jwt/produce.d.ts} +1 -1
- package/lib/typescript/jwt/produce.d.ts.map +1 -0
- package/lib/typescript/{sign.d.ts → jwt/sign.d.ts} +1 -1
- package/lib/typescript/jwt/sign.d.ts.map +1 -0
- package/lib/typescript/{unsecured.d.ts → jwt/unsecured.d.ts} +1 -1
- package/lib/typescript/jwt/unsecured.d.ts.map +1 -0
- package/lib/typescript/types.d.ts +51 -46
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/utils/errors.d.ts +23 -0
- package/lib/typescript/utils/errors.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.tsx +6 -116
- package/src/jwe/index.ts +45 -0
- package/src/jwk/index.ts +24 -0
- package/src/jwt/index.ts +95 -0
- package/src/{jwt_claims_set.ts → jwt/jwt_claims_set.ts} +3 -3
- package/src/{produce.ts → jwt/produce.ts} +3 -3
- package/src/{sign.ts → jwt/sign.ts} +5 -5
- package/src/{unsecured.ts → jwt/unsecured.ts} +3 -3
- package/src/types.ts +56 -48
- package/src/utils/errors.ts +27 -0
- package/lib/commonjs/jwt_claims_set.js.map +0 -1
- package/lib/commonjs/produce.js.map +0 -1
- package/lib/commonjs/sign.js.map +0 -1
- package/lib/commonjs/unsecured.js.map +0 -1
- package/lib/module/jwt_claims_set.js.map +0 -1
- package/lib/module/produce.js.map +0 -1
- package/lib/module/sign.js.map +0 -1
- package/lib/module/unsecured.js.map +0 -1
- package/lib/typescript/jwt_claims_set.d.ts.map +0 -1
- package/lib/typescript/produce.d.ts.map +0 -1
- package/lib/typescript/sign.d.ts.map +0 -1
- package/lib/typescript/unsecured.d.ts.map +0 -1
package/src/index.tsx
CHANGED
|
@@ -1,120 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import { JWSSignatureVerificationFailed } from './utils/errors';
|
|
8
|
-
import { IoReactNativeJwt } from './utils/proxy';
|
|
9
|
-
import { SignJWT } from './sign';
|
|
1
|
+
export * from './jwe/index';
|
|
2
|
+
export * from './jwt/index';
|
|
3
|
+
export * from './jwk/index';
|
|
4
|
+
export * from './jwt/produce';
|
|
5
|
+
export * from './jwt/sign';
|
|
6
|
+
export * from './jwt/unsecured';
|
|
10
7
|
|
|
11
|
-
export * from './produce';
|
|
12
|
-
export * from './sign';
|
|
13
|
-
export * from './unsecured';
|
|
14
8
|
export { derToJose } from './utils/asn1';
|
|
15
9
|
export { encodeBase64, decodeBase64 } from './utils/base64';
|
|
16
10
|
export { sha256ToBase64 } from './hash';
|
|
17
|
-
/**
|
|
18
|
-
* Decode the JWT without validation.
|
|
19
|
-
*
|
|
20
|
-
* @example Usage with a public JWK encoded RSA key
|
|
21
|
-
*
|
|
22
|
-
* ```js
|
|
23
|
-
* const jwt =
|
|
24
|
-
* 'eyJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCIsImtpZCI6IkVDIzEiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0LyIsInN1YiI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvIiwibWV0YWRhdGEiOnsiZXVkaV93YWxsZXRfcHJvdmlkZXIiOnsiandrcyI6W3siY3J2IjoiUC0yNTYiLCJrdHkiOiJFQyIsIngiOiJxckpyajNBZl9CNTdzYk9JUnJjQk03YnI3d09jOHluajdsSEZQVGVmZlVrIiwieSI6IjFIMGNXRHlHZ3ZVOHcta1BLVV94eWNPQ1VOVDJvMGJ3c2xJUXRuUFU2aU0iLCJraWQiOiJFQyMxIn1dLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvdG9rZW4iLCJhc2NfdmFsdWVzX3N1cHBvcnRlZCI6WyJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0L0xvQS9iYXNpYyIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL21lZGl1bSIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL2hpZ2h0Il0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6Y2xpZW50LWFzc2VydGlvbi10eXBlOmp3dC1rZXktYXR0ZXN0YXRpb24iXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkVTMjU2IiwiRVMyNTZLIiwiRVMzODQiLCJFUzUxMiIsIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIlBTMjU2IiwiUFMzODQiLCJQUzUxMiJdfSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsib3JnYW5pemF0aW9uX25hbWUiOiJQYWdvUGEgUy5wLkEuIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly9pby5pdGFsaWEuaXQvIiwicG9saWN5X3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5LyIsInRvc191cmkiOiJodHRwczovL2lvLml0YWxpYS5pdC9wcml2YWN5LXBvbGljeS8iLCJsb2dvX3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L2Fzc2V0cy9pbWcvaW8taXQtbG9nby13aGl0ZS5zdmcifX0sImlhdCI6MTY4OTIzNjYzNSwiZXhwIjoxNjg5MjQwMjM1fQ.6wA0M6rNYNSFN_EylzMA6ElAibW7FVSZyoLNEkHU5c_RKuiNenT08YIMvbysYautLZotUedEMP5xCyNpY34x6Q'
|
|
25
|
-
*
|
|
26
|
-
* const { payload, protectedHeader } = await decode(jwt)
|
|
27
|
-
*
|
|
28
|
-
* ```
|
|
29
|
-
*
|
|
30
|
-
* @param jwt JSON Web Token value (encoded as JWS).
|
|
31
|
-
*/
|
|
32
|
-
export const decode = (token: string): JWTDecodeResult => SignJWT.decode(token);
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Verifies the JWS signature
|
|
36
|
-
*
|
|
37
|
-
* @example Usage with a public JWK encoded RSA key
|
|
38
|
-
*
|
|
39
|
-
* ```js
|
|
40
|
-
* const jwk = {
|
|
41
|
-
* crv: 'P-256',
|
|
42
|
-
* kty: 'EC',
|
|
43
|
-
* x: 'qrJrj3Af_B57sbOIRrcBM7br7wOc8ynj7lHFPTeffUk',
|
|
44
|
-
* y: '1H0cWDyGgvU8w-kPKU_xycOCUNT2o0bwslIQtnPU6iM',
|
|
45
|
-
* }
|
|
46
|
-
* const jwt =
|
|
47
|
-
* 'eyJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCIsImtpZCI6IkVDIzEiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0LyIsInN1YiI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvIiwibWV0YWRhdGEiOnsiZXVkaV93YWxsZXRfcHJvdmlkZXIiOnsiandrcyI6W3siY3J2IjoiUC0yNTYiLCJrdHkiOiJFQyIsIngiOiJxckpyajNBZl9CNTdzYk9JUnJjQk03YnI3d09jOHluajdsSEZQVGVmZlVrIiwieSI6IjFIMGNXRHlHZ3ZVOHcta1BLVV94eWNPQ1VOVDJvMGJ3c2xJUXRuUFU2aU0iLCJraWQiOiJFQyMxIn1dLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvdG9rZW4iLCJhc2NfdmFsdWVzX3N1cHBvcnRlZCI6WyJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0L0xvQS9iYXNpYyIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL21lZGl1bSIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL2hpZ2h0Il0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6Y2xpZW50LWFzc2VydGlvbi10eXBlOmp3dC1rZXktYXR0ZXN0YXRpb24iXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkVTMjU2IiwiRVMyNTZLIiwiRVMzODQiLCJFUzUxMiIsIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIlBTMjU2IiwiUFMzODQiLCJQUzUxMiJdfSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsib3JnYW5pemF0aW9uX25hbWUiOiJQYWdvUGEgUy5wLkEuIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly9pby5pdGFsaWEuaXQvIiwicG9saWN5X3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5LyIsInRvc191cmkiOiJodHRwczovL2lvLml0YWxpYS5pdC9wcml2YWN5LXBvbGljeS8iLCJsb2dvX3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L2Fzc2V0cy9pbWcvaW8taXQtbG9nby13aGl0ZS5zdmcifX0sImlhdCI6MTY4OTIzNjYzNSwiZXhwIjoxNjg5MjQwMjM1fQ.6wA0M6rNYNSFN_EylzMA6ElAibW7FVSZyoLNEkHU5c_RKuiNenT08YIMvbysYautLZotUedEMP5xCyNpY34x6Q'
|
|
48
|
-
*
|
|
49
|
-
* const isSignatureValid = await verify(jwt, jwk)
|
|
50
|
-
* ```
|
|
51
|
-
*
|
|
52
|
-
* @param jwt JSON Web Token value (encoded as JWS).
|
|
53
|
-
* @param key Public key to verify the JWT in JWK format.
|
|
54
|
-
*/
|
|
55
|
-
export const isSignatureValid = (token: string, jwk: JWK): Promise<boolean> =>
|
|
56
|
-
IoReactNativeJwt.verify(token, jwk);
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Verifies the JWT format (to be a JWS Compact format), verifies the JWS signature, validates the
|
|
60
|
-
* JWT Claims Set.
|
|
61
|
-
*
|
|
62
|
-
* @example Usage with a public JWK encoded RSA key
|
|
63
|
-
*
|
|
64
|
-
* ```js
|
|
65
|
-
* const jwk = {
|
|
66
|
-
* crv: 'P-256',
|
|
67
|
-
* kty: 'EC',
|
|
68
|
-
* x: 'qrJrj3Af_B57sbOIRrcBM7br7wOc8ynj7lHFPTeffUk',
|
|
69
|
-
* y: '1H0cWDyGgvU8w-kPKU_xycOCUNT2o0bwslIQtnPU6iM',
|
|
70
|
-
* }
|
|
71
|
-
* const jwt =
|
|
72
|
-
* 'eyJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCIsImtpZCI6IkVDIzEiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0LyIsInN1YiI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvIiwibWV0YWRhdGEiOnsiZXVkaV93YWxsZXRfcHJvdmlkZXIiOnsiandrcyI6W3siY3J2IjoiUC0yNTYiLCJrdHkiOiJFQyIsIngiOiJxckpyajNBZl9CNTdzYk9JUnJjQk03YnI3d09jOHluajdsSEZQVGVmZlVrIiwieSI6IjFIMGNXRHlHZ3ZVOHcta1BLVV94eWNPQ1VOVDJvMGJ3c2xJUXRuUFU2aU0iLCJraWQiOiJFQyMxIn1dLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvdG9rZW4iLCJhc2NfdmFsdWVzX3N1cHBvcnRlZCI6WyJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0L0xvQS9iYXNpYyIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL21lZGl1bSIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL2hpZ2h0Il0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6Y2xpZW50LWFzc2VydGlvbi10eXBlOmp3dC1rZXktYXR0ZXN0YXRpb24iXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkVTMjU2IiwiRVMyNTZLIiwiRVMzODQiLCJFUzUxMiIsIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIlBTMjU2IiwiUFMzODQiLCJQUzUxMiJdfSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsib3JnYW5pemF0aW9uX25hbWUiOiJQYWdvUGEgUy5wLkEuIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly9pby5pdGFsaWEuaXQvIiwicG9saWN5X3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5LyIsInRvc191cmkiOiJodHRwczovL2lvLml0YWxpYS5pdC9wcml2YWN5LXBvbGljeS8iLCJsb2dvX3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L2Fzc2V0cy9pbWcvaW8taXQtbG9nby13aGl0ZS5zdmcifX0sImlhdCI6MTY4OTIzNjYzNSwiZXhwIjoxNjg5MjQwMjM1fQ.6wA0M6rNYNSFN_EylzMA6ElAibW7FVSZyoLNEkHU5c_RKuiNenT08YIMvbysYautLZotUedEMP5xCyNpY34x6Q'
|
|
73
|
-
*
|
|
74
|
-
* const { payload, protectedHeader } = await verify(jwt, jwk, {
|
|
75
|
-
* typ: 'entity-statement+jwt',
|
|
76
|
-
* requiredClaims: ['iss', 'sub', 'metadata'],
|
|
77
|
-
* })
|
|
78
|
-
* ```
|
|
79
|
-
*
|
|
80
|
-
* @param jwt JSON Web Token value (encoded as JWS).
|
|
81
|
-
* @param key Public key to verify the JWT in JWK format.
|
|
82
|
-
* @param options JWT Decryption and JWT Claims Set validation options.
|
|
83
|
-
*/
|
|
84
|
-
export const verify = async (
|
|
85
|
-
token: string,
|
|
86
|
-
jwk: JWK,
|
|
87
|
-
options: JWTClaimVerificationOptions = {}
|
|
88
|
-
): Promise<JWTDecodeResult> => {
|
|
89
|
-
const { protectedHeader, payload } = await decode(token);
|
|
90
|
-
const signatureIsValid = await isSignatureValid(token, jwk);
|
|
91
|
-
|
|
92
|
-
if (signatureIsValid) {
|
|
93
|
-
const verifiedPayload = jwtPayload(protectedHeader, payload, options);
|
|
94
|
-
return { payload: verifiedPayload, protectedHeader };
|
|
95
|
-
} else {
|
|
96
|
-
throw new JWSSignatureVerificationFailed();
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Calculate JWK thumbprint
|
|
102
|
-
*
|
|
103
|
-
* @example Get JWK thumbprint
|
|
104
|
-
*
|
|
105
|
-
* ```js
|
|
106
|
-
* const jwk: JWK = {
|
|
107
|
-
* crv: 'P-256',
|
|
108
|
-
* kty: 'EC',
|
|
109
|
-
* x: 'qrJrj3Af_B57sbOIRrcBM7br7wOc8ynj7lHFPTeffUk',
|
|
110
|
-
* y: '1H0cWDyGgvU8w-kPKU_xycOCUNT2o0bwslIQtnPU6iM',
|
|
111
|
-
* };
|
|
112
|
-
|
|
113
|
-
* const thumbprint = await thumbprint(jwk)
|
|
114
|
-
*
|
|
115
|
-
* ```
|
|
116
|
-
*
|
|
117
|
-
* @param jwk JSON Web Key
|
|
118
|
-
*/
|
|
119
|
-
export const thumbprint = (jwk: JWK): Promise<string> =>
|
|
120
|
-
IoReactNativeJwt.thumbprint(jwk);
|
package/src/jwe/index.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { JWEHeaderParameters, JWK } from '../types';
|
|
2
|
+
import { IoReactNativeJwt } from '../utils/proxy';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The EncryptJwe class is used to build and encrypt Flattened JWE objects.
|
|
6
|
+
*
|
|
7
|
+
* @example Usage
|
|
8
|
+
*
|
|
9
|
+
* ```js
|
|
10
|
+
* const jwe = await new EncryptJwe(
|
|
11
|
+
* new TextEncoder().encode('It’s a dangerous business, Frodo, going out your door.', { alg: 'RSA-OAEP-256', enc: 'A256GCM' }),
|
|
12
|
+
* )
|
|
13
|
+
* .encrypt(publicKey)
|
|
14
|
+
*
|
|
15
|
+
* console.log(jwe)
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export class EncryptJwe {
|
|
19
|
+
private _plaintext: String;
|
|
20
|
+
private _protectedHeader!: JWEHeaderParameters & { alg: string; enc: string };
|
|
21
|
+
|
|
22
|
+
/** @param plaintext String representation of the plaintext to encrypt. */
|
|
23
|
+
/** @param header JWE header with alg and enc parameters. */
|
|
24
|
+
constructor(
|
|
25
|
+
plaintext: String,
|
|
26
|
+
header: JWEHeaderParameters & { alg: string; enc: string }
|
|
27
|
+
) {
|
|
28
|
+
this._plaintext = plaintext;
|
|
29
|
+
this._protectedHeader = header;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Encrypts and resolves the value of the Flattened JWE object.
|
|
34
|
+
*
|
|
35
|
+
* @param key Public Key or Secret to encrypt the JWE with. See
|
|
36
|
+
*/
|
|
37
|
+
async encrypt(key: JWK): Promise<string> {
|
|
38
|
+
let jwe = await IoReactNativeJwt.enc(
|
|
39
|
+
this._plaintext,
|
|
40
|
+
this._protectedHeader,
|
|
41
|
+
key
|
|
42
|
+
);
|
|
43
|
+
return jwe;
|
|
44
|
+
}
|
|
45
|
+
}
|
package/src/jwk/index.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IoReactNativeJwt } from '../utils/proxy';
|
|
2
|
+
import type { JWK } from '../types';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Calculate JWK thumbprint
|
|
6
|
+
*
|
|
7
|
+
* @example Get JWK thumbprint
|
|
8
|
+
*
|
|
9
|
+
* ```js
|
|
10
|
+
* const jwk: JWK = {
|
|
11
|
+
* crv: 'P-256',
|
|
12
|
+
* kty: 'EC',
|
|
13
|
+
* x: 'qrJrj3Af_B57sbOIRrcBM7br7wOc8ynj7lHFPTeffUk',
|
|
14
|
+
* y: '1H0cWDyGgvU8w-kPKU_xycOCUNT2o0bwslIQtnPU6iM',
|
|
15
|
+
* };
|
|
16
|
+
|
|
17
|
+
* const thumbprint = await thumbprint(jwk)
|
|
18
|
+
*
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @param jwk JSON Web Key
|
|
22
|
+
*/
|
|
23
|
+
export const thumbprint = (jwk: JWK): Promise<string> =>
|
|
24
|
+
IoReactNativeJwt.thumbprint(jwk);
|
package/src/jwt/index.ts
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { JWTClaimVerificationOptions, JWTDecodeResult } from '../types';
|
|
2
|
+
import jwtPayload from './jwt_claims_set';
|
|
3
|
+
import { JWSSignatureVerificationFailed } from '../utils/errors';
|
|
4
|
+
import { IoReactNativeJwt } from '../utils/proxy';
|
|
5
|
+
import { SignJWT } from './sign';
|
|
6
|
+
import type { JWK } from '../types';
|
|
7
|
+
|
|
8
|
+
export * from './produce';
|
|
9
|
+
export * from './sign';
|
|
10
|
+
export * from './unsecured';
|
|
11
|
+
export { derToJose } from '../utils/asn1';
|
|
12
|
+
export { encodeBase64, decodeBase64 } from '../utils/base64';
|
|
13
|
+
export { sha256ToBase64 } from '../hash';
|
|
14
|
+
/**
|
|
15
|
+
* Decode the JWT without validation.
|
|
16
|
+
*
|
|
17
|
+
* @example Usage with a public JWK encoded RSA key
|
|
18
|
+
*
|
|
19
|
+
* ```js
|
|
20
|
+
* const jwt =
|
|
21
|
+
* 'eyJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCIsImtpZCI6IkVDIzEiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0LyIsInN1YiI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvIiwibWV0YWRhdGEiOnsiZXVkaV93YWxsZXRfcHJvdmlkZXIiOnsiandrcyI6W3siY3J2IjoiUC0yNTYiLCJrdHkiOiJFQyIsIngiOiJxckpyajNBZl9CNTdzYk9JUnJjQk03YnI3d09jOHluajdsSEZQVGVmZlVrIiwieSI6IjFIMGNXRHlHZ3ZVOHcta1BLVV94eWNPQ1VOVDJvMGJ3c2xJUXRuUFU2aU0iLCJraWQiOiJFQyMxIn1dLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvdG9rZW4iLCJhc2NfdmFsdWVzX3N1cHBvcnRlZCI6WyJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0L0xvQS9iYXNpYyIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL21lZGl1bSIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL2hpZ2h0Il0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6Y2xpZW50LWFzc2VydGlvbi10eXBlOmp3dC1rZXktYXR0ZXN0YXRpb24iXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkVTMjU2IiwiRVMyNTZLIiwiRVMzODQiLCJFUzUxMiIsIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIlBTMjU2IiwiUFMzODQiLCJQUzUxMiJdfSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsib3JnYW5pemF0aW9uX25hbWUiOiJQYWdvUGEgUy5wLkEuIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly9pby5pdGFsaWEuaXQvIiwicG9saWN5X3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5LyIsInRvc191cmkiOiJodHRwczovL2lvLml0YWxpYS5pdC9wcml2YWN5LXBvbGljeS8iLCJsb2dvX3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L2Fzc2V0cy9pbWcvaW8taXQtbG9nby13aGl0ZS5zdmcifX0sImlhdCI6MTY4OTIzNjYzNSwiZXhwIjoxNjg5MjQwMjM1fQ.6wA0M6rNYNSFN_EylzMA6ElAibW7FVSZyoLNEkHU5c_RKuiNenT08YIMvbysYautLZotUedEMP5xCyNpY34x6Q'
|
|
22
|
+
*
|
|
23
|
+
* const { payload, protectedHeader } = await decode(jwt)
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @param jwt JSON Web Token value (encoded as JWS).
|
|
28
|
+
*/
|
|
29
|
+
export const decode = (token: string): JWTDecodeResult => SignJWT.decode(token);
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Verifies the JWS signature
|
|
33
|
+
*
|
|
34
|
+
* @example Usage with a public JWK encoded RSA key
|
|
35
|
+
*
|
|
36
|
+
* ```js
|
|
37
|
+
* const jwk = {
|
|
38
|
+
* crv: 'P-256',
|
|
39
|
+
* kty: 'EC',
|
|
40
|
+
* x: 'qrJrj3Af_B57sbOIRrcBM7br7wOc8ynj7lHFPTeffUk',
|
|
41
|
+
* y: '1H0cWDyGgvU8w-kPKU_xycOCUNT2o0bwslIQtnPU6iM',
|
|
42
|
+
* }
|
|
43
|
+
* const jwt =
|
|
44
|
+
* 'eyJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCIsImtpZCI6IkVDIzEiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0LyIsInN1YiI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvIiwibWV0YWRhdGEiOnsiZXVkaV93YWxsZXRfcHJvdmlkZXIiOnsiandrcyI6W3siY3J2IjoiUC0yNTYiLCJrdHkiOiJFQyIsIngiOiJxckpyajNBZl9CNTdzYk9JUnJjQk03YnI3d09jOHluajdsSEZQVGVmZlVrIiwieSI6IjFIMGNXRHlHZ3ZVOHcta1BLVV94eWNPQ1VOVDJvMGJ3c2xJUXRuUFU2aU0iLCJraWQiOiJFQyMxIn1dLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvdG9rZW4iLCJhc2NfdmFsdWVzX3N1cHBvcnRlZCI6WyJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0L0xvQS9iYXNpYyIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL21lZGl1bSIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL2hpZ2h0Il0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6Y2xpZW50LWFzc2VydGlvbi10eXBlOmp3dC1rZXktYXR0ZXN0YXRpb24iXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkVTMjU2IiwiRVMyNTZLIiwiRVMzODQiLCJFUzUxMiIsIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIlBTMjU2IiwiUFMzODQiLCJQUzUxMiJdfSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsib3JnYW5pemF0aW9uX25hbWUiOiJQYWdvUGEgUy5wLkEuIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly9pby5pdGFsaWEuaXQvIiwicG9saWN5X3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5LyIsInRvc191cmkiOiJodHRwczovL2lvLml0YWxpYS5pdC9wcml2YWN5LXBvbGljeS8iLCJsb2dvX3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L2Fzc2V0cy9pbWcvaW8taXQtbG9nby13aGl0ZS5zdmcifX0sImlhdCI6MTY4OTIzNjYzNSwiZXhwIjoxNjg5MjQwMjM1fQ.6wA0M6rNYNSFN_EylzMA6ElAibW7FVSZyoLNEkHU5c_RKuiNenT08YIMvbysYautLZotUedEMP5xCyNpY34x6Q'
|
|
45
|
+
*
|
|
46
|
+
* const isSignatureValid = await verify(jwt, jwk)
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @param jwt JSON Web Token value (encoded as JWS).
|
|
50
|
+
* @param key Public key to verify the JWT in JWK format.
|
|
51
|
+
*/
|
|
52
|
+
export const isSignatureValid = (token: string, jwk: JWK): Promise<boolean> =>
|
|
53
|
+
IoReactNativeJwt.verify(token, jwk);
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Verifies the JWT format (to be a JWS Compact format), verifies the JWS signature, validates the
|
|
57
|
+
* JWT Claims Set.
|
|
58
|
+
*
|
|
59
|
+
* @example Usage with a public JWK encoded RSA key
|
|
60
|
+
*
|
|
61
|
+
* ```js
|
|
62
|
+
* const jwk = {
|
|
63
|
+
* crv: 'P-256',
|
|
64
|
+
* kty: 'EC',
|
|
65
|
+
* x: 'qrJrj3Af_B57sbOIRrcBM7br7wOc8ynj7lHFPTeffUk',
|
|
66
|
+
* y: '1H0cWDyGgvU8w-kPKU_xycOCUNT2o0bwslIQtnPU6iM',
|
|
67
|
+
* }
|
|
68
|
+
* const jwt =
|
|
69
|
+
* 'eyJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCIsImtpZCI6IkVDIzEiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0LyIsInN1YiI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvIiwibWV0YWRhdGEiOnsiZXVkaV93YWxsZXRfcHJvdmlkZXIiOnsiandrcyI6W3siY3J2IjoiUC0yNTYiLCJrdHkiOiJFQyIsIngiOiJxckpyajNBZl9CNTdzYk9JUnJjQk03YnI3d09jOHluajdsSEZQVGVmZlVrIiwieSI6IjFIMGNXRHlHZ3ZVOHcta1BLVV94eWNPQ1VOVDJvMGJ3c2xJUXRuUFU2aU0iLCJraWQiOiJFQyMxIn1dLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvdG9rZW4iLCJhc2NfdmFsdWVzX3N1cHBvcnRlZCI6WyJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0L0xvQS9iYXNpYyIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL21lZGl1bSIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL2hpZ2h0Il0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6Y2xpZW50LWFzc2VydGlvbi10eXBlOmp3dC1rZXktYXR0ZXN0YXRpb24iXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkVTMjU2IiwiRVMyNTZLIiwiRVMzODQiLCJFUzUxMiIsIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIlBTMjU2IiwiUFMzODQiLCJQUzUxMiJdfSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsib3JnYW5pemF0aW9uX25hbWUiOiJQYWdvUGEgUy5wLkEuIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly9pby5pdGFsaWEuaXQvIiwicG9saWN5X3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5LyIsInRvc191cmkiOiJodHRwczovL2lvLml0YWxpYS5pdC9wcml2YWN5LXBvbGljeS8iLCJsb2dvX3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L2Fzc2V0cy9pbWcvaW8taXQtbG9nby13aGl0ZS5zdmcifX0sImlhdCI6MTY4OTIzNjYzNSwiZXhwIjoxNjg5MjQwMjM1fQ.6wA0M6rNYNSFN_EylzMA6ElAibW7FVSZyoLNEkHU5c_RKuiNenT08YIMvbysYautLZotUedEMP5xCyNpY34x6Q'
|
|
70
|
+
*
|
|
71
|
+
* const { payload, protectedHeader } = await verify(jwt, jwk, {
|
|
72
|
+
* typ: 'entity-statement+jwt',
|
|
73
|
+
* requiredClaims: ['iss', 'sub', 'metadata'],
|
|
74
|
+
* })
|
|
75
|
+
* ```
|
|
76
|
+
*
|
|
77
|
+
* @param jwt JSON Web Token value (encoded as JWS).
|
|
78
|
+
* @param key Public key to verify the JWT in JWK format.
|
|
79
|
+
* @param options JWT Decryption and JWT Claims Set validation options.
|
|
80
|
+
*/
|
|
81
|
+
export const verify = async (
|
|
82
|
+
token: string,
|
|
83
|
+
jwk: JWK,
|
|
84
|
+
options: JWTClaimVerificationOptions = {}
|
|
85
|
+
): Promise<JWTDecodeResult> => {
|
|
86
|
+
const { protectedHeader, payload } = await decode(token);
|
|
87
|
+
const signatureIsValid = await isSignatureValid(token, jwk);
|
|
88
|
+
|
|
89
|
+
if (signatureIsValid) {
|
|
90
|
+
const verifiedPayload = jwtPayload(protectedHeader, payload, options);
|
|
91
|
+
return { payload: verifiedPayload, protectedHeader };
|
|
92
|
+
} else {
|
|
93
|
+
throw new JWSSignatureVerificationFailed();
|
|
94
|
+
}
|
|
95
|
+
};
|
|
@@ -5,10 +5,10 @@ import type {
|
|
|
5
5
|
JWTPayload,
|
|
6
6
|
JWTClaimVerificationOptions,
|
|
7
7
|
JWSHeaderParameters,
|
|
8
|
-
} from '
|
|
9
|
-
import { JWTClaimValidationFailed, JWTExpired } from '
|
|
8
|
+
} from '../types';
|
|
9
|
+
import { JWTClaimValidationFailed, JWTExpired } from '../utils/errors';
|
|
10
10
|
|
|
11
|
-
import secs, { epoch } from '
|
|
11
|
+
import secs, { epoch } from '../utils/secs';
|
|
12
12
|
|
|
13
13
|
const normalizeTyp = (value: string) =>
|
|
14
14
|
value.toLowerCase().replace(/^application\//, '');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { JWTPayload } from '
|
|
2
|
-
import isObject from '
|
|
3
|
-
import secs, { epoch } from '
|
|
1
|
+
import type { JWTPayload } from '../types';
|
|
2
|
+
import isObject from '../utils/is_object';
|
|
3
|
+
import secs, { epoch } from '../utils/secs';
|
|
4
4
|
|
|
5
5
|
/** Generic class for JWT producing. */
|
|
6
6
|
export class ProduceJWT {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { JOSENotSupported, JWSInvalid, JWTInvalid } from '
|
|
1
|
+
import { JOSENotSupported, JWSInvalid, JWTInvalid } from '../utils/errors';
|
|
2
2
|
import type {
|
|
3
3
|
CompactJWSHeaderParameters,
|
|
4
4
|
JWTDecodeResult,
|
|
5
5
|
JWTPayload,
|
|
6
|
-
} from '
|
|
6
|
+
} from '../types';
|
|
7
7
|
import { ProduceJWT } from './produce';
|
|
8
|
-
import { decodeBase64, encodeBase64, removePadding } from '
|
|
9
|
-
import { isAlgSupported } from '
|
|
8
|
+
import { decodeBase64, encodeBase64, removePadding } from '../utils/base64';
|
|
9
|
+
import { isAlgSupported } from '../algorithms';
|
|
10
10
|
|
|
11
|
-
import { derToJose } from '
|
|
11
|
+
import { derToJose } from '../utils/asn1';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* The SignJWT class is used to build and sign Compact JWS formatted JSON Web Tokens.
|
|
@@ -2,12 +2,12 @@ import type {
|
|
|
2
2
|
JWSHeaderParameters,
|
|
3
3
|
JWTClaimVerificationOptions,
|
|
4
4
|
JWTPayload,
|
|
5
|
-
} from '
|
|
5
|
+
} from '../types';
|
|
6
6
|
|
|
7
|
-
import { JWTInvalid } from '
|
|
7
|
+
import { JWTInvalid } from '../utils/errors';
|
|
8
8
|
import jwtPayload from './jwt_claims_set';
|
|
9
9
|
import { ProduceJWT } from './produce';
|
|
10
|
-
import { decodeBase64, encodeBase64 } from '
|
|
10
|
+
import { decodeBase64, encodeBase64 } from '../utils/base64';
|
|
11
11
|
|
|
12
12
|
export interface UnsecuredResult {
|
|
13
13
|
payload: JWTPayload;
|
package/src/types.ts
CHANGED
|
@@ -6,54 +6,6 @@ export interface JWTDecodeResult {
|
|
|
6
6
|
protectedHeader: JWSHeaderParameters;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
/**
|
|
10
|
-
* JSON Web Key ({@link https://www.rfc-editor.org/rfc/rfc7517 JWK}). "RSA", "EC", "OKP", and "oct"
|
|
11
|
-
* key types are supported.
|
|
12
|
-
*/
|
|
13
|
-
export interface JWK {
|
|
14
|
-
/** JWK "alg" (Algorithm) Parameter. */
|
|
15
|
-
'alg'?: string;
|
|
16
|
-
'crv'?: string;
|
|
17
|
-
'd'?: string;
|
|
18
|
-
'dp'?: string;
|
|
19
|
-
'dq'?: string;
|
|
20
|
-
'e'?: string;
|
|
21
|
-
/** JWK "ext" (Extractable) Parameter. */
|
|
22
|
-
'ext'?: boolean;
|
|
23
|
-
'k'?: string;
|
|
24
|
-
/** JWK "key_ops" (Key Operations) Parameter. */
|
|
25
|
-
'key_ops'?: string[];
|
|
26
|
-
/** JWK "kid" (Key ID) Parameter. */
|
|
27
|
-
'kid'?: string;
|
|
28
|
-
/** JWK "kty" (Key Type) Parameter.
|
|
29
|
-
* This attribute is required to discriminate the
|
|
30
|
-
* type of EC/RSA algorithm */
|
|
31
|
-
'kty': string;
|
|
32
|
-
'n'?: string;
|
|
33
|
-
'oth'?: Array<{
|
|
34
|
-
d?: string;
|
|
35
|
-
r?: string;
|
|
36
|
-
t?: string;
|
|
37
|
-
}>;
|
|
38
|
-
'p'?: string;
|
|
39
|
-
'q'?: string;
|
|
40
|
-
'qi'?: string;
|
|
41
|
-
/** JWK "use" (Public Key Use) Parameter. */
|
|
42
|
-
'use'?: string;
|
|
43
|
-
'x'?: string;
|
|
44
|
-
'y'?: string;
|
|
45
|
-
/** JWK "x5c" (X.509 Certificate Chain) Parameter. */
|
|
46
|
-
'x5c'?: string[];
|
|
47
|
-
/** JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter. */
|
|
48
|
-
'x5t'?: string;
|
|
49
|
-
/** "x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter. */
|
|
50
|
-
'x5t#S256'?: string;
|
|
51
|
-
/** JWK "x5u" (X.509 URL) Parameter. */
|
|
52
|
-
'x5u'?: string;
|
|
53
|
-
|
|
54
|
-
[propName: string]: unknown;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
9
|
export interface JoseHeaderParameters {
|
|
58
10
|
/** "kid" (Key ID) Header Parameter. */
|
|
59
11
|
kid?: string;
|
|
@@ -103,6 +55,18 @@ export interface CompactJWSHeaderParameters extends JWSHeaderParameters {
|
|
|
103
55
|
alg: string;
|
|
104
56
|
}
|
|
105
57
|
|
|
58
|
+
/** Recognized JWE Header Parameters, any other Header members may also be present. */
|
|
59
|
+
export interface JWEHeaderParameters extends JoseHeaderParameters {
|
|
60
|
+
/** JWE "alg" (Algorithm) Header Parameter. */
|
|
61
|
+
alg?: 'RSA-OAEP-256' | 'RSA-OAEP';
|
|
62
|
+
|
|
63
|
+
/** JWE "enc" (Encryption Algorithm) Header Parameter. */
|
|
64
|
+
enc?: 'A256CBC-HS512' | 'A128CBC-HS256';
|
|
65
|
+
|
|
66
|
+
/** Any other JWE Header member. */
|
|
67
|
+
[propName: string]: unknown;
|
|
68
|
+
}
|
|
69
|
+
|
|
106
70
|
/** Recognized JWT Claims Set members, any other members may also be present. */
|
|
107
71
|
export interface JWTPayload {
|
|
108
72
|
/**
|
|
@@ -201,3 +165,47 @@ export interface JWTClaimVerificationOptions {
|
|
|
201
165
|
*/
|
|
202
166
|
requiredClaims?: string[];
|
|
203
167
|
}
|
|
168
|
+
|
|
169
|
+
export interface JWK {
|
|
170
|
+
/** JWK "alg" (Algorithm) Parameter. */
|
|
171
|
+
'alg'?: string;
|
|
172
|
+
'crv'?: string;
|
|
173
|
+
'd'?: string;
|
|
174
|
+
'dp'?: string;
|
|
175
|
+
'dq'?: string;
|
|
176
|
+
'e'?: string;
|
|
177
|
+
/** JWK "ext" (Extractable) Parameter. */
|
|
178
|
+
'ext'?: boolean;
|
|
179
|
+
'k'?: string;
|
|
180
|
+
/** JWK "key_ops" (Key Operations) Parameter. */
|
|
181
|
+
'key_ops'?: string[];
|
|
182
|
+
/** JWK "kid" (Key ID) Parameter. */
|
|
183
|
+
'kid'?: string;
|
|
184
|
+
/** JWK "kty" (Key Type) Parameter.
|
|
185
|
+
* This attribute is required to discriminate the
|
|
186
|
+
* type of EC/RSA algorithm */
|
|
187
|
+
'kty': string;
|
|
188
|
+
'n'?: string;
|
|
189
|
+
'oth'?: Array<{
|
|
190
|
+
d?: string;
|
|
191
|
+
r?: string;
|
|
192
|
+
t?: string;
|
|
193
|
+
}>;
|
|
194
|
+
'p'?: string;
|
|
195
|
+
'q'?: string;
|
|
196
|
+
'qi'?: string;
|
|
197
|
+
/** JWK "use" (Public Key Use) Parameter. */
|
|
198
|
+
'use'?: string;
|
|
199
|
+
'x'?: string;
|
|
200
|
+
'y'?: string;
|
|
201
|
+
/** JWK "x5c" (X.509 Certificate Chain) Parameter. */
|
|
202
|
+
'x5c'?: string[];
|
|
203
|
+
/** JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter. */
|
|
204
|
+
'x5t'?: string;
|
|
205
|
+
/** "x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter. */
|
|
206
|
+
'x5t#S256'?: string;
|
|
207
|
+
/** JWK "x5u" (X.509 URL) Parameter. */
|
|
208
|
+
'x5u'?: string;
|
|
209
|
+
|
|
210
|
+
[propName: string]: unknown;
|
|
211
|
+
}
|
package/src/utils/errors.ts
CHANGED
|
@@ -204,3 +204,30 @@ export class JWSSignatureVerificationFailed extends JOSEError {
|
|
|
204
204
|
|
|
205
205
|
message = 'signature verification failed';
|
|
206
206
|
}
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* An error subclass thrown when a JWE is invalid.
|
|
210
|
+
*
|
|
211
|
+
* @example Checking thrown error is this one using a stable error code
|
|
212
|
+
*
|
|
213
|
+
* ```js
|
|
214
|
+
* if (err.code === 'ERR_JWE_INVALID') {
|
|
215
|
+
* // ...
|
|
216
|
+
* }
|
|
217
|
+
* ```
|
|
218
|
+
*
|
|
219
|
+
* @example Checking thrown error is this one using `instanceof`
|
|
220
|
+
*
|
|
221
|
+
* ```js
|
|
222
|
+
* if (err instanceof errors.JWEInvalid) {
|
|
223
|
+
* // ...
|
|
224
|
+
* }
|
|
225
|
+
* ```
|
|
226
|
+
*/
|
|
227
|
+
export class JWEInvalid extends JOSEError {
|
|
228
|
+
static get code(): 'ERR_JWE_INVALID' {
|
|
229
|
+
return 'ERR_JWE_INVALID';
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
code = 'ERR_JWE_INVALID';
|
|
233
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_errors","require","_secs","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","normalizeTyp","value","toLowerCase","replace","checkAudiencePresence","audPayload","audOption","includes","Array","isArray","some","Set","bind","_default","protectedHeader","payload","options","arguments","length","undefined","typ","JWTClaimValidationFailed","requiredClaims","issuer","subject","audience","maxTokenAge","push","claim","reverse","iss","sub","aud","tolerance","clockTolerance","secs","TypeError","currentDate","now","epoch","Date","iat","nbf","exp","JWTExpired","age","max","exports"],"sourceRoot":"../../src","sources":["jwt_claims_set.ts"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_is_object","_interopRequireDefault","require","_secs","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ProduceJWT","constructor","payload","isObject","TypeError","_payload","setIssuer","issuer","iss","setSubject","subject","sub","setAudience","audience","aud","setJti","jwtId","jti","setNotBefore","input","nbf","epoch","Date","secs","setExpirationTime","exp","setIssuedAt","iat","exports"],"sourceRoot":"../../src","sources":["produce.ts"],"mappings":"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"}
|
package/lib/commonjs/sign.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_errors","require","_produce","_base","_algorithms","_asn","SignJWT","ProduceJWT","setProtectedHeader","protectedHeader","alg","isAlgSupported","_protectedHeader","JOSENotSupported","toSign","JWSInvalid","encodeBase64","JSON","stringify","payload","_payload","appendSignature","jwtWithoutSignature","signature","JWTInvalid","jwtDecoded","decodeJwtWithoutSignature","header","encodedJws","derToJose","removePadding","encodedHeader","encodedPayload","length","split","decoded","decodeBase64","parse","decodedPayload","decode","jwt","exports"],"sourceRoot":"../../src","sources":["sign.ts"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_errors","require","_jwt_claims_set","_interopRequireDefault","_produce","_base","obj","__esModule","default","UnsecuredJWT","ProduceJWT","encode","header","encodeBase64","JSON","stringify","alg","payload","_payload","decode","jwt","options","JWTInvalid","encodedHeader","encodedPayload","signature","length","split","decoded","decodeBase64","parse","Error","decodePayload","decodedPayload","jwtPayload","exports"],"sourceRoot":"../../src","sources":["unsecured.ts"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["JWTClaimValidationFailed","JWTExpired","secs","epoch","normalizeTyp","value","toLowerCase","replace","checkAudiencePresence","audPayload","audOption","includes","Array","isArray","some","Set","prototype","has","bind","protectedHeader","payload","options","arguments","length","undefined","typ","requiredClaims","issuer","subject","audience","maxTokenAge","push","claim","reverse","iss","sub","aud","tolerance","clockTolerance","TypeError","currentDate","now","Date","iat","nbf","exp","age","max"],"sourceRoot":"../../src","sources":["jwt_claims_set.ts"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["isObject","secs","epoch","ProduceJWT","constructor","payload","TypeError","_payload","setIssuer","issuer","iss","setSubject","subject","sub","setAudience","audience","aud","setJti","jwtId","jti","setNotBefore","input","nbf","Date","setExpirationTime","exp","setIssuedAt","iat"],"sourceRoot":"../../src","sources":["produce.ts"],"mappings":"AACA,OAAOA,QAAQ,MAAM,mBAAmB;AACxC,OAAOC,IAAI,IAAIC,KAAK,QAAQ,cAAc;;AAE1C;AACA,OAAO,MAAMC,UAAU,CAAC;EAGtB;EACAC,WAAWA,CAACC,OAAmB,EAAE;IAC/B,IAAI,CAACL,QAAQ,CAACK,OAAO,CAAC,EAAE;MACtB,MAAM,IAAIC,SAAS,CAAC,kCAAkC,CAAC;IACzD;IACA,IAAI,CAACC,QAAQ,GAAGF,OAAO;EACzB;;EAEA;AACF;AACA;AACA;AACA;EACEG,SAASA,CAACC,MAAc,EAAE;IACxB,IAAI,CAACF,QAAQ,GAAG;MAAE,GAAG,IAAI,CAACA,QAAQ;MAAEG,GAAG,EAAED;IAAO,CAAC;IACjD,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;EACEE,UAAUA,CAACC,OAAe,EAAE;IAC1B,IAAI,CAACL,QAAQ,GAAG;MAAE,GAAG,IAAI,CAACA,QAAQ;MAAEM,GAAG,EAAED;IAAQ,CAAC;IAClD,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;EACEE,WAAWA,CAACC,QAA2B,EAAE;IACvC,IAAI,CAACR,QAAQ,GAAG;MAAE,GAAG,IAAI,CAACA,QAAQ;MAAES,GAAG,EAAED;IAAS,CAAC;IACnD,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;EACEE,MAAMA,CAACC,KAAa,EAAE;IACpB,IAAI,CAACX,QAAQ,GAAG;MAAE,GAAG,IAAI,CAACA,QAAQ;MAAEY,GAAG,EAAED;IAAM,CAAC;IAChD,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEE,YAAYA,CAACC,KAAsB,EAAE;IACnC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,IAAI,CAACd,QAAQ,GAAG;QAAE,GAAG,IAAI,CAACA,QAAQ;QAAEe,GAAG,EAAED;MAAM,CAAC;IAClD,CAAC,MAAM;MACL,IAAI,CAACd,QAAQ,GAAG;QACd,GAAG,IAAI,CAACA,QAAQ;QAChBe,GAAG,EAAEpB,KAAK,CAAC,IAAIqB,IAAI,CAAC,CAAC,CAAC,GAAGtB,IAAI,CAACoB,KAAK;MACrC,CAAC;IACH;IACA,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEG,iBAAiBA,CAACH,KAAsB,EAAE;IACxC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,IAAI,CAACd,QAAQ,GAAG;QAAE,GAAG,IAAI,CAACA,QAAQ;QAAEkB,GAAG,EAAEJ;MAAM,CAAC;IAClD,CAAC,MAAM;MACL,IAAI,CAACd,QAAQ,GAAG;QACd,GAAG,IAAI,CAACA,QAAQ;QAChBkB,GAAG,EAAEvB,KAAK,CAAC,IAAIqB,IAAI,CAAC,CAAC,CAAC,GAAGtB,IAAI,CAACoB,KAAK;MACrC,CAAC;IACH;IACA,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEK,WAAWA,CAACL,KAAc,EAAE;IAC1B,IAAI,OAAOA,KAAK,KAAK,WAAW,EAAE;MAChC,IAAI,CAACd,QAAQ,GAAG;QAAE,GAAG,IAAI,CAACA,QAAQ;QAAEoB,GAAG,EAAEzB,KAAK,CAAC,IAAIqB,IAAI,CAAC,CAAC;MAAE,CAAC;IAC9D,CAAC,MAAM;MACL,IAAI,CAAChB,QAAQ,GAAG;QAAE,GAAG,IAAI,CAACA,QAAQ;QAAEoB,GAAG,EAAEN;MAAM,CAAC;IAClD;IACA,OAAO,IAAI;EACb;AACF"}
|
package/lib/module/sign.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["JOSENotSupported","JWSInvalid","JWTInvalid","ProduceJWT","decodeBase64","encodeBase64","removePadding","isAlgSupported","derToJose","SignJWT","setProtectedHeader","protectedHeader","alg","_protectedHeader","toSign","JSON","stringify","payload","_payload","appendSignature","jwtWithoutSignature","signature","jwtDecoded","decodeJwtWithoutSignature","header","encodedJws","encodedHeader","encodedPayload","length","split","decoded","parse","decodedPayload","decode","jwt"],"sourceRoot":"../../src","sources":["sign.ts"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["JWTInvalid","jwtPayload","ProduceJWT","decodeBase64","encodeBase64","UnsecuredJWT","encode","header","JSON","stringify","alg","payload","_payload","decode","jwt","options","encodedHeader","encodedPayload","signature","length","split","decoded","parse","Error","decodePayload","decodedPayload"],"sourceRoot":"../../src","sources":["unsecured.ts"],"mappings":"AAMA,SAASA,UAAU,QAAQ,gBAAgB;AAC3C,OAAOC,UAAU,MAAM,kBAAkB;AACzC,SAASC,UAAU,QAAQ,WAAW;AACtC,SAASC,YAAY,EAAEC,YAAY,QAAQ,gBAAgB;AAO3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,SAASH,UAAU,CAAC;EAC3C;EACAI,MAAMA,CAAA,EAAW;IACf,MAAMC,MAAM,GAAGH,YAAY,CAACI,IAAI,CAACC,SAAS,CAAC;MAAEC,GAAG,EAAE;IAAO,CAAC,CAAC,CAAC;IAC5D,MAAMC,OAAO,GAAGP,YAAY,CAACI,IAAI,CAACC,SAAS,CAAC,IAAI,CAACG,QAAQ,CAAC,CAAC;IAE3D,OAAQ,GAAEL,MAAO,IAAGI,OAAQ,GAAE;EAChC;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,OAAOE,MAAMA,CACXC,GAAW,EACXC,OAAqC,EACpB;IACjB,IAAI,OAAOD,GAAG,KAAK,QAAQ,EAAE;MAC3B,MAAM,IAAId,UAAU,CAAC,gCAAgC,CAAC;IACxD;IACA,MAAM;MACJ,CAAC,EAAEgB,aAAa;MAChB,CAAC,EAAEC,cAAc;MACjB,CAAC,EAAEC,SAAS;MACZC;IACF,CAAC,GAAGL,GAAG,CAACM,KAAK,CAAC,GAAG,CAAC;IAElB,IAAID,MAAM,KAAK,CAAC,IAAID,SAAS,KAAK,EAAE,IAAI,CAACD,cAAc,EAAE;MACvD,MAAM,IAAIjB,UAAU,CAAC,uBAAuB,CAAC;IAC/C;IAEA,IAAIO,MAA2B;IAC/B,IAAI;MACF,IAAIc,OAAO,GAAGlB,YAAY,CAACa,aAAc,CAAC;MAC1CT,MAAM,GAAGC,IAAI,CAACc,KAAK,CAACD,OAAO,CAAC;MAC5B,IAAId,MAAM,CAACG,GAAG,KAAK,MAAM,EAAE,MAAM,IAAIa,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,MAAM;MACN,MAAM,IAAIvB,UAAU,CAAC,uBAAuB,CAAC;IAC/C;IAEA,IAAIW,OAAO,GAAGN,YAAY,CAACmB,aAAa,CAACP,cAAc,EAAEF,OAAO,CAAC;IAEjE,OAAO;MAAEJ,OAAO;MAAEJ;IAAO,CAAC;EAC5B;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,OAAOiB,aAAaA,CAClBV,GAAW,EACXC,OAAqC,EACzB;IACZ,IAAI,OAAOD,GAAG,KAAK,QAAQ,EAAE;MAC3B,MAAM,IAAId,UAAU,CAAC,gCAAgC,CAAC;IACxD;IACA,MAAM;MAAE,CAAC,EAAEiB,cAAc;MAAEE;IAAO,CAAC,GAAGL,GAAG,CAACM,KAAK,CAAC,GAAG,CAAC;IAEpD,IAAID,MAAM,KAAK,CAAC,IAAIF,cAAc,KAAK,EAAE,EAAE;MACzC,MAAM,IAAIjB,UAAU,CAAC,uBAAuB,CAAC;IAC/C;IAEA,IAAIyB,cAAc,GAAGtB,YAAY,CAACc,cAAe,CAAC;IAClD,MAAMN,OAAO,GAAGV,UAAU,CAAC,CAAC,CAAC,EAAEO,IAAI,CAACc,KAAK,CAACG,cAAc,CAAC,EAAEV,OAAO,CAAC;IAEnE,OAAOJ,OAAO;EAChB;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jwt_claims_set.d.ts","sourceRoot":"","sources":["../../src/jwt_claims_set.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,UAAU,EACV,2BAA2B,EAC3B,mBAAmB,EACpB,MAAM,SAAS,CAAC;0CAyBE,mBAAmB,WAC3B,UAAU,YACV,2BAA2B;AAHtC,wBAkKE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"produce.d.ts","sourceRoot":"","sources":["../../src/produce.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAI1C,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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../src/sign.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,0BAA0B,EAC1B,eAAe,EACf,UAAU,EACX,MAAM,SAAS,CAAC;AACjB,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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"unsecured.d.ts","sourceRoot":"","sources":["../../src/unsecured.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,UAAU,EACX,MAAM,SAAS,CAAC;AAIjB,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"}
|