@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.
- package/README.md +14 -0
- 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 +54 -0
- package/lib/commonjs/jwk/index.js.map +1 -0
- package/lib/commonjs/jwt/index.js +217 -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/types.js +63 -0
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/utils/errors.js +50 -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 +47 -0
- package/lib/module/jwk/index.js.map +1 -0
- package/lib/module/jwt/index.js +138 -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/types.js +56 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/errors.js +46 -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 +30 -0
- package/lib/typescript/jwk/index.d.ts.map +1 -0
- package/lib/typescript/jwt/index.d.ts +102 -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 +348 -46
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/utils/errors.d.ts +37 -0
- package/lib/typescript/utils/errors.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/index.tsx +6 -116
- package/src/jwe/index.ts +45 -0
- package/src/jwk/index.ts +51 -0
- package/src/jwt/index.ts +148 -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 +67 -48
- package/src/utils/errors.ts +49 -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
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
decode: true,
|
|
8
|
+
isSignatureValid: true,
|
|
9
|
+
verify: true,
|
|
10
|
+
getJwkFromHeader: true,
|
|
11
|
+
derToJose: true,
|
|
12
|
+
encodeBase64: true,
|
|
13
|
+
decodeBase64: true,
|
|
14
|
+
sha256ToBase64: true
|
|
15
|
+
};
|
|
16
|
+
exports.decode = void 0;
|
|
17
|
+
Object.defineProperty(exports, "decodeBase64", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function () {
|
|
20
|
+
return _base.decodeBase64;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports, "derToJose", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function () {
|
|
26
|
+
return _asn.derToJose;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
Object.defineProperty(exports, "encodeBase64", {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
get: function () {
|
|
32
|
+
return _base.encodeBase64;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
exports.isSignatureValid = exports.getJwkFromHeader = void 0;
|
|
36
|
+
Object.defineProperty(exports, "sha256ToBase64", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _hash.sha256ToBase64;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
exports.verify = void 0;
|
|
43
|
+
var _jwt_claims_set = _interopRequireDefault(require("./jwt_claims_set"));
|
|
44
|
+
var _errors = require("../utils/errors");
|
|
45
|
+
var _proxy = require("../utils/proxy");
|
|
46
|
+
var _sign = require("./sign");
|
|
47
|
+
Object.keys(_sign).forEach(function (key) {
|
|
48
|
+
if (key === "default" || key === "__esModule") return;
|
|
49
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
50
|
+
if (key in exports && exports[key] === _sign[key]) return;
|
|
51
|
+
Object.defineProperty(exports, key, {
|
|
52
|
+
enumerable: true,
|
|
53
|
+
get: function () {
|
|
54
|
+
return _sign[key];
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
var _algorithms = require("../algorithms");
|
|
59
|
+
var _produce = require("./produce");
|
|
60
|
+
Object.keys(_produce).forEach(function (key) {
|
|
61
|
+
if (key === "default" || key === "__esModule") return;
|
|
62
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
63
|
+
if (key in exports && exports[key] === _produce[key]) return;
|
|
64
|
+
Object.defineProperty(exports, key, {
|
|
65
|
+
enumerable: true,
|
|
66
|
+
get: function () {
|
|
67
|
+
return _produce[key];
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
var _unsecured = require("./unsecured");
|
|
72
|
+
Object.keys(_unsecured).forEach(function (key) {
|
|
73
|
+
if (key === "default" || key === "__esModule") return;
|
|
74
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
75
|
+
if (key in exports && exports[key] === _unsecured[key]) return;
|
|
76
|
+
Object.defineProperty(exports, key, {
|
|
77
|
+
enumerable: true,
|
|
78
|
+
get: function () {
|
|
79
|
+
return _unsecured[key];
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
var _asn = require("../utils/asn1");
|
|
84
|
+
var _base = require("../utils/base64");
|
|
85
|
+
var _hash = require("../hash");
|
|
86
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
87
|
+
/**
|
|
88
|
+
* Decode the JWT without validation.
|
|
89
|
+
*
|
|
90
|
+
* @example Usage with a public JWK encoded RSA key
|
|
91
|
+
*
|
|
92
|
+
* ```js
|
|
93
|
+
* const jwt =
|
|
94
|
+
* 'eyJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCIsImtpZCI6IkVDIzEiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0LyIsInN1YiI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvIiwibWV0YWRhdGEiOnsiZXVkaV93YWxsZXRfcHJvdmlkZXIiOnsiandrcyI6W3siY3J2IjoiUC0yNTYiLCJrdHkiOiJFQyIsIngiOiJxckpyajNBZl9CNTdzYk9JUnJjQk03YnI3d09jOHluajdsSEZQVGVmZlVrIiwieSI6IjFIMGNXRHlHZ3ZVOHcta1BLVV94eWNPQ1VOVDJvMGJ3c2xJUXRuUFU2aU0iLCJraWQiOiJFQyMxIn1dLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvdG9rZW4iLCJhc2NfdmFsdWVzX3N1cHBvcnRlZCI6WyJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0L0xvQS9iYXNpYyIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL21lZGl1bSIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL2hpZ2h0Il0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6Y2xpZW50LWFzc2VydGlvbi10eXBlOmp3dC1rZXktYXR0ZXN0YXRpb24iXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkVTMjU2IiwiRVMyNTZLIiwiRVMzODQiLCJFUzUxMiIsIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIlBTMjU2IiwiUFMzODQiLCJQUzUxMiJdfSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsib3JnYW5pemF0aW9uX25hbWUiOiJQYWdvUGEgUy5wLkEuIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly9pby5pdGFsaWEuaXQvIiwicG9saWN5X3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5LyIsInRvc191cmkiOiJodHRwczovL2lvLml0YWxpYS5pdC9wcml2YWN5LXBvbGljeS8iLCJsb2dvX3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L2Fzc2V0cy9pbWcvaW8taXQtbG9nby13aGl0ZS5zdmcifX0sImlhdCI6MTY4OTIzNjYzNSwiZXhwIjoxNjg5MjQwMjM1fQ.6wA0M6rNYNSFN_EylzMA6ElAibW7FVSZyoLNEkHU5c_RKuiNenT08YIMvbysYautLZotUedEMP5xCyNpY34x6Q'
|
|
95
|
+
*
|
|
96
|
+
* const { payload, protectedHeader } = await decode(jwt)
|
|
97
|
+
*
|
|
98
|
+
* ```
|
|
99
|
+
*
|
|
100
|
+
* @param jwt JSON Web Token value (encoded as JWS).
|
|
101
|
+
*/
|
|
102
|
+
const decode = token => _sign.SignJWT.decode(token);
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Verifies the JWS signature
|
|
106
|
+
*
|
|
107
|
+
* @example Usage with a public JWK encoded RSA key
|
|
108
|
+
*
|
|
109
|
+
* ```js
|
|
110
|
+
* const jwk = {
|
|
111
|
+
* crv: 'P-256',
|
|
112
|
+
* kty: 'EC',
|
|
113
|
+
* x: 'qrJrj3Af_B57sbOIRrcBM7br7wOc8ynj7lHFPTeffUk',
|
|
114
|
+
* y: '1H0cWDyGgvU8w-kPKU_xycOCUNT2o0bwslIQtnPU6iM',
|
|
115
|
+
* }
|
|
116
|
+
* const jwt =
|
|
117
|
+
* 'eyJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCIsImtpZCI6IkVDIzEiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0LyIsInN1YiI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvIiwibWV0YWRhdGEiOnsiZXVkaV93YWxsZXRfcHJvdmlkZXIiOnsiandrcyI6W3siY3J2IjoiUC0yNTYiLCJrdHkiOiJFQyIsIngiOiJxckpyajNBZl9CNTdzYk9JUnJjQk03YnI3d09jOHluajdsSEZQVGVmZlVrIiwieSI6IjFIMGNXRHlHZ3ZVOHcta1BLVV94eWNPQ1VOVDJvMGJ3c2xJUXRuUFU2aU0iLCJraWQiOiJFQyMxIn1dLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvdG9rZW4iLCJhc2NfdmFsdWVzX3N1cHBvcnRlZCI6WyJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0L0xvQS9iYXNpYyIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL21lZGl1bSIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL2hpZ2h0Il0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6Y2xpZW50LWFzc2VydGlvbi10eXBlOmp3dC1rZXktYXR0ZXN0YXRpb24iXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkVTMjU2IiwiRVMyNTZLIiwiRVMzODQiLCJFUzUxMiIsIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIlBTMjU2IiwiUFMzODQiLCJQUzUxMiJdfSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsib3JnYW5pemF0aW9uX25hbWUiOiJQYWdvUGEgUy5wLkEuIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly9pby5pdGFsaWEuaXQvIiwicG9saWN5X3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5LyIsInRvc191cmkiOiJodHRwczovL2lvLml0YWxpYS5pdC9wcml2YWN5LXBvbGljeS8iLCJsb2dvX3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L2Fzc2V0cy9pbWcvaW8taXQtbG9nby13aGl0ZS5zdmcifX0sImlhdCI6MTY4OTIzNjYzNSwiZXhwIjoxNjg5MjQwMjM1fQ.6wA0M6rNYNSFN_EylzMA6ElAibW7FVSZyoLNEkHU5c_RKuiNenT08YIMvbysYautLZotUedEMP5xCyNpY34x6Q'
|
|
118
|
+
*
|
|
119
|
+
* const isSignatureValid = await verify(jwt, jwk)
|
|
120
|
+
* ```
|
|
121
|
+
*
|
|
122
|
+
* @param jwt JSON Web Token value (encoded as JWS).
|
|
123
|
+
* @param key Public key to verify the JWT in JWK format.
|
|
124
|
+
*/
|
|
125
|
+
exports.decode = decode;
|
|
126
|
+
const isSignatureValid = (token, jwk) => _proxy.IoReactNativeJwt.verify(token, jwk);
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Verifies the JWT format (to be a JWS Compact format), verifies the JWS signature, validates the
|
|
130
|
+
* JWT Claims Set.
|
|
131
|
+
*
|
|
132
|
+
* @example Usage with a public JWK encoded RSA key
|
|
133
|
+
*
|
|
134
|
+
* ```js
|
|
135
|
+
* const jwk = {
|
|
136
|
+
* crv: 'P-256',
|
|
137
|
+
* kty: 'EC',
|
|
138
|
+
* x: 'qrJrj3Af_B57sbOIRrcBM7br7wOc8ynj7lHFPTeffUk',
|
|
139
|
+
* y: '1H0cWDyGgvU8w-kPKU_xycOCUNT2o0bwslIQtnPU6iM',
|
|
140
|
+
* }
|
|
141
|
+
* const jwt =
|
|
142
|
+
* 'eyJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCIsImtpZCI6IkVDIzEiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0LyIsInN1YiI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvIiwibWV0YWRhdGEiOnsiZXVkaV93YWxsZXRfcHJvdmlkZXIiOnsiandrcyI6W3siY3J2IjoiUC0yNTYiLCJrdHkiOiJFQyIsIngiOiJxckpyajNBZl9CNTdzYk9JUnJjQk03YnI3d09jOHluajdsSEZQVGVmZlVrIiwieSI6IjFIMGNXRHlHZ3ZVOHcta1BLVV94eWNPQ1VOVDJvMGJ3c2xJUXRuUFU2aU0iLCJraWQiOiJFQyMxIn1dLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvdG9rZW4iLCJhc2NfdmFsdWVzX3N1cHBvcnRlZCI6WyJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0L0xvQS9iYXNpYyIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL21lZGl1bSIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL2hpZ2h0Il0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6Y2xpZW50LWFzc2VydGlvbi10eXBlOmp3dC1rZXktYXR0ZXN0YXRpb24iXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkVTMjU2IiwiRVMyNTZLIiwiRVMzODQiLCJFUzUxMiIsIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIlBTMjU2IiwiUFMzODQiLCJQUzUxMiJdfSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsib3JnYW5pemF0aW9uX25hbWUiOiJQYWdvUGEgUy5wLkEuIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly9pby5pdGFsaWEuaXQvIiwicG9saWN5X3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5LyIsInRvc191cmkiOiJodHRwczovL2lvLml0YWxpYS5pdC9wcml2YWN5LXBvbGljeS8iLCJsb2dvX3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L2Fzc2V0cy9pbWcvaW8taXQtbG9nby13aGl0ZS5zdmcifX0sImlhdCI6MTY4OTIzNjYzNSwiZXhwIjoxNjg5MjQwMjM1fQ.6wA0M6rNYNSFN_EylzMA6ElAibW7FVSZyoLNEkHU5c_RKuiNenT08YIMvbysYautLZotUedEMP5xCyNpY34x6Q'
|
|
143
|
+
*
|
|
144
|
+
* const { payload, protectedHeader } = await verify(jwt, jwk, {
|
|
145
|
+
* typ: 'entity-statement+jwt',
|
|
146
|
+
* requiredClaims: ['iss', 'sub', 'metadata'],
|
|
147
|
+
* })
|
|
148
|
+
* ```
|
|
149
|
+
*
|
|
150
|
+
* * @example Usage with a JWKSet
|
|
151
|
+
*
|
|
152
|
+
* ```js
|
|
153
|
+
* const wellKnownUrl = 'https://example.com/.well-known/openid-federation';
|
|
154
|
+
* const jwks = await getRemoteJWKSet(wellKnownUrl);
|
|
155
|
+
*
|
|
156
|
+
* const jwt =
|
|
157
|
+
* 'eyJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCIsImtpZCI6IkVDIzEiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0LyIsInN1YiI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvIiwibWV0YWRhdGEiOnsiZXVkaV93YWxsZXRfcHJvdmlkZXIiOnsiandrcyI6W3siY3J2IjoiUC0yNTYiLCJrdHkiOiJFQyIsIngiOiJxckpyajNBZl9CNTdzYk9JUnJjQk03YnI3d09jOHluajdsSEZQVGVmZlVrIiwieSI6IjFIMGNXRHlHZ3ZVOHcta1BLVV94eWNPQ1VOVDJvMGJ3c2xJUXRuUFU2aU0iLCJraWQiOiJFQyMxIn1dLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvdG9rZW4iLCJhc2NfdmFsdWVzX3N1cHBvcnRlZCI6WyJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0L0xvQS9iYXNpYyIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL21lZGl1bSIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL2hpZ2h0Il0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6Y2xpZW50LWFzc2VydGlvbi10eXBlOmp3dC1rZXktYXR0ZXN0YXRpb24iXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkVTMjU2IiwiRVMyNTZLIiwiRVMzODQiLCJFUzUxMiIsIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIlBTMjU2IiwiUFMzODQiLCJQUzUxMiJdfSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsib3JnYW5pemF0aW9uX25hbWUiOiJQYWdvUGEgUy5wLkEuIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly9pby5pdGFsaWEuaXQvIiwicG9saWN5X3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5LyIsInRvc191cmkiOiJodHRwczovL2lvLml0YWxpYS5pdC9wcml2YWN5LXBvbGljeS8iLCJsb2dvX3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L2Fzc2V0cy9pbWcvaW8taXQtbG9nby13aGl0ZS5zdmcifX0sImlhdCI6MTY4OTIzNjYzNSwiZXhwIjoxNjg5MjQwMjM1fQ.6wA0M6rNYNSFN_EylzMA6ElAibW7FVSZyoLNEkHU5c_RKuiNenT08YIMvbysYautLZotUedEMP5xCyNpY34x6Q'
|
|
158
|
+
*
|
|
159
|
+
* const { payload, protectedHeader } = await verify(jwt, jwks, {
|
|
160
|
+
* typ: 'entity-statement+jwt',
|
|
161
|
+
* requiredClaims: ['iss', 'sub', 'metadata'],
|
|
162
|
+
* })
|
|
163
|
+
* ```
|
|
164
|
+
*
|
|
165
|
+
* @param jwt JSON Web Token value (encoded as JWS).
|
|
166
|
+
* @param key Public key to verify the JWT in JWK format or JWKS (array of JWK).
|
|
167
|
+
* @param options JWT Decryption and JWT Claims Set validation options.
|
|
168
|
+
*/
|
|
169
|
+
exports.isSignatureValid = isSignatureValid;
|
|
170
|
+
const verify = async function (token, jwk) {
|
|
171
|
+
let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
172
|
+
const {
|
|
173
|
+
protectedHeader,
|
|
174
|
+
payload
|
|
175
|
+
} = await decode(token);
|
|
176
|
+
const selectedJwk = Array.isArray(jwk) ? getJwkFromHeader(protectedHeader, jwk) : jwk;
|
|
177
|
+
const signatureIsValid = await isSignatureValid(token, selectedJwk);
|
|
178
|
+
if (signatureIsValid) {
|
|
179
|
+
const verifiedPayload = (0, _jwt_claims_set.default)(protectedHeader, payload, options);
|
|
180
|
+
return {
|
|
181
|
+
payload: verifiedPayload,
|
|
182
|
+
protectedHeader
|
|
183
|
+
};
|
|
184
|
+
} else {
|
|
185
|
+
throw new _errors.JWSSignatureVerificationFailed();
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Given the header of a JWT return the corresponding key from a JWKS.
|
|
191
|
+
*
|
|
192
|
+
* It uses the "alg" (JWS Algorithm) Header Parameter to determine the right JWK "kty" (Key Type),
|
|
193
|
+
* then proceeds to match the JWK "kid" (Key ID) with one found in the JWS Header Parameters (if
|
|
194
|
+
* there is one).
|
|
195
|
+
* Only a single public key must match the selection process.
|
|
196
|
+
*
|
|
197
|
+
* @param header JWT header
|
|
198
|
+
* @param jwks Json Web Key Set (JWKS)
|
|
199
|
+
*
|
|
200
|
+
*/
|
|
201
|
+
exports.verify = verify;
|
|
202
|
+
const getJwkFromHeader = (header, jwks) => {
|
|
203
|
+
const {
|
|
204
|
+
alg,
|
|
205
|
+
kid
|
|
206
|
+
} = header;
|
|
207
|
+
if (alg && kid) {
|
|
208
|
+
const kty = (0, _algorithms.getKtyFromAlg)(alg);
|
|
209
|
+
const filteredJwks = jwks.find(el => el.kty === kty && el.kid === kid);
|
|
210
|
+
if (filteredJwks) {
|
|
211
|
+
return filteredJwks;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
throw new _errors.JWKNotFound(`No JWKs found that match alg:${alg} and kid:${kid}`);
|
|
215
|
+
};
|
|
216
|
+
exports.getJwkFromHeader = getJwkFromHeader;
|
|
217
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_jwt_claims_set","_interopRequireDefault","require","_errors","_proxy","_sign","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_algorithms","_produce","_unsecured","_asn","_base","_hash","obj","__esModule","default","decode","token","SignJWT","isSignatureValid","jwk","IoReactNativeJwt","verify","options","arguments","length","undefined","protectedHeader","payload","selectedJwk","Array","isArray","getJwkFromHeader","signatureIsValid","verifiedPayload","jwtPayload","JWSSignatureVerificationFailed","header","jwks","alg","kid","kty","getKtyFromAlg","filteredJwks","find","el","JWKNotFound"],"sourceRoot":"../../../src","sources":["jwt/index.ts"],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var _errors = require("
|
|
8
|
-
var _secs = _interopRequireWildcard(require("
|
|
7
|
+
var _errors = require("../utils/errors");
|
|
8
|
+
var _secs = _interopRequireWildcard(require("../utils/secs"));
|
|
9
9
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
10
10
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
11
11
|
/*
|
|
@@ -0,0 +1 @@
|
|
|
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/jwt_claims_set.ts"],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ProduceJWT = void 0;
|
|
7
|
-
var _is_object = _interopRequireDefault(require("
|
|
8
|
-
var _secs = _interopRequireWildcard(require("
|
|
7
|
+
var _is_object = _interopRequireDefault(require("../utils/is_object"));
|
|
8
|
+
var _secs = _interopRequireWildcard(require("../utils/secs"));
|
|
9
9
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
10
10
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -0,0 +1 @@
|
|
|
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":["jwt/produce.ts"],"mappings":"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"}
|
|
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.SignJWT = void 0;
|
|
7
|
-
var _errors = require("
|
|
7
|
+
var _errors = require("../utils/errors");
|
|
8
8
|
var _produce = require("./produce");
|
|
9
|
-
var _base = require("
|
|
10
|
-
var _algorithms = require("
|
|
11
|
-
var _asn = require("
|
|
9
|
+
var _base = require("../utils/base64");
|
|
10
|
+
var _algorithms = require("../algorithms");
|
|
11
|
+
var _asn = require("../utils/asn1");
|
|
12
12
|
/**
|
|
13
13
|
* The SignJWT class is used to build and sign Compact JWS formatted JSON Web Tokens.
|
|
14
14
|
*
|
|
@@ -0,0 +1 @@
|
|
|
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":["jwt/sign.ts"],"mappings":"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"}
|
|
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.UnsecuredJWT = void 0;
|
|
7
|
-
var _errors = require("
|
|
7
|
+
var _errors = require("../utils/errors");
|
|
8
8
|
var _jwt_claims_set = _interopRequireDefault(require("./jwt_claims_set"));
|
|
9
9
|
var _produce = require("./produce");
|
|
10
|
-
var _base = require("
|
|
10
|
+
var _base = require("../utils/base64");
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
12
|
/**
|
|
13
13
|
* The UnsecuredJWT class is a utility for dealing with `{ "alg": "none" }` Unsecured JWTs.
|
|
@@ -0,0 +1 @@
|
|
|
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":["jwt/unsecured.ts"],"mappings":"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"}
|
package/lib/commonjs/types.js
CHANGED
|
@@ -1,2 +1,65 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.WithJWKS = exports.JWK = void 0;
|
|
7
|
+
var _zod = require("zod");
|
|
8
|
+
/** Recognized JWS Header Parameters, any other Header Members may also be present. */
|
|
9
|
+
|
|
10
|
+
/** Recognized Compact JWS Header Parameters, any other Header Members may also be present. */
|
|
11
|
+
|
|
12
|
+
/** Recognized JWE Header Parameters, any other Header members may also be present. */
|
|
13
|
+
|
|
14
|
+
/** Recognized JWT Claims Set members, any other members may also be present. */
|
|
15
|
+
|
|
16
|
+
/** JWT Claims Set verification options. */
|
|
17
|
+
|
|
18
|
+
const JWK = _zod.z.object({
|
|
19
|
+
'alg': _zod.z.string().optional(),
|
|
20
|
+
'crv': _zod.z.string().optional(),
|
|
21
|
+
'd': _zod.z.string().optional(),
|
|
22
|
+
'dp': _zod.z.string().optional(),
|
|
23
|
+
'dq': _zod.z.string().optional(),
|
|
24
|
+
'e': _zod.z.string().optional(),
|
|
25
|
+
/** JWK "ext" (Extractable) Parameter. */
|
|
26
|
+
'ext': _zod.z.boolean().optional(),
|
|
27
|
+
'k': _zod.z.string().optional(),
|
|
28
|
+
/** JWK "key_ops" (Key Operations) Parameter. */
|
|
29
|
+
'key_ops': _zod.z.array(_zod.z.string()).optional(),
|
|
30
|
+
/** JWK "kid" (Key ID) Parameter. */
|
|
31
|
+
'kid': _zod.z.string().optional(),
|
|
32
|
+
/** JWK "kty" (Key Type) Parameter.
|
|
33
|
+
* This attribute is required to discriminate the
|
|
34
|
+
* type of EC/RSA algorithm */
|
|
35
|
+
'kty': _zod.z.string(),
|
|
36
|
+
'n': _zod.z.string().optional(),
|
|
37
|
+
'oth': _zod.z.array(_zod.z.object({
|
|
38
|
+
d: _zod.z.string().optional(),
|
|
39
|
+
r: _zod.z.string().optional(),
|
|
40
|
+
t: _zod.z.string().optional()
|
|
41
|
+
})).optional(),
|
|
42
|
+
'p': _zod.z.string().optional(),
|
|
43
|
+
'q': _zod.z.string().optional(),
|
|
44
|
+
'qi': _zod.z.string().optional(),
|
|
45
|
+
/** JWK "use" (Public Key Use) Parameter. */
|
|
46
|
+
'use': _zod.z.string().optional(),
|
|
47
|
+
'x': _zod.z.string().optional(),
|
|
48
|
+
'y': _zod.z.string().optional(),
|
|
49
|
+
/** JWK "x5c" (X.509 Certificate Chain) Parameter. */
|
|
50
|
+
'x5c': _zod.z.array(_zod.z.string()).optional(),
|
|
51
|
+
/** JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter. */
|
|
52
|
+
'x5t': _zod.z.string().optional(),
|
|
53
|
+
/** "x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter. */
|
|
54
|
+
'x5t#S256': _zod.z.string().optional(),
|
|
55
|
+
/** JWK "x5u" (X.509 URL) Parameter. */
|
|
56
|
+
'x5u': _zod.z.string().optional()
|
|
57
|
+
});
|
|
58
|
+
exports.JWK = JWK;
|
|
59
|
+
const WithJWKS = _zod.z.object({
|
|
60
|
+
jwks: _zod.z.object({
|
|
61
|
+
keys: _zod.z.array(JWK)
|
|
62
|
+
})
|
|
63
|
+
});
|
|
64
|
+
exports.WithJWKS = WithJWKS;
|
|
2
65
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":""}
|
|
1
|
+
{"version":3,"names":["_zod","require","JWK","z","object","string","optional","boolean","array","d","r","t","exports","WithJWKS","jwks","keys"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.JWTInvalid = exports.JWTExpired = exports.JWTClaimValidationFailed = exports.JWSSignatureVerificationFailed = exports.JWSInvalid = exports.JOSENotSupported = exports.JOSEError = exports.JOSEAlgNotAllowed = void 0;
|
|
6
|
+
exports.JWTInvalid = exports.JWTExpired = exports.JWTClaimValidationFailed = exports.JWSSignatureVerificationFailed = exports.JWSInvalid = exports.JWKSetInvalid = exports.JWKNotFound = exports.JWEInvalid = exports.JOSENotSupported = exports.JOSEError = exports.JOSEAlgNotAllowed = void 0;
|
|
7
7
|
/**
|
|
8
8
|
* A generic Error that all other JOSE specific Error subclasses extend.
|
|
9
9
|
*
|
|
@@ -210,5 +210,54 @@ class JWSSignatureVerificationFailed extends JOSEError {
|
|
|
210
210
|
code = 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED';
|
|
211
211
|
message = 'signature verification failed';
|
|
212
212
|
}
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* An error subclass thrown when a JWE is invalid.
|
|
216
|
+
*
|
|
217
|
+
* @example Checking thrown error is this one using a stable error code
|
|
218
|
+
*
|
|
219
|
+
* ```js
|
|
220
|
+
* if (err.code === 'ERR_JWE_INVALID') {
|
|
221
|
+
* // ...
|
|
222
|
+
* }
|
|
223
|
+
* ```
|
|
224
|
+
*
|
|
225
|
+
* @example Checking thrown error is this one using `instanceof`
|
|
226
|
+
*
|
|
227
|
+
* ```js
|
|
228
|
+
* if (err instanceof errors.JWEInvalid) {
|
|
229
|
+
* // ...
|
|
230
|
+
* }
|
|
231
|
+
* ```
|
|
232
|
+
*/
|
|
213
233
|
exports.JWSSignatureVerificationFailed = JWSSignatureVerificationFailed;
|
|
234
|
+
class JWEInvalid extends JOSEError {
|
|
235
|
+
static get code() {
|
|
236
|
+
return 'ERR_JWE_INVALID';
|
|
237
|
+
}
|
|
238
|
+
code = 'ERR_JWE_INVALID';
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* An error subclass thrown when a JWKSet is invalid.
|
|
243
|
+
*/
|
|
244
|
+
exports.JWEInvalid = JWEInvalid;
|
|
245
|
+
class JWKSetInvalid extends JOSEError {
|
|
246
|
+
static get code() {
|
|
247
|
+
return 'ERR_JWKS_INVALID';
|
|
248
|
+
}
|
|
249
|
+
code = 'ERR_JWKS_INVALID';
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* An error subclass thrown when a JWK is not found.
|
|
254
|
+
*/
|
|
255
|
+
exports.JWKSetInvalid = JWKSetInvalid;
|
|
256
|
+
class JWKNotFound extends JOSEError {
|
|
257
|
+
static get code() {
|
|
258
|
+
return 'ERR_JWK_NOT_FOUND';
|
|
259
|
+
}
|
|
260
|
+
code = 'ERR_JWK_NOT_FOUND';
|
|
261
|
+
}
|
|
262
|
+
exports.JWKNotFound = JWKNotFound;
|
|
214
263
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["JOSEError","Error","code","constructor","message","_Error$captureStackTr","name","captureStackTrace","call","exports","JWTClaimValidationFailed","claim","arguments","length","undefined","reason","JWTExpired","JOSEAlgNotAllowed","JOSENotSupported","JWTInvalid","JWSInvalid","JWSSignatureVerificationFailed"],"sourceRoot":"../../../src","sources":["utils/errors.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["JOSEError","Error","code","constructor","message","_Error$captureStackTr","name","captureStackTrace","call","exports","JWTClaimValidationFailed","claim","arguments","length","undefined","reason","JWTExpired","JOSEAlgNotAllowed","JOSENotSupported","JWTInvalid","JWSInvalid","JWSSignatureVerificationFailed","JWEInvalid","JWKSetInvalid","JWKNotFound"],"sourceRoot":"../../../src","sources":["utils/errors.ts"],"mappings":"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"}
|
package/lib/module/index.js
CHANGED
|
@@ -1,115 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export * from './
|
|
6
|
-
export * from './
|
|
7
|
-
export * from './unsecured';
|
|
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';
|
|
8
7
|
export { derToJose } from './utils/asn1';
|
|
9
8
|
export { encodeBase64, decodeBase64 } from './utils/base64';
|
|
10
9
|
export { sha256ToBase64 } from './hash';
|
|
11
|
-
/**
|
|
12
|
-
* Decode the JWT without validation.
|
|
13
|
-
*
|
|
14
|
-
* @example Usage with a public JWK encoded RSA key
|
|
15
|
-
*
|
|
16
|
-
* ```js
|
|
17
|
-
* const jwt =
|
|
18
|
-
* 'eyJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCIsImtpZCI6IkVDIzEiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0LyIsInN1YiI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvIiwibWV0YWRhdGEiOnsiZXVkaV93YWxsZXRfcHJvdmlkZXIiOnsiandrcyI6W3siY3J2IjoiUC0yNTYiLCJrdHkiOiJFQyIsIngiOiJxckpyajNBZl9CNTdzYk9JUnJjQk03YnI3d09jOHluajdsSEZQVGVmZlVrIiwieSI6IjFIMGNXRHlHZ3ZVOHcta1BLVV94eWNPQ1VOVDJvMGJ3c2xJUXRuUFU2aU0iLCJraWQiOiJFQyMxIn1dLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvdG9rZW4iLCJhc2NfdmFsdWVzX3N1cHBvcnRlZCI6WyJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0L0xvQS9iYXNpYyIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL21lZGl1bSIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL2hpZ2h0Il0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6Y2xpZW50LWFzc2VydGlvbi10eXBlOmp3dC1rZXktYXR0ZXN0YXRpb24iXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkVTMjU2IiwiRVMyNTZLIiwiRVMzODQiLCJFUzUxMiIsIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIlBTMjU2IiwiUFMzODQiLCJQUzUxMiJdfSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsib3JnYW5pemF0aW9uX25hbWUiOiJQYWdvUGEgUy5wLkEuIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly9pby5pdGFsaWEuaXQvIiwicG9saWN5X3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5LyIsInRvc191cmkiOiJodHRwczovL2lvLml0YWxpYS5pdC9wcml2YWN5LXBvbGljeS8iLCJsb2dvX3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L2Fzc2V0cy9pbWcvaW8taXQtbG9nby13aGl0ZS5zdmcifX0sImlhdCI6MTY4OTIzNjYzNSwiZXhwIjoxNjg5MjQwMjM1fQ.6wA0M6rNYNSFN_EylzMA6ElAibW7FVSZyoLNEkHU5c_RKuiNenT08YIMvbysYautLZotUedEMP5xCyNpY34x6Q'
|
|
19
|
-
*
|
|
20
|
-
* const { payload, protectedHeader } = await decode(jwt)
|
|
21
|
-
*
|
|
22
|
-
* ```
|
|
23
|
-
*
|
|
24
|
-
* @param jwt JSON Web Token value (encoded as JWS).
|
|
25
|
-
*/
|
|
26
|
-
export const decode = token => SignJWT.decode(token);
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Verifies the JWS signature
|
|
30
|
-
*
|
|
31
|
-
* @example Usage with a public JWK encoded RSA key
|
|
32
|
-
*
|
|
33
|
-
* ```js
|
|
34
|
-
* const jwk = {
|
|
35
|
-
* crv: 'P-256',
|
|
36
|
-
* kty: 'EC',
|
|
37
|
-
* x: 'qrJrj3Af_B57sbOIRrcBM7br7wOc8ynj7lHFPTeffUk',
|
|
38
|
-
* y: '1H0cWDyGgvU8w-kPKU_xycOCUNT2o0bwslIQtnPU6iM',
|
|
39
|
-
* }
|
|
40
|
-
* const jwt =
|
|
41
|
-
* 'eyJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCIsImtpZCI6IkVDIzEiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0LyIsInN1YiI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvIiwibWV0YWRhdGEiOnsiZXVkaV93YWxsZXRfcHJvdmlkZXIiOnsiandrcyI6W3siY3J2IjoiUC0yNTYiLCJrdHkiOiJFQyIsIngiOiJxckpyajNBZl9CNTdzYk9JUnJjQk03YnI3d09jOHluajdsSEZQVGVmZlVrIiwieSI6IjFIMGNXRHlHZ3ZVOHcta1BLVV94eWNPQ1VOVDJvMGJ3c2xJUXRuUFU2aU0iLCJraWQiOiJFQyMxIn1dLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvdG9rZW4iLCJhc2NfdmFsdWVzX3N1cHBvcnRlZCI6WyJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0L0xvQS9iYXNpYyIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL21lZGl1bSIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL2hpZ2h0Il0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6Y2xpZW50LWFzc2VydGlvbi10eXBlOmp3dC1rZXktYXR0ZXN0YXRpb24iXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkVTMjU2IiwiRVMyNTZLIiwiRVMzODQiLCJFUzUxMiIsIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIlBTMjU2IiwiUFMzODQiLCJQUzUxMiJdfSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsib3JnYW5pemF0aW9uX25hbWUiOiJQYWdvUGEgUy5wLkEuIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly9pby5pdGFsaWEuaXQvIiwicG9saWN5X3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5LyIsInRvc191cmkiOiJodHRwczovL2lvLml0YWxpYS5pdC9wcml2YWN5LXBvbGljeS8iLCJsb2dvX3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L2Fzc2V0cy9pbWcvaW8taXQtbG9nby13aGl0ZS5zdmcifX0sImlhdCI6MTY4OTIzNjYzNSwiZXhwIjoxNjg5MjQwMjM1fQ.6wA0M6rNYNSFN_EylzMA6ElAibW7FVSZyoLNEkHU5c_RKuiNenT08YIMvbysYautLZotUedEMP5xCyNpY34x6Q'
|
|
42
|
-
*
|
|
43
|
-
* const isSignatureValid = await verify(jwt, jwk)
|
|
44
|
-
* ```
|
|
45
|
-
*
|
|
46
|
-
* @param jwt JSON Web Token value (encoded as JWS).
|
|
47
|
-
* @param key Public key to verify the JWT in JWK format.
|
|
48
|
-
*/
|
|
49
|
-
export const isSignatureValid = (token, jwk) => IoReactNativeJwt.verify(token, jwk);
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Verifies the JWT format (to be a JWS Compact format), verifies the JWS signature, validates the
|
|
53
|
-
* JWT Claims Set.
|
|
54
|
-
*
|
|
55
|
-
* @example Usage with a public JWK encoded RSA key
|
|
56
|
-
*
|
|
57
|
-
* ```js
|
|
58
|
-
* const jwk = {
|
|
59
|
-
* crv: 'P-256',
|
|
60
|
-
* kty: 'EC',
|
|
61
|
-
* x: 'qrJrj3Af_B57sbOIRrcBM7br7wOc8ynj7lHFPTeffUk',
|
|
62
|
-
* y: '1H0cWDyGgvU8w-kPKU_xycOCUNT2o0bwslIQtnPU6iM',
|
|
63
|
-
* }
|
|
64
|
-
* const jwt =
|
|
65
|
-
* 'eyJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCIsImtpZCI6IkVDIzEiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0LyIsInN1YiI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvIiwibWV0YWRhdGEiOnsiZXVkaV93YWxsZXRfcHJvdmlkZXIiOnsiandrcyI6W3siY3J2IjoiUC0yNTYiLCJrdHkiOiJFQyIsIngiOiJxckpyajNBZl9CNTdzYk9JUnJjQk03YnI3d09jOHluajdsSEZQVGVmZlVrIiwieSI6IjFIMGNXRHlHZ3ZVOHcta1BLVV94eWNPQ1VOVDJvMGJ3c2xJUXRuUFU2aU0iLCJraWQiOiJFQyMxIn1dLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvdG9rZW4iLCJhc2NfdmFsdWVzX3N1cHBvcnRlZCI6WyJodHRwczovL2lvLWQtd2FsbGV0LWl0LmF6dXJld2Vic2l0ZXMubmV0L0xvQS9iYXNpYyIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL21lZGl1bSIsImh0dHBzOi8vaW8tZC13YWxsZXQtaXQuYXp1cmV3ZWJzaXRlcy5uZXQvTG9BL2hpZ2h0Il0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6Y2xpZW50LWFzc2VydGlvbi10eXBlOmp3dC1rZXktYXR0ZXN0YXRpb24iXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkVTMjU2IiwiRVMyNTZLIiwiRVMzODQiLCJFUzUxMiIsIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIlBTMjU2IiwiUFMzODQiLCJQUzUxMiJdfSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsib3JnYW5pemF0aW9uX25hbWUiOiJQYWdvUGEgUy5wLkEuIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly9pby5pdGFsaWEuaXQvIiwicG9saWN5X3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5LyIsInRvc191cmkiOiJodHRwczovL2lvLml0YWxpYS5pdC9wcml2YWN5LXBvbGljeS8iLCJsb2dvX3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L2Fzc2V0cy9pbWcvaW8taXQtbG9nby13aGl0ZS5zdmcifX0sImlhdCI6MTY4OTIzNjYzNSwiZXhwIjoxNjg5MjQwMjM1fQ.6wA0M6rNYNSFN_EylzMA6ElAibW7FVSZyoLNEkHU5c_RKuiNenT08YIMvbysYautLZotUedEMP5xCyNpY34x6Q'
|
|
66
|
-
*
|
|
67
|
-
* const { payload, protectedHeader } = await verify(jwt, jwk, {
|
|
68
|
-
* typ: 'entity-statement+jwt',
|
|
69
|
-
* requiredClaims: ['iss', 'sub', 'metadata'],
|
|
70
|
-
* })
|
|
71
|
-
* ```
|
|
72
|
-
*
|
|
73
|
-
* @param jwt JSON Web Token value (encoded as JWS).
|
|
74
|
-
* @param key Public key to verify the JWT in JWK format.
|
|
75
|
-
* @param options JWT Decryption and JWT Claims Set validation options.
|
|
76
|
-
*/
|
|
77
|
-
export const verify = async function (token, jwk) {
|
|
78
|
-
let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
79
|
-
const {
|
|
80
|
-
protectedHeader,
|
|
81
|
-
payload
|
|
82
|
-
} = await decode(token);
|
|
83
|
-
const signatureIsValid = await isSignatureValid(token, jwk);
|
|
84
|
-
if (signatureIsValid) {
|
|
85
|
-
const verifiedPayload = jwtPayload(protectedHeader, payload, options);
|
|
86
|
-
return {
|
|
87
|
-
payload: verifiedPayload,
|
|
88
|
-
protectedHeader
|
|
89
|
-
};
|
|
90
|
-
} else {
|
|
91
|
-
throw new JWSSignatureVerificationFailed();
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Calculate JWK thumbprint
|
|
97
|
-
*
|
|
98
|
-
* @example Get JWK thumbprint
|
|
99
|
-
*
|
|
100
|
-
* ```js
|
|
101
|
-
* const jwk: JWK = {
|
|
102
|
-
* crv: 'P-256',
|
|
103
|
-
* kty: 'EC',
|
|
104
|
-
* x: 'qrJrj3Af_B57sbOIRrcBM7br7wOc8ynj7lHFPTeffUk',
|
|
105
|
-
* y: '1H0cWDyGgvU8w-kPKU_xycOCUNT2o0bwslIQtnPU6iM',
|
|
106
|
-
* };
|
|
107
|
-
|
|
108
|
-
* const thumbprint = await thumbprint(jwk)
|
|
109
|
-
*
|
|
110
|
-
* ```
|
|
111
|
-
*
|
|
112
|
-
* @param jwk JSON Web Key
|
|
113
|
-
*/
|
|
114
|
-
export const thumbprint = jwk => IoReactNativeJwt.thumbprint(jwk);
|
|
115
10
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["derToJose","encodeBase64","decodeBase64","sha256ToBase64"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,eAAe;AAC7B,cAAc,YAAY;AAC1B,cAAc,iBAAiB;AAE/B,SAASA,SAAS,QAAQ,cAAc;AACxC,SAASC,YAAY,EAAEC,YAAY,QAAQ,gBAAgB;AAC3D,SAASC,cAAc,QAAQ,QAAQ"}
|