@liflig/cdk-cloudfront-auth 1.5.43 → 1.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/dist/check-auth/index.js +1 -1
- package/dist/generate-secret/index.js +1 -1
- package/dist/http-headers/index.js +1 -1
- package/dist/parse-auth/index.js +1 -1
- package/dist/refresh-auth/index.js +1 -1
- package/dist/sign-out/index.js +1 -1
- package/lib/client-secret.js +6 -32
- package/lib/client-update.js +5 -32
- package/lib/cloudfront-auth.js +55 -69
- package/lib/generate-secret.js +17 -39
- package/lib/handlers/util/axios.js +6 -12
- package/lib/handlers/util/base64.js +3 -7
- package/lib/handlers/util/cloudfront.js +13 -24
- package/lib/handlers/util/config.js +12 -35
- package/lib/handlers/util/cookies.js +11 -15
- package/lib/handlers/util/jwt.js +8 -15
- package/lib/handlers/util/logger.js +6 -9
- package/lib/handlers/util/nonce.js +8 -14
- package/lib/index.js +3 -19
- package/lib/lambdas.js +23 -40
- package/package.json +13 -11
|
@@ -1,14 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.redirectTo = redirectTo;
|
|
7
|
-
exports.staticPage = staticPage;
|
|
8
|
-
exports.createRequestHandler = createRequestHandler;
|
|
9
|
-
exports.createResponseHandler = createResponseHandler;
|
|
10
|
-
const template_html_1 = __importDefault(require("../error-page/template.html"));
|
|
11
|
-
const config_1 = require("./config");
|
|
1
|
+
import html from "../error-page/template.html";
|
|
2
|
+
import { getConfig } from "./config";
|
|
12
3
|
function asCloudFrontHeaders(headers) {
|
|
13
4
|
return Object.entries(headers).reduce((reduced, [key, value]) => Object.assign(reduced, {
|
|
14
5
|
[key.toLowerCase()]: [
|
|
@@ -19,8 +10,8 @@ function asCloudFrontHeaders(headers) {
|
|
|
19
10
|
],
|
|
20
11
|
}), {});
|
|
21
12
|
}
|
|
22
|
-
function redirectTo(path, props) {
|
|
23
|
-
const headers =
|
|
13
|
+
export function redirectTo(path, props) {
|
|
14
|
+
const headers = props?.cookies
|
|
24
15
|
? {
|
|
25
16
|
"set-cookie": props.cookies.map((value) => ({
|
|
26
17
|
key: "set-cookie",
|
|
@@ -42,11 +33,10 @@ function redirectTo(path, props) {
|
|
|
42
33
|
},
|
|
43
34
|
};
|
|
44
35
|
}
|
|
45
|
-
function staticPage(props) {
|
|
46
|
-
var _a;
|
|
36
|
+
export function staticPage(props) {
|
|
47
37
|
return {
|
|
48
38
|
body: createErrorHtml(props),
|
|
49
|
-
status:
|
|
39
|
+
status: props.statusCode ?? "500",
|
|
50
40
|
headers: {
|
|
51
41
|
"content-type": [
|
|
52
42
|
{
|
|
@@ -59,26 +49,25 @@ function staticPage(props) {
|
|
|
59
49
|
}
|
|
60
50
|
function createErrorHtml(props) {
|
|
61
51
|
const params = { ...props, region: process.env.AWS_REGION };
|
|
62
|
-
return
|
|
52
|
+
return html.replace(/\${([^}]*)}/g, (_, v) => params[v] || "");
|
|
63
53
|
}
|
|
64
54
|
function addCloudFrontHeaders(config, response) {
|
|
65
|
-
var _a;
|
|
66
55
|
if (!response) {
|
|
67
56
|
throw new Error("Expected response value");
|
|
68
57
|
}
|
|
69
58
|
return {
|
|
70
59
|
...response,
|
|
71
60
|
headers: {
|
|
72
|
-
...(
|
|
61
|
+
...(response.headers ?? {}),
|
|
73
62
|
...asCloudFrontHeaders(config.httpHeaders),
|
|
74
63
|
},
|
|
75
64
|
};
|
|
76
65
|
}
|
|
77
|
-
function createRequestHandler(inner) {
|
|
66
|
+
export function createRequestHandler(inner) {
|
|
78
67
|
let config;
|
|
79
68
|
return async (event) => {
|
|
80
69
|
if (!config) {
|
|
81
|
-
config =
|
|
70
|
+
config = getConfig();
|
|
82
71
|
}
|
|
83
72
|
config.logger.debug("Handling event:", event);
|
|
84
73
|
const response = addCloudFrontHeaders(config, await inner(config, event));
|
|
@@ -86,11 +75,11 @@ function createRequestHandler(inner) {
|
|
|
86
75
|
return response;
|
|
87
76
|
};
|
|
88
77
|
}
|
|
89
|
-
function createResponseHandler(inner) {
|
|
78
|
+
export function createResponseHandler(inner) {
|
|
90
79
|
let config;
|
|
91
80
|
return async (event) => {
|
|
92
81
|
if (!config) {
|
|
93
|
-
config =
|
|
82
|
+
config = getConfig();
|
|
94
83
|
}
|
|
95
84
|
config.logger.debug("Handling event:", event);
|
|
96
85
|
const response = addCloudFrontHeaders(config, await inner(config, event));
|
|
@@ -98,4 +87,4 @@ function createResponseHandler(inner) {
|
|
|
98
87
|
return response;
|
|
99
88
|
};
|
|
100
89
|
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRmcm9udC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oYW5kbGVycy91dGlsL2Nsb3VkZnJvbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxJQUFJLE1BQU0sNkJBQTZCLENBQUE7QUFDOUMsT0FBTyxFQUFVLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUk1QyxTQUFTLG1CQUFtQixDQUFDLE9BQW9CO0lBQy9DLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQ25DLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDckIsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRTtZQUNuQjtnQkFDRSxHQUFHO2dCQUNILEtBQUs7YUFDTjtTQUNGO0tBQ0YsQ0FBQyxFQUNKLEVBQXVCLENBQ3hCLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FDeEIsSUFBWSxFQUNaLEtBRUM7SUFFRCxNQUFNLE9BQU8sR0FBc0IsS0FBSyxFQUFFLE9BQU87UUFDL0MsQ0FBQyxDQUFDO1lBQ0UsWUFBWSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQyxHQUFHLEVBQUUsWUFBWTtnQkFDakIsS0FBSzthQUNOLENBQUMsQ0FBQztTQUNKO1FBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUVOLE9BQU87UUFDTCxNQUFNLEVBQUUsS0FBSztRQUNiLGlCQUFpQixFQUFFLG9CQUFvQjtRQUN2QyxPQUFPLEVBQUU7WUFDUCxRQUFRLEVBQUU7Z0JBQ1I7b0JBQ0UsR0FBRyxFQUFFLFVBQVU7b0JBQ2YsS0FBSyxFQUFFLElBQUk7aUJBQ1o7YUFDRjtZQUNELEdBQUcsT0FBTztTQUNYO0tBQ0YsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBTzFCO0lBQ0MsT0FBTztRQUNMLElBQUksRUFBRSxlQUFlLENBQUMsS0FBSyxDQUFDO1FBQzVCLE1BQU0sRUFBRSxLQUFLLENBQUMsVUFBVSxJQUFJLEtBQUs7UUFDakMsT0FBTyxFQUFFO1lBQ1AsY0FBYyxFQUFFO2dCQUNkO29CQUNFLEdBQUcsRUFBRSxjQUFjO29CQUNuQixLQUFLLEVBQUUsMEJBQTBCO2lCQUNsQzthQUNGO1NBQ0Y7S0FDRixDQUFBO0FBQ0gsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLEtBTXhCO0lBQ0MsTUFBTSxNQUFNLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUMzRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQ2pCLGNBQWMsRUFDZCxDQUFDLENBQUMsRUFBRSxDQUFzQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUMvQyxDQUFBO0FBQ0gsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBRTNCLE1BQWMsRUFBRSxRQUFXO0lBQzNCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0lBRUQsT0FBTztRQUNMLEdBQUcsUUFBUTtRQUNYLE9BQU8sRUFBRTtZQUNQLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUMzQixHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7U0FDM0M7S0FDRixDQUFBO0FBQ0gsQ0FBQztBQU9ELE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsS0FBcUI7SUFFckIsSUFBSSxNQUFjLENBQUE7SUFFbEIsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDckIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxHQUFHLFNBQVMsRUFBRSxDQUFBO1FBQ3RCLENBQUM7UUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUU3QyxNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFFekUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMscUJBQXFCLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFDcEQsT0FBTyxRQUFRLENBQUE7SUFDakIsQ0FBQyxDQUFBO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FDbkMsS0FHc0M7SUFFdEMsSUFBSSxNQUFjLENBQUE7SUFFbEIsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDckIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxHQUFHLFNBQVMsRUFBRSxDQUFBO1FBQ3RCLENBQUM7UUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUU3QyxNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFFekUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMscUJBQXFCLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFDcEQsT0FBTyxRQUFRLENBQUE7SUFDakIsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENsb3VkRnJvbnRIZWFkZXJzLFxuICBDbG91ZEZyb250UmVxdWVzdEV2ZW50LFxuICBDbG91ZEZyb250UmVxdWVzdEhhbmRsZXIsXG4gIENsb3VkRnJvbnRSZXF1ZXN0UmVzdWx0LFxuICBDbG91ZEZyb250UmVzcG9uc2VFdmVudCxcbiAgQ2xvdWRGcm9udFJlc3BvbnNlSGFuZGxlcixcbiAgQ2xvdWRGcm9udFJlc3BvbnNlUmVzdWx0LFxufSBmcm9tIFwiYXdzLWxhbWJkYVwiXG5pbXBvcnQgaHRtbCBmcm9tIFwiLi4vZXJyb3ItcGFnZS90ZW1wbGF0ZS5odG1sXCJcbmltcG9ydCB7IENvbmZpZywgZ2V0Q29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCJcblxuZXhwb3J0IHR5cGUgSHR0cEhlYWRlcnMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG5cbmZ1bmN0aW9uIGFzQ2xvdWRGcm9udEhlYWRlcnMoaGVhZGVyczogSHR0cEhlYWRlcnMpOiBDbG91ZEZyb250SGVhZGVycyB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhoZWFkZXJzKS5yZWR1Y2UoXG4gICAgKHJlZHVjZWQsIFtrZXksIHZhbHVlXSkgPT5cbiAgICAgIE9iamVjdC5hc3NpZ24ocmVkdWNlZCwge1xuICAgICAgICBba2V5LnRvTG93ZXJDYXNlKCldOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgIHt9IGFzIENsb3VkRnJvbnRIZWFkZXJzLFxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWRpcmVjdFRvKFxuICBwYXRoOiBzdHJpbmcsXG4gIHByb3BzPzoge1xuICAgIGNvb2tpZXM/OiBzdHJpbmdbXVxuICB9LFxuKTogQ2xvdWRGcm9udFJlc3BvbnNlUmVzdWx0IHtcbiAgY29uc3QgaGVhZGVyczogQ2xvdWRGcm9udEhlYWRlcnMgPSBwcm9wcz8uY29va2llc1xuICAgID8ge1xuICAgICAgICBcInNldC1jb29raWVcIjogcHJvcHMuY29va2llcy5tYXAoKHZhbHVlKSA9PiAoe1xuICAgICAgICAgIGtleTogXCJzZXQtY29va2llXCIsXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgIH0pKSxcbiAgICAgIH1cbiAgICA6IHt9XG5cbiAgcmV0dXJuIHtcbiAgICBzdGF0dXM6IFwiMzA3XCIsXG4gICAgc3RhdHVzRGVzY3JpcHRpb246IFwiVGVtcG9yYXJ5IFJlZGlyZWN0XCIsXG4gICAgaGVhZGVyczoge1xuICAgICAgbG9jYXRpb246IFtcbiAgICAgICAge1xuICAgICAgICAgIGtleTogXCJsb2NhdGlvblwiLFxuICAgICAgICAgIHZhbHVlOiBwYXRoLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIC4uLmhlYWRlcnMsXG4gICAgfSxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGljUGFnZShwcm9wczoge1xuICB0aXRsZTogc3RyaW5nXG4gIG1lc3NhZ2U6IHN0cmluZ1xuICBkZXRhaWxzOiBzdHJpbmdcbiAgbGlua0hyZWY6IHN0cmluZ1xuICBsaW5rVGV4dDogc3RyaW5nXG4gIHN0YXR1c0NvZGU/OiBzdHJpbmdcbn0pOiBDbG91ZEZyb250UmVzcG9uc2VSZXN1bHQge1xuICByZXR1cm4ge1xuICAgIGJvZHk6IGNyZWF0ZUVycm9ySHRtbChwcm9wcyksXG4gICAgc3RhdHVzOiBwcm9wcy5zdGF0dXNDb2RlID8/IFwiNTAwXCIsXG4gICAgaGVhZGVyczoge1xuICAgICAgXCJjb250ZW50LXR5cGVcIjogW1xuICAgICAgICB7XG4gICAgICAgICAga2V5OiBcIkNvbnRlbnQtVHlwZVwiLFxuICAgICAgICAgIHZhbHVlOiBcInRleHQvaHRtbDsgY2hhcnNldD1VVEYtOFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUVycm9ySHRtbChwcm9wczoge1xuICB0aXRsZTogc3RyaW5nXG4gIG1lc3NhZ2U6IHN0cmluZ1xuICBkZXRhaWxzOiBzdHJpbmdcbiAgbGlua0hyZWY6IHN0cmluZ1xuICBsaW5rVGV4dDogc3RyaW5nXG59KTogc3RyaW5nIHtcbiAgY29uc3QgcGFyYW1zID0geyAuLi5wcm9wcywgcmVnaW9uOiBwcm9jZXNzLmVudi5BV1NfUkVHSU9OIH1cbiAgcmV0dXJuIGh0bWwucmVwbGFjZShcbiAgICAvXFwkeyhbXn1dKil9L2csXG4gICAgKF8sIHY6IGtleW9mIHR5cGVvZiBwYXJhbXMpID0+IHBhcmFtc1t2XSB8fCBcIlwiLFxuICApXG59XG5cbmZ1bmN0aW9uIGFkZENsb3VkRnJvbnRIZWFkZXJzPFxuICBUIGV4dGVuZHMgQ2xvdWRGcm9udFJlcXVlc3RSZXN1bHQgfCBDbG91ZEZyb250UmVzcG9uc2VSZXN1bHQsXG4+KGNvbmZpZzogQ29uZmlnLCByZXNwb25zZTogVCk6IFQge1xuICBpZiAoIXJlc3BvbnNlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgcmVzcG9uc2UgdmFsdWVcIilcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLi4ucmVzcG9uc2UsXG4gICAgaGVhZGVyczoge1xuICAgICAgLi4uKHJlc3BvbnNlLmhlYWRlcnMgPz8ge30pLFxuICAgICAgLi4uYXNDbG91ZEZyb250SGVhZGVycyhjb25maWcuaHR0cEhlYWRlcnMpLFxuICAgIH0sXG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgUmVxdWVzdEhhbmRsZXIgPSAoXG4gIGNvbmZpZzogQ29uZmlnLFxuICBldmVudDogQ2xvdWRGcm9udFJlcXVlc3RFdmVudCxcbikgPT4gUHJvbWlzZTxDbG91ZEZyb250UmVxdWVzdFJlc3VsdD5cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlcXVlc3RIYW5kbGVyKFxuICBpbm5lcjogUmVxdWVzdEhhbmRsZXIsXG4pOiBDbG91ZEZyb250UmVxdWVzdEhhbmRsZXIge1xuICBsZXQgY29uZmlnOiBDb25maWdcblxuICByZXR1cm4gYXN5bmMgKGV2ZW50KSA9PiB7XG4gICAgaWYgKCFjb25maWcpIHtcbiAgICAgIGNvbmZpZyA9IGdldENvbmZpZygpXG4gICAgfVxuXG4gICAgY29uZmlnLmxvZ2dlci5kZWJ1ZyhcIkhhbmRsaW5nIGV2ZW50OlwiLCBldmVudClcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYWRkQ2xvdWRGcm9udEhlYWRlcnMoY29uZmlnLCBhd2FpdCBpbm5lcihjb25maWcsIGV2ZW50KSlcblxuICAgIGNvbmZpZy5sb2dnZXIuZGVidWcoXCJSZXR1cm5pbmcgcmVzcG9uc2U6XCIsIHJlc3BvbnNlKVxuICAgIHJldHVybiByZXNwb25zZVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSZXNwb25zZUhhbmRsZXIoXG4gIGlubmVyOiAoXG4gICAgY29uZmlnOiBDb25maWcsXG4gICAgZXZlbnQ6IENsb3VkRnJvbnRSZXNwb25zZUV2ZW50LFxuICApID0+IFByb21pc2U8Q2xvdWRGcm9udFJlc3BvbnNlUmVzdWx0Pixcbik6IENsb3VkRnJvbnRSZXNwb25zZUhhbmRsZXIge1xuICBsZXQgY29uZmlnOiBDb25maWdcblxuICByZXR1cm4gYXN5bmMgKGV2ZW50KSA9PiB7XG4gICAgaWYgKCFjb25maWcpIHtcbiAgICAgIGNvbmZpZyA9IGdldENvbmZpZygpXG4gICAgfVxuXG4gICAgY29uZmlnLmxvZ2dlci5kZWJ1ZyhcIkhhbmRsaW5nIGV2ZW50OlwiLCBldmVudClcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYWRkQ2xvdWRGcm9udEhlYWRlcnMoY29uZmlnLCBhd2FpdCBpbm5lcihjb25maWcsIGV2ZW50KSlcblxuICAgIGNvbmZpZy5sb2dnZXIuZGVidWcoXCJSZXR1cm5pbmcgcmVzcG9uc2U6XCIsIHJlc3BvbnNlKVxuICAgIHJldHVybiByZXNwb25zZVxuICB9XG59XG4iXX0=
|
|
@@ -1,47 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.getConfig = getConfig;
|
|
27
|
-
const cookie_1 = require("cookie");
|
|
28
|
-
const fs_1 = require("fs");
|
|
29
|
-
const path = __importStar(require("path"));
|
|
30
|
-
const logger_1 = require("./logger");
|
|
31
|
-
function getConfig() {
|
|
32
|
-
const config = JSON.parse((0, fs_1.readFileSync)(path.join(__dirname, "/config.json"), "utf-8"));
|
|
1
|
+
import { parse } from "cookie";
|
|
2
|
+
import { readFileSync } from "fs";
|
|
3
|
+
import * as path from "path";
|
|
4
|
+
import { Logger, LogLevel } from "./logger";
|
|
5
|
+
import { fileURLToPath } from "url";
|
|
6
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
7
|
+
const __dirname = path.dirname(__filename);
|
|
8
|
+
export function getConfig() {
|
|
9
|
+
const config = JSON.parse(readFileSync(path.join(__dirname, "/config.json"), "utf-8"));
|
|
33
10
|
// Derive the issuer and JWKS uri all JWT's will be signed with from
|
|
34
11
|
// the User Pool's ID and region.
|
|
35
12
|
const userPoolRegion = /^(\S+?)_\S+$/.exec(config.userPoolId)[1];
|
|
36
13
|
const tokenIssuer = `https://cognito-idp.${userPoolRegion}.amazonaws.com/${config.userPoolId}`;
|
|
37
14
|
const tokenJwksUri = `${tokenIssuer}/.well-known/jwks.json`;
|
|
38
15
|
return {
|
|
39
|
-
nonceMaxAge: parseInt(
|
|
16
|
+
nonceMaxAge: parseInt(parse(config.cookieSettings.nonce.toLowerCase())["max-age"]) ||
|
|
40
17
|
60 * 60 * 24,
|
|
41
18
|
...config,
|
|
42
19
|
tokenIssuer,
|
|
43
20
|
tokenJwksUri,
|
|
44
|
-
logger: new
|
|
21
|
+
logger: new Logger(LogLevel[config.logLevel]),
|
|
45
22
|
};
|
|
46
23
|
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hhbmRsZXJzL3V0aWwvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLElBQUksQ0FBQTtBQUNqQyxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUc1QixPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBRW5DLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ2pELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUE7QUEwQjFDLE1BQU0sVUFBVSxTQUFTO0lBQ3ZCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQ3ZCLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FDNUMsQ0FBQTtJQUVqQixvRUFBb0U7SUFDcEUsaUNBQWlDO0lBQ2pDLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2pFLE1BQU0sV0FBVyxHQUFHLHVCQUF1QixjQUFjLGtCQUFrQixNQUFNLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDOUYsTUFBTSxZQUFZLEdBQUcsR0FBRyxXQUFXLHdCQUF3QixDQUFBO0lBRTNELE9BQU87UUFDTCxXQUFXLEVBQ1QsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3JFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtRQUNkLEdBQUcsTUFBTTtRQUNULFdBQVc7UUFDWCxZQUFZO1FBQ1osTUFBTSxFQUFFLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDOUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZSB9IGZyb20gXCJjb29raWVcIlxuaW1wb3J0IHsgcmVhZEZpbGVTeW5jIH0gZnJvbSBcImZzXCJcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIlxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tIFwiLi9jbG91ZGZyb250XCJcbmltcG9ydCB7IENvb2tpZVNldHRpbmdzIH0gZnJvbSBcIi4vY29va2llc1wiXG5pbXBvcnQgeyBMb2dnZXIsIExvZ0xldmVsIH0gZnJvbSBcIi4vbG9nZ2VyXCJcbmltcG9ydCB7IGZpbGVVUkxUb1BhdGggfSBmcm9tIFwidXJsXCJcblxuY29uc3QgX19maWxlbmFtZSA9IGZpbGVVUkxUb1BhdGgoaW1wb3J0Lm1ldGEudXJsKVxuY29uc3QgX19kaXJuYW1lID0gcGF0aC5kaXJuYW1lKF9fZmlsZW5hbWUpXG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmVkQ29uZmlnIHtcbiAgdXNlclBvb2xJZDogc3RyaW5nXG4gIGNsaWVudElkOiBzdHJpbmdcbiAgb2F1dGhTY29wZXM6IHN0cmluZ1tdXG4gIGNvZ25pdG9BdXRoRG9tYWluOiBzdHJpbmdcbiAgY2FsbGJhY2tQYXRoOiBzdHJpbmdcbiAgc2lnbk91dFJlZGlyZWN0VG86IHN0cmluZ1xuICBzaWduT3V0UGF0aDogc3RyaW5nXG4gIHJlZnJlc2hBdXRoUGF0aDogc3RyaW5nXG4gIGNvb2tpZVNldHRpbmdzOiBDb29raWVTZXR0aW5nc1xuICBodHRwSGVhZGVyczogSHR0cEhlYWRlcnNcbiAgY2xpZW50U2VjcmV0OiBzdHJpbmdcbiAgbm9uY2VTaWduaW5nU2VjcmV0OiBzdHJpbmdcbiAgbG9nTGV2ZWw6IGtleW9mIHR5cGVvZiBMb2dMZXZlbFxuICByZXF1aXJlR3JvdXBBbnlPZj86IHN0cmluZ1tdIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZyBleHRlbmRzIFN0b3JlZENvbmZpZyB7XG4gIHRva2VuSXNzdWVyOiBzdHJpbmdcbiAgdG9rZW5Kd2tzVXJpOiBzdHJpbmdcbiAgbG9nZ2VyOiBMb2dnZXJcbiAgbm9uY2VNYXhBZ2U6IG51bWJlclxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29uZmlnKCk6IENvbmZpZyB7XG4gIGNvbnN0IGNvbmZpZyA9IEpTT04ucGFyc2UoXG4gICAgcmVhZEZpbGVTeW5jKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiL2NvbmZpZy5qc29uXCIpLCBcInV0Zi04XCIpLFxuICApIGFzIFN0b3JlZENvbmZpZ1xuXG4gIC8vIERlcml2ZSB0aGUgaXNzdWVyIGFuZCBKV0tTIHVyaSBhbGwgSldUJ3Mgd2lsbCBiZSBzaWduZWQgd2l0aCBmcm9tXG4gIC8vIHRoZSBVc2VyIFBvb2wncyBJRCBhbmQgcmVnaW9uLlxuICBjb25zdCB1c2VyUG9vbFJlZ2lvbiA9IC9eKFxcUys/KV9cXFMrJC8uZXhlYyhjb25maWcudXNlclBvb2xJZCkhWzFdXG4gIGNvbnN0IHRva2VuSXNzdWVyID0gYGh0dHBzOi8vY29nbml0by1pZHAuJHt1c2VyUG9vbFJlZ2lvbn0uYW1hem9uYXdzLmNvbS8ke2NvbmZpZy51c2VyUG9vbElkfWBcbiAgY29uc3QgdG9rZW5Kd2tzVXJpID0gYCR7dG9rZW5Jc3N1ZXJ9Ly53ZWxsLWtub3duL2p3a3MuanNvbmBcblxuICByZXR1cm4ge1xuICAgIG5vbmNlTWF4QWdlOlxuICAgICAgcGFyc2VJbnQocGFyc2UoY29uZmlnLmNvb2tpZVNldHRpbmdzLm5vbmNlLnRvTG93ZXJDYXNlKCkpW1wibWF4LWFnZVwiXSkgfHxcbiAgICAgIDYwICogNjAgKiAyNCxcbiAgICAuLi5jb25maWcsXG4gICAgdG9rZW5Jc3N1ZXIsXG4gICAgdG9rZW5Kd2tzVXJpLFxuICAgIGxvZ2dlcjogbmV3IExvZ2dlcihMb2dMZXZlbFtjb25maWcubG9nTGV2ZWxdKSxcbiAgfVxufVxuIl19
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.extractAndParseCookies = extractAndParseCookies;
|
|
4
|
-
exports.generateCookies = generateCookies;
|
|
5
|
-
const cookie_1 = require("cookie");
|
|
6
|
-
const jwt_1 = require("./jwt");
|
|
1
|
+
import { parse } from "cookie";
|
|
2
|
+
import { decodeIdToken } from "./jwt";
|
|
7
3
|
/**
|
|
8
4
|
* Cookies are present in the HTTP header "Cookie" that may be present
|
|
9
5
|
* multiple times. This utility function parses occurrences of that
|
|
@@ -17,7 +13,7 @@ function extractCookiesFromHeaders(headers) {
|
|
|
17
13
|
}
|
|
18
14
|
const cookies = headers["cookie"].reduce((reduced, header) => ({
|
|
19
15
|
...reduced,
|
|
20
|
-
...
|
|
16
|
+
...parse(header.value),
|
|
21
17
|
}), {});
|
|
22
18
|
return cookies;
|
|
23
19
|
}
|
|
@@ -28,7 +24,7 @@ function withCookieDomain(distributionDomainName, cookieSettings) {
|
|
|
28
24
|
}
|
|
29
25
|
return cookieSettings;
|
|
30
26
|
}
|
|
31
|
-
function extractAndParseCookies(headers, clientId) {
|
|
27
|
+
export function extractAndParseCookies(headers, clientId) {
|
|
32
28
|
const cookies = extractCookiesFromHeaders(headers);
|
|
33
29
|
if (!cookies) {
|
|
34
30
|
return {};
|
|
@@ -37,19 +33,19 @@ function extractAndParseCookies(headers, clientId) {
|
|
|
37
33
|
const tokenUserName = cookies[`${keyPrefix}.LastAuthUser`];
|
|
38
34
|
return {
|
|
39
35
|
tokenUserName,
|
|
40
|
-
idToken: cookies[`${keyPrefix}.${tokenUserName
|
|
41
|
-
accessToken: cookies[`${keyPrefix}.${tokenUserName
|
|
42
|
-
refreshToken: cookies[`${keyPrefix}.${tokenUserName
|
|
43
|
-
scopes: cookies[`${keyPrefix}.${tokenUserName
|
|
36
|
+
idToken: cookies[`${keyPrefix}.${tokenUserName ?? ""}.idToken`],
|
|
37
|
+
accessToken: cookies[`${keyPrefix}.${tokenUserName ?? ""}.accessToken`],
|
|
38
|
+
refreshToken: cookies[`${keyPrefix}.${tokenUserName ?? ""}.refreshToken`],
|
|
39
|
+
scopes: cookies[`${keyPrefix}.${tokenUserName ?? ""}.tokenScopesString`],
|
|
44
40
|
nonce: cookies["spa-auth-edge-nonce"],
|
|
45
41
|
nonceHmac: cookies["spa-auth-edge-nonce-hmac"],
|
|
46
42
|
pkce: cookies["spa-auth-edge-pkce"],
|
|
47
43
|
};
|
|
48
44
|
}
|
|
49
|
-
function generateCookies(param) {
|
|
45
|
+
export function generateCookies(param) {
|
|
50
46
|
// Set cookies with the exact names and values Amplify uses
|
|
51
47
|
// for seamless interoperability with Amplify.
|
|
52
|
-
const decodedIdToken =
|
|
48
|
+
const decodedIdToken = decodeIdToken(param.tokens.idToken);
|
|
53
49
|
const tokenUserName = decodedIdToken["cognito:username"];
|
|
54
50
|
const keyPrefix = `CognitoIdentityServiceProvider.${param.clientId}`;
|
|
55
51
|
const idTokenKey = `${keyPrefix}.${tokenUserName}.idToken`;
|
|
@@ -111,4 +107,4 @@ function expireCookie(cookie = "") {
|
|
|
111
107
|
// First part is the cookie value, which we'll clear.
|
|
112
108
|
return ["", ...cookieParts.slice(1), expires].join("; ");
|
|
113
109
|
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oYW5kbGVycy91dGlsL2Nvb2tpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE4Q0Esd0RBK0JDO0FBRUQsMENBMEZDO0FBeEtELG1DQUE4QjtBQUM5QiwrQkFBcUM7QUFXckM7Ozs7OztHQU1HO0FBQ0gsU0FBUyx5QkFBeUIsQ0FBQyxPQUEwQjtJQUMzRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDdkIsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0lBQ0QsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FDdEMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BCLEdBQUcsT0FBTztRQUNWLEdBQUksSUFBQSxjQUFLLEVBQUMsTUFBTSxDQUFDLEtBQUssQ0FBYTtLQUNwQyxDQUFDLEVBQ0YsRUFBRSxDQUNILENBQUE7SUFFRCxPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FDdkIsc0JBQThCLEVBQzlCLGNBQXNCO0lBRXRCLElBQUksY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzFELHdFQUF3RTtRQUN4RSxPQUFPLEdBQUcsY0FBYyxhQUFhLHNCQUFzQixFQUFFLENBQUE7SUFDL0QsQ0FBQztJQUNELE9BQU8sY0FBYyxDQUFBO0FBQ3ZCLENBQUM7QUFFRCxTQUFnQixzQkFBc0IsQ0FDcEMsT0FBMEIsRUFDMUIsUUFBZ0I7SUFXaEIsTUFBTSxPQUFPLEdBQUcseUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsa0NBQWtDLFFBQVEsRUFBRSxDQUFBO0lBQzlELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxHQUFHLFNBQVMsZUFBZSxDQUFDLENBQUE7SUFFMUQsT0FBTztRQUNMLGFBQWE7UUFDYixPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsU0FBUyxJQUFJLGFBQWEsYUFBYixhQUFhLGNBQWIsYUFBYSxHQUFJLEVBQUUsVUFBVSxDQUFDO1FBQy9ELFdBQVcsRUFBRSxPQUFPLENBQUMsR0FBRyxTQUFTLElBQUksYUFBYSxhQUFiLGFBQWEsY0FBYixhQUFhLEdBQUksRUFBRSxjQUFjLENBQUM7UUFDdkUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxHQUFHLFNBQVMsSUFBSSxhQUFhLGFBQWIsYUFBYSxjQUFiLGFBQWEsR0FBSSxFQUFFLGVBQWUsQ0FBQztRQUN6RSxNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsU0FBUyxJQUFJLGFBQWEsYUFBYixhQUFhLGNBQWIsYUFBYSxHQUFJLEVBQUUsb0JBQW9CLENBQUM7UUFDeEUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQztRQUNyQyxTQUFTLEVBQUUsT0FBTyxDQUFDLDBCQUEwQixDQUFDO1FBQzlDLElBQUksRUFBRSxPQUFPLENBQUMsb0JBQW9CLENBQUM7S0FDcEMsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFnQixlQUFlLENBQUMsS0FXL0I7SUFDQywyREFBMkQ7SUFDM0QsOENBQThDO0lBQzlDLE1BQU0sY0FBYyxHQUFHLElBQUEsbUJBQWEsRUFBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzFELE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBVyxDQUFBO0lBQ2xFLE1BQU0sU0FBUyxHQUFHLGtDQUFrQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDcEUsTUFBTSxVQUFVLEdBQUcsR0FBRyxTQUFTLElBQUksYUFBYSxVQUFVLENBQUE7SUFDMUQsTUFBTSxjQUFjLEdBQUcsR0FBRyxTQUFTLElBQUksYUFBYSxjQUFjLENBQUE7SUFDbEUsTUFBTSxlQUFlLEdBQUcsR0FBRyxTQUFTLElBQUksYUFBYSxlQUFlLENBQUE7SUFDcEUsTUFBTSxXQUFXLEdBQUcsR0FBRyxTQUFTLGVBQWUsQ0FBQTtJQUMvQyxNQUFNLFFBQVEsR0FBRyxHQUFHLFNBQVMsSUFBSSxhQUFhLG9CQUFvQixDQUFBO0lBQ2xFLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2hELE1BQU0sV0FBVyxHQUFHLEdBQUcsU0FBUyxJQUFJLGFBQWEsV0FBVyxDQUFBO0lBQzVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDOUIsY0FBYyxFQUFFO1lBQ2Q7Z0JBQ0UsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsS0FBSyxFQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUM7YUFDN0I7WUFDRDtnQkFDRSxJQUFJLEVBQUUsT0FBTztnQkFDYixLQUFLLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQzthQUMvQjtTQUNGO1FBQ0QsUUFBUSxFQUFFLGFBQWE7S0FDeEIsQ0FBQyxDQUFBO0lBRUYsb0NBQW9DO0lBQ3BDLE1BQU0sT0FBTyxHQUFHO1FBQ2QsQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLGdCQUFnQixDQUN4RCxLQUFLLENBQUMsVUFBVSxFQUNoQixLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FDN0IsRUFBRTtRQUNILENBQUMsY0FBYyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsS0FBSyxnQkFBZ0IsQ0FDaEUsS0FBSyxDQUFDLFVBQVUsRUFDaEIsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQ2pDLEVBQUU7UUFDSCxDQUFDLGVBQWUsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEtBQUssZ0JBQWdCLENBQ2xFLEtBQUssQ0FBQyxVQUFVLEVBQ2hCLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUNsQyxFQUFFO1FBQ0gsQ0FBQyxXQUFXLENBQUMsRUFBRSxHQUFHLGFBQWEsS0FBSyxnQkFBZ0IsQ0FDbEQsS0FBSyxDQUFDLFVBQVUsRUFDaEIsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQzdCLEVBQUU7UUFDSCxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsWUFBWSxLQUFLLGdCQUFnQixDQUM5QyxLQUFLLENBQUMsVUFBVSxFQUNoQixLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FDakMsRUFBRTtRQUNILENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxnQkFBZ0IsQ0FDakUsS0FBSyxDQUFDLFVBQVUsRUFDaEIsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQzdCLEVBQUU7UUFDSCw4QkFBOEIsRUFBRSxTQUFTLGdCQUFnQixDQUN2RCxLQUFLLENBQUMsVUFBVSxFQUNoQixLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FDakMsRUFBRTtLQUNKLENBQUE7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDOUIscUJBQXFCO1FBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUMxQixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQ3JELENBQUE7SUFDSCxDQUFDO1NBQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLGVBQWUsRUFBRSxDQUFDO1FBQzNDLHVFQUF1RTtRQUN2RSxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFFRCw4REFBOEQ7SUFDOUQsQ0FBQztJQUFBO1FBQ0MscUJBQXFCO1FBQ3JCLDBCQUEwQjtRQUMxQixvQkFBb0I7S0FDckIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNoQixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQzNDLENBQUMsQ0FBQyxDQUFBO0lBRUYsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQzdELENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxNQUFNLEdBQUcsRUFBRTtJQUMvQixNQUFNLFdBQVcsR0FBRyxNQUFNO1NBQ3ZCLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDVixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMxQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMzRCxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO0lBQzlELE1BQU0sT0FBTyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQTtJQUN0RCxxREFBcUQ7SUFDckQsT0FBTyxDQUFDLEVBQUUsRUFBRSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbG91ZEZyb250SGVhZGVycyB9IGZyb20gXCJhd3MtbGFtYmRhXCJcbmltcG9ydCB7IHBhcnNlIH0gZnJvbSBcImNvb2tpZVwiXG5pbXBvcnQgeyBkZWNvZGVJZFRva2VuIH0gZnJvbSBcIi4vand0XCJcblxudHlwZSBDb29raWVzID0gUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPlxuXG5leHBvcnQgaW50ZXJmYWNlIENvb2tpZVNldHRpbmdzIHtcbiAgaWRUb2tlbjogc3RyaW5nXG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmdcbiAgcmVmcmVzaFRva2VuOiBzdHJpbmdcbiAgbm9uY2U6IHN0cmluZ1xufVxuXG4vKipcbiAqIENvb2tpZXMgYXJlIHByZXNlbnQgaW4gdGhlIEhUVFAgaGVhZGVyIFwiQ29va2llXCIgdGhhdCBtYXkgYmUgcHJlc2VudFxuICogbXVsdGlwbGUgdGltZXMuIFRoaXMgdXRpbGl0eSBmdW5jdGlvbiBwYXJzZXMgb2NjdXJyZW5jZXMgIG9mIHRoYXRcbiAqIGhlYWRlciBhbmQgc3BsaXRzIG91dCBhbGwgdGhlIGNvb2tpZXMgYW5kIHRoZWlyIHZhbHVlcy5cbiAqIEEgc2ltcGxlIG9iamVjdCBpcyByZXR1cm5lZCB0aGF0IGFsbG93cyBlYXN5IGFjY2VzcyBieSBjb29raWVcbiAqIG5hbWU6IGUuZy4gY29va2llc1tcIm5vbmNlXCJdLlxuICovXG5mdW5jdGlvbiBleHRyYWN0Q29va2llc0Zyb21IZWFkZXJzKGhlYWRlcnM6IENsb3VkRnJvbnRIZWFkZXJzKTogQ29va2llcyB7XG4gIGlmICghaGVhZGVyc1tcImNvb2tpZVwiXSkge1xuICAgIHJldHVybiB7fVxuICB9XG4gIGNvbnN0IGNvb2tpZXMgPSBoZWFkZXJzW1wiY29va2llXCJdLnJlZHVjZTxDb29raWVzPihcbiAgICAocmVkdWNlZCwgaGVhZGVyKSA9PiAoe1xuICAgICAgLi4ucmVkdWNlZCxcbiAgICAgIC4uLihwYXJzZShoZWFkZXIudmFsdWUpIGFzIENvb2tpZXMpLFxuICAgIH0pLFxuICAgIHt9LFxuICApXG5cbiAgcmV0dXJuIGNvb2tpZXNcbn1cblxuZnVuY3Rpb24gd2l0aENvb2tpZURvbWFpbihcbiAgZGlzdHJpYnV0aW9uRG9tYWluTmFtZTogc3RyaW5nLFxuICBjb29raWVTZXR0aW5nczogc3RyaW5nLFxuKSB7XG4gIGlmIChjb29raWVTZXR0aW5ncy50b0xvd2VyQ2FzZSgpLmluZGV4T2YoXCJkb21haW5cIikgPT09IC0xKSB7XG4gICAgLy8gQWRkIGxlYWRpbmcgZG90IGZvciBjb21wYXRpYmlsaXR5IHdpdGggQW1wbGlmeSAob3IganMtY29va2llIHJlYWxseSkuXG4gICAgcmV0dXJuIGAke2Nvb2tpZVNldHRpbmdzfTsgRG9tYWluPS4ke2Rpc3RyaWJ1dGlvbkRvbWFpbk5hbWV9YFxuICB9XG4gIHJldHVybiBjb29raWVTZXR0aW5nc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdEFuZFBhcnNlQ29va2llcyhcbiAgaGVhZGVyczogQ2xvdWRGcm9udEhlYWRlcnMsXG4gIGNsaWVudElkOiBzdHJpbmcsXG4pOiB7XG4gIHRva2VuVXNlck5hbWU/OiBzdHJpbmdcbiAgaWRUb2tlbj86IHN0cmluZ1xuICBhY2Nlc3NUb2tlbj86IHN0cmluZ1xuICByZWZyZXNoVG9rZW4/OiBzdHJpbmdcbiAgc2NvcGVzPzogc3RyaW5nXG4gIG5vbmNlPzogc3RyaW5nXG4gIG5vbmNlSG1hYz86IHN0cmluZ1xuICBwa2NlPzogc3RyaW5nXG59IHtcbiAgY29uc3QgY29va2llcyA9IGV4dHJhY3RDb29raWVzRnJvbUhlYWRlcnMoaGVhZGVycylcbiAgaWYgKCFjb29raWVzKSB7XG4gICAgcmV0dXJuIHt9XG4gIH1cblxuICBjb25zdCBrZXlQcmVmaXggPSBgQ29nbml0b0lkZW50aXR5U2VydmljZVByb3ZpZGVyLiR7Y2xpZW50SWR9YFxuICBjb25zdCB0b2tlblVzZXJOYW1lID0gY29va2llc1tgJHtrZXlQcmVmaXh9Lkxhc3RBdXRoVXNlcmBdXG5cbiAgcmV0dXJuIHtcbiAgICB0b2tlblVzZXJOYW1lLFxuICAgIGlkVG9rZW46IGNvb2tpZXNbYCR7a2V5UHJlZml4fS4ke3Rva2VuVXNlck5hbWUgPz8gXCJcIn0uaWRUb2tlbmBdLFxuICAgIGFjY2Vzc1Rva2VuOiBjb29raWVzW2Ake2tleVByZWZpeH0uJHt0b2tlblVzZXJOYW1lID8/IFwiXCJ9LmFjY2Vzc1Rva2VuYF0sXG4gICAgcmVmcmVzaFRva2VuOiBjb29raWVzW2Ake2tleVByZWZpeH0uJHt0b2tlblVzZXJOYW1lID8/IFwiXCJ9LnJlZnJlc2hUb2tlbmBdLFxuICAgIHNjb3BlczogY29va2llc1tgJHtrZXlQcmVmaXh9LiR7dG9rZW5Vc2VyTmFtZSA/PyBcIlwifS50b2tlblNjb3Blc1N0cmluZ2BdLFxuICAgIG5vbmNlOiBjb29raWVzW1wic3BhLWF1dGgtZWRnZS1ub25jZVwiXSxcbiAgICBub25jZUhtYWM6IGNvb2tpZXNbXCJzcGEtYXV0aC1lZGdlLW5vbmNlLWhtYWNcIl0sXG4gICAgcGtjZTogY29va2llc1tcInNwYS1hdXRoLWVkZ2UtcGtjZVwiXSxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVDb29raWVzKHBhcmFtOiB7XG4gIGV2ZW50OiBcIm5ld1Rva2Vuc1wiIHwgXCJzaWduT3V0XCIgfCBcInJlZnJlc2hGYWlsZWRcIlxuICBjbGllbnRJZDogc3RyaW5nXG4gIG9hdXRoU2NvcGVzOiBzdHJpbmdbXVxuICBkb21haW5OYW1lOiBzdHJpbmdcbiAgY29va2llU2V0dGluZ3M6IENvb2tpZVNldHRpbmdzXG4gIHRva2Vuczoge1xuICAgIGlkVG9rZW46IHN0cmluZ1xuICAgIGFjY2Vzc1Rva2VuOiBzdHJpbmdcbiAgICByZWZyZXNoVG9rZW46IHN0cmluZ1xuICB9XG59KTogc3RyaW5nW10ge1xuICAvLyBTZXQgY29va2llcyB3aXRoIHRoZSBleGFjdCBuYW1lcyBhbmQgdmFsdWVzIEFtcGxpZnkgdXNlc1xuICAvLyBmb3Igc2VhbWxlc3MgaW50ZXJvcGVyYWJpbGl0eSB3aXRoIEFtcGxpZnkuXG4gIGNvbnN0IGRlY29kZWRJZFRva2VuID0gZGVjb2RlSWRUb2tlbihwYXJhbS50b2tlbnMuaWRUb2tlbilcbiAgY29uc3QgdG9rZW5Vc2VyTmFtZSA9IGRlY29kZWRJZFRva2VuW1wiY29nbml0bzp1c2VybmFtZVwiXSBhcyBzdHJpbmdcbiAgY29uc3Qga2V5UHJlZml4ID0gYENvZ25pdG9JZGVudGl0eVNlcnZpY2VQcm92aWRlci4ke3BhcmFtLmNsaWVudElkfWBcbiAgY29uc3QgaWRUb2tlbktleSA9IGAke2tleVByZWZpeH0uJHt0b2tlblVzZXJOYW1lfS5pZFRva2VuYFxuICBjb25zdCBhY2Nlc3NUb2tlbktleSA9IGAke2tleVByZWZpeH0uJHt0b2tlblVzZXJOYW1lfS5hY2Nlc3NUb2tlbmBcbiAgY29uc3QgcmVmcmVzaFRva2VuS2V5ID0gYCR7a2V5UHJlZml4fS4ke3Rva2VuVXNlck5hbWV9LnJlZnJlc2hUb2tlbmBcbiAgY29uc3QgbGFzdFVzZXJLZXkgPSBgJHtrZXlQcmVmaXh9Lkxhc3RBdXRoVXNlcmBcbiAgY29uc3Qgc2NvcGVLZXkgPSBgJHtrZXlQcmVmaXh9LiR7dG9rZW5Vc2VyTmFtZX0udG9rZW5TY29wZXNTdHJpbmdgXG4gIGNvbnN0IHNjb3Blc1N0cmluZyA9IHBhcmFtLm9hdXRoU2NvcGVzLmpvaW4oXCIgXCIpXG4gIGNvbnN0IHVzZXJEYXRhS2V5ID0gYCR7a2V5UHJlZml4fS4ke3Rva2VuVXNlck5hbWV9LnVzZXJEYXRhYFxuICBjb25zdCB1c2VyRGF0YSA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICBVc2VyQXR0cmlidXRlczogW1xuICAgICAge1xuICAgICAgICBOYW1lOiBcInN1YlwiLFxuICAgICAgICBWYWx1ZTogZGVjb2RlZElkVG9rZW5bXCJzdWJcIl0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBOYW1lOiBcImVtYWlsXCIsXG4gICAgICAgIFZhbHVlOiBkZWNvZGVkSWRUb2tlbltcImVtYWlsXCJdLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFVzZXJuYW1lOiB0b2tlblVzZXJOYW1lLFxuICB9KVxuXG4gIC8vIENvbnN0cnVjdCBvYmplY3Qgd2l0aCB0aGUgY29va2llc1xuICBjb25zdCBjb29raWVzID0ge1xuICAgIFtpZFRva2VuS2V5XTogYCR7cGFyYW0udG9rZW5zLmlkVG9rZW59OyAke3dpdGhDb29raWVEb21haW4oXG4gICAgICBwYXJhbS5kb21haW5OYW1lLFxuICAgICAgcGFyYW0uY29va2llU2V0dGluZ3MuaWRUb2tlbixcbiAgICApfWAsXG4gICAgW2FjY2Vzc1Rva2VuS2V5XTogYCR7cGFyYW0udG9rZW5zLmFjY2Vzc1Rva2VufTsgJHt3aXRoQ29va2llRG9tYWluKFxuICAgICAgcGFyYW0uZG9tYWluTmFtZSxcbiAgICAgIHBhcmFtLmNvb2tpZVNldHRpbmdzLmFjY2Vzc1Rva2VuLFxuICAgICl9YCxcbiAgICBbcmVmcmVzaFRva2VuS2V5XTogYCR7cGFyYW0udG9rZW5zLnJlZnJlc2hUb2tlbn07ICR7d2l0aENvb2tpZURvbWFpbihcbiAgICAgIHBhcmFtLmRvbWFpbk5hbWUsXG4gICAgICBwYXJhbS5jb29raWVTZXR0aW5ncy5yZWZyZXNoVG9rZW4sXG4gICAgKX1gLFxuICAgIFtsYXN0VXNlcktleV06IGAke3Rva2VuVXNlck5hbWV9OyAke3dpdGhDb29raWVEb21haW4oXG4gICAgICBwYXJhbS5kb21haW5OYW1lLFxuICAgICAgcGFyYW0uY29va2llU2V0dGluZ3MuaWRUb2tlbixcbiAgICApfWAsXG4gICAgW3Njb3BlS2V5XTogYCR7c2NvcGVzU3RyaW5nfTsgJHt3aXRoQ29va2llRG9tYWluKFxuICAgICAgcGFyYW0uZG9tYWluTmFtZSxcbiAgICAgIHBhcmFtLmNvb2tpZVNldHRpbmdzLmFjY2Vzc1Rva2VuLFxuICAgICl9YCxcbiAgICBbdXNlckRhdGFLZXldOiBgJHtlbmNvZGVVUklDb21wb25lbnQodXNlckRhdGEpfTsgJHt3aXRoQ29va2llRG9tYWluKFxuICAgICAgcGFyYW0uZG9tYWluTmFtZSxcbiAgICAgIHBhcmFtLmNvb2tpZVNldHRpbmdzLmlkVG9rZW4sXG4gICAgKX1gLFxuICAgIFwiYW1wbGlmeS1zaWduaW4td2l0aC1ob3N0ZWRVSVwiOiBgdHJ1ZTsgJHt3aXRoQ29va2llRG9tYWluKFxuICAgICAgcGFyYW0uZG9tYWluTmFtZSxcbiAgICAgIHBhcmFtLmNvb2tpZVNldHRpbmdzLmFjY2Vzc1Rva2VuLFxuICAgICl9YCxcbiAgfVxuXG4gIGlmIChwYXJhbS5ldmVudCA9PT0gXCJzaWduT3V0XCIpIHtcbiAgICAvLyBFeHBpcmUgYWxsIGNvb2tpZXNcbiAgICBPYmplY3Qua2V5cyhjb29raWVzKS5mb3JFYWNoKFxuICAgICAgKGtleSkgPT4gKGNvb2tpZXNba2V5XSA9IGV4cGlyZUNvb2tpZShjb29raWVzW2tleV0pKSxcbiAgICApXG4gIH0gZWxzZSBpZiAocGFyYW0uZXZlbnQgPT09IFwicmVmcmVzaEZhaWxlZFwiKSB7XG4gICAgLy8gRXhwaXJlIHJlZnJlc2ggdG9rZW4gKHNvIHRoZSBicm93c2VyIHdpbGwgbm90IHNlbmQgaXQgaW4gdmFpbiBhZ2FpbilcbiAgICBjb29raWVzW3JlZnJlc2hUb2tlbktleV0gPSBleHBpcmVDb29raWUoY29va2llc1tyZWZyZXNoVG9rZW5LZXldKVxuICB9XG5cbiAgLy8gTm9uY2UsIG5vbmNlSG1hYyBhbmQgcGtjZSBhcmUgb25seSB1c2VkIGR1cmluZyBsb2dpbiBwaGFzZS5cbiAgO1tcbiAgICBcInNwYS1hdXRoLWVkZ2Utbm9uY2VcIixcbiAgICBcInNwYS1hdXRoLWVkZ2Utbm9uY2UtaG1hY1wiLFxuICAgIFwic3BhLWF1dGgtZWRnZS1wa2NlXCIsXG4gIF0uZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgY29va2llc1trZXldID0gZXhwaXJlQ29va2llKGNvb2tpZXNba2V5XSlcbiAgfSlcblxuICByZXR1cm4gT2JqZWN0LmVudHJpZXMoY29va2llcykubWFwKChbaywgdl0pID0+IGAke2t9PSR7dn1gKVxufVxuXG5mdW5jdGlvbiBleHBpcmVDb29raWUoY29va2llID0gXCJcIikge1xuICBjb25zdCBjb29raWVQYXJ0cyA9IGNvb2tpZVxuICAgIC5zcGxpdChcIjtcIilcbiAgICAubWFwKChwYXJ0KSA9PiBwYXJ0LnRyaW0oKSlcbiAgICAuZmlsdGVyKChwYXJ0KSA9PiAhcGFydC50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoXCJtYXgtYWdlXCIpKVxuICAgIC5maWx0ZXIoKHBhcnQpID0+ICFwYXJ0LnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChcImV4cGlyZXNcIikpXG4gIGNvbnN0IGV4cGlyZXMgPSBgRXhwaXJlcz0ke25ldyBEYXRlKDApLnRvVVRDU3RyaW5nKCl9YFxuICAvLyBGaXJzdCBwYXJ0IGlzIHRoZSBjb29raWUgdmFsdWUsIHdoaWNoIHdlJ2xsIGNsZWFyLlxuICByZXR1cm4gW1wiXCIsIC4uLmNvb2tpZVBhcnRzLnNsaWNlKDEpLCBleHBpcmVzXS5qb2luKFwiOyBcIilcbn1cbiJdfQ==
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oYW5kbGVycy91dGlsL2Nvb2tpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUM5QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBV3JDOzs7Ozs7R0FNRztBQUNILFNBQVMseUJBQXlCLENBQUMsT0FBMEI7SUFDM0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sRUFBRSxDQUFBO0lBQ1gsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQ3RDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwQixHQUFHLE9BQU87UUFDVixHQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFhO0tBQ3BDLENBQUMsRUFDRixFQUFFLENBQ0gsQ0FBQTtJQUVELE9BQU8sT0FBTyxDQUFBO0FBQ2hCLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUN2QixzQkFBOEIsRUFDOUIsY0FBc0I7SUFFdEIsSUFBSSxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDMUQsd0VBQXdFO1FBQ3hFLE9BQU8sR0FBRyxjQUFjLGFBQWEsc0JBQXNCLEVBQUUsQ0FBQTtJQUMvRCxDQUFDO0lBQ0QsT0FBTyxjQUFjLENBQUE7QUFDdkIsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsT0FBMEIsRUFDMUIsUUFBZ0I7SUFXaEIsTUFBTSxPQUFPLEdBQUcseUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsT0FBTyxFQUFF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O1FBQ2hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDM0MsQ0FBQyxDQUFDLENBQUE7SUFFRixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7QUFDN0QsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLE1BQU0sR0FBRyxFQUFFO0lBQy9CLE1BQU0sV0FBVyxHQUFHLE1BQU07U0FDdkIsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNWLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzFCLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzNELE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFDOUQsTUFBTSxPQUFPLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFBO0lBQ3RELHFEQUFxRDtJQUNyRCxPQUFPLENBQUMsRUFBRSxFQUFFLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDMUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsb3VkRnJvbnRIZWFkZXJzIH0gZnJvbSBcImF3cy1sYW1iZGFcIlxuaW1wb3J0IHsgcGFyc2UgfSBmcm9tIFwiY29va2llXCJcbmltcG9ydCB7IGRlY29kZUlkVG9rZW4gfSBmcm9tIFwiLi9qd3RcIlxuXG50eXBlIENvb2tpZXMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29va2llU2V0dGluZ3Mge1xuICBpZFRva2VuOiBzdHJpbmdcbiAgYWNjZXNzVG9rZW46IHN0cmluZ1xuICByZWZyZXNoVG9rZW46IHN0cmluZ1xuICBub25jZTogc3RyaW5nXG59XG5cbi8qKlxuICogQ29va2llcyBhcmUgcHJlc2VudCBpbiB0aGUgSFRUUCBoZWFkZXIgXCJDb29raWVcIiB0aGF0IG1heSBiZSBwcmVzZW50XG4gKiBtdWx0aXBsZSB0aW1lcy4gVGhpcyB1dGlsaXR5IGZ1bmN0aW9uIHBhcnNlcyBvY2N1cnJlbmNlcyAgb2YgdGhhdFxuICogaGVhZGVyIGFuZCBzcGxpdHMgb3V0IGFsbCB0aGUgY29va2llcyBhbmQgdGhlaXIgdmFsdWVzLlxuICogQSBzaW1wbGUgb2JqZWN0IGlzIHJldHVybmVkIHRoYXQgYWxsb3dzIGVhc3kgYWNjZXNzIGJ5IGNvb2tpZVxuICogbmFtZTogZS5nLiBjb29raWVzW1wibm9uY2VcIl0uXG4gKi9cbmZ1bmN0aW9uIGV4dHJhY3RDb29raWVzRnJvbUhlYWRlcnMoaGVhZGVyczogQ2xvdWRGcm9udEhlYWRlcnMpOiBDb29raWVzIHtcbiAgaWYgKCFoZWFkZXJzW1wiY29va2llXCJdKSB7XG4gICAgcmV0dXJuIHt9XG4gIH1cbiAgY29uc3QgY29va2llcyA9IGhlYWRlcnNbXCJjb29raWVcIl0ucmVkdWNlPENvb2tpZXM+KFxuICAgIChyZWR1Y2VkLCBoZWFkZXIpID0+ICh7XG4gICAgICAuLi5yZWR1Y2VkLFxuICAgICAgLi4uKHBhcnNlKGhlYWRlci52YWx1ZSkgYXMgQ29va2llcyksXG4gICAgfSksXG4gICAge30sXG4gIClcblxuICByZXR1cm4gY29va2llc1xufVxuXG5mdW5jdGlvbiB3aXRoQ29va2llRG9tYWluKFxuICBkaXN0cmlidXRpb25Eb21haW5OYW1lOiBzdHJpbmcsXG4gIGNvb2tpZVNldHRpbmdzOiBzdHJpbmcsXG4pIHtcbiAgaWYgKGNvb2tpZVNldHRpbmdzLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihcImRvbWFpblwiKSA9PT0gLTEpIHtcbiAgICAvLyBBZGQgbGVhZGluZyBkb3QgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBBbXBsaWZ5IChvciBqcy1jb29raWUgcmVhbGx5KS5cbiAgICByZXR1cm4gYCR7Y29va2llU2V0dGluZ3N9OyBEb21haW49LiR7ZGlzdHJpYnV0aW9uRG9tYWluTmFtZX1gXG4gIH1cbiAgcmV0dXJuIGNvb2tpZVNldHRpbmdzXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0QW5kUGFyc2VDb29raWVzKFxuICBoZWFkZXJzOiBDbG91ZEZyb250SGVhZGVycyxcbiAgY2xpZW50SWQ6IHN0cmluZyxcbik6IHtcbiAgdG9rZW5Vc2VyTmFtZT86IHN0cmluZ1xuICBpZFRva2VuPzogc3RyaW5nXG4gIGFjY2Vzc1Rva2VuPzogc3RyaW5nXG4gIHJlZnJlc2hUb2tlbj86IHN0cmluZ1xuICBzY29wZXM/OiBzdHJpbmdcbiAgbm9uY2U/OiBzdHJpbmdcbiAgbm9uY2VIbWFjPzogc3RyaW5nXG4gIHBrY2U/OiBzdHJpbmdcbn0ge1xuICBjb25zdCBjb29raWVzID0gZXh0cmFjdENvb2tpZXNGcm9tSGVhZGVycyhoZWFkZXJzKVxuICBpZiAoIWNvb2tpZXMpIHtcbiAgICByZXR1cm4ge31cbiAgfVxuXG4gIGNvbnN0IGtleVByZWZpeCA9IGBDb2duaXRvSWRlbnRpdHlTZXJ2aWNlUHJvdmlkZXIuJHtjbGllbnRJZH1gXG4gIGNvbnN0IHRva2VuVXNlck5hbWUgPSBjb29raWVzW2Ake2tleVByZWZpeH0uTGFzdEF1dGhVc2VyYF1cblxuICByZXR1cm4ge1xuICAgIHRva2VuVXNlck5hbWUsXG4gICAgaWRUb2tlbjogY29va2llc1tgJHtrZXlQcmVmaXh9LiR7dG9rZW5Vc2VyTmFtZSA/PyBcIlwifS5pZFRva2VuYF0sXG4gICAgYWNjZXNzVG9rZW46IGNvb2tpZXNbYCR7a2V5UHJlZml4fS4ke3Rva2VuVXNlck5hbWUgPz8gXCJcIn0uYWNjZXNzVG9rZW5gXSxcbiAgICByZWZyZXNoVG9rZW46IGNvb2tpZXNbYCR7a2V5UHJlZml4fS4ke3Rva2VuVXNlck5hbWUgPz8gXCJcIn0ucmVmcmVzaFRva2VuYF0sXG4gICAgc2NvcGVzOiBjb29raWVzW2Ake2tleVByZWZpeH0uJHt0b2tlblVzZXJOYW1lID8/IFwiXCJ9LnRva2VuU2NvcGVzU3RyaW5nYF0sXG4gICAgbm9uY2U6IGNvb2tpZXNbXCJzcGEtYXV0aC1lZGdlLW5vbmNlXCJdLFxuICAgIG5vbmNlSG1hYzogY29va2llc1tcInNwYS1hdXRoLWVkZ2Utbm9uY2UtaG1hY1wiXSxcbiAgICBwa2NlOiBjb29raWVzW1wic3BhLWF1dGgtZWRnZS1wa2NlXCJdLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUNvb2tpZXMocGFyYW06IHtcbiAgZXZlbnQ6IFwibmV3VG9rZW5zXCIgfCBcInNpZ25PdXRcIiB8IFwicmVmcmVzaEZhaWxlZFwiXG4gIGNsaWVudElkOiBzdHJpbmdcbiAgb2F1dGhTY29wZXM6IHN0cmluZ1tdXG4gIGRvbWFpbk5hbWU6IHN0cmluZ1xuICBjb29raWVTZXR0aW5nczogQ29va2llU2V0dGluZ3NcbiAgdG9rZW5zOiB7XG4gICAgaWRUb2tlbjogc3RyaW5nXG4gICAgYWNjZXNzVG9rZW46IHN0cmluZ1xuICAgIHJlZnJlc2hUb2tlbjogc3RyaW5nXG4gIH1cbn0pOiBzdHJpbmdbXSB7XG4gIC8vIFNldCBjb29raWVzIHdpdGggdGhlIGV4YWN0IG5hbWVzIGFuZCB2YWx1ZXMgQW1wbGlmeSB1c2VzXG4gIC8vIGZvciBzZWFtbGVzcyBpbnRlcm9wZXJhYmlsaXR5IHdpdGggQW1wbGlmeS5cbiAgY29uc3QgZGVjb2RlZElkVG9rZW4gPSBkZWNvZGVJZFRva2VuKHBhcmFtLnRva2Vucy5pZFRva2VuKVxuICBjb25zdCB0b2tlblVzZXJOYW1lID0gZGVjb2RlZElkVG9rZW5bXCJjb2duaXRvOnVzZXJuYW1lXCJdXG4gIGNvbnN0IGtleVByZWZpeCA9IGBDb2duaXRvSWRlbnRpdHlTZXJ2aWNlUHJvdmlkZXIuJHtwYXJhbS5jbGllbnRJZH1gXG4gIGNvbnN0IGlkVG9rZW5LZXkgPSBgJHtrZXlQcmVmaXh9LiR7dG9rZW5Vc2VyTmFtZX0uaWRUb2tlbmBcbiAgY29uc3QgYWNjZXNzVG9rZW5LZXkgPSBgJHtrZXlQcmVmaXh9LiR7dG9rZW5Vc2VyTmFtZX0uYWNjZXNzVG9rZW5gXG4gIGNvbnN0IHJlZnJlc2hUb2tlbktleSA9IGAke2tleVByZWZpeH0uJHt0b2tlblVzZXJOYW1lfS5yZWZyZXNoVG9rZW5gXG4gIGNvbnN0IGxhc3RVc2VyS2V5ID0gYCR7a2V5UHJlZml4fS5MYXN0QXV0aFVzZXJgXG4gIGNvbnN0IHNjb3BlS2V5ID0gYCR7a2V5UHJlZml4fS4ke3Rva2VuVXNlck5hbWV9LnRva2VuU2NvcGVzU3RyaW5nYFxuICBjb25zdCBzY29wZXNTdHJpbmcgPSBwYXJhbS5vYXV0aFNjb3Blcy5qb2luKFwiIFwiKVxuICBjb25zdCB1c2VyRGF0YUtleSA9IGAke2tleVByZWZpeH0uJHt0b2tlblVzZXJOYW1lfS51c2VyRGF0YWBcbiAgY29uc3QgdXNlckRhdGEgPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgVXNlckF0dHJpYnV0ZXM6IFtcbiAgICAgIHtcbiAgICAgICAgTmFtZTogXCJzdWJcIixcbiAgICAgICAgVmFsdWU6IGRlY29kZWRJZFRva2VuW1wic3ViXCJdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgTmFtZTogXCJlbWFpbFwiLFxuICAgICAgICBWYWx1ZTogZGVjb2RlZElkVG9rZW5bXCJlbWFpbFwiXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBVc2VybmFtZTogdG9rZW5Vc2VyTmFtZSxcbiAgfSlcblxuICAvLyBDb25zdHJ1Y3Qgb2JqZWN0IHdpdGggdGhlIGNvb2tpZXNcbiAgY29uc3QgY29va2llcyA9IHtcbiAgICBbaWRUb2tlbktleV06IGAke3BhcmFtLnRva2Vucy5pZFRva2VufTsgJHt3aXRoQ29va2llRG9tYWluKFxuICAgICAgcGFyYW0uZG9tYWluTmFtZSxcbiAgICAgIHBhcmFtLmNvb2tpZVNldHRpbmdzLmlkVG9rZW4sXG4gICAgKX1gLFxuICAgIFthY2Nlc3NUb2tlbktleV06IGAke3BhcmFtLnRva2Vucy5hY2Nlc3NUb2tlbn07ICR7d2l0aENvb2tpZURvbWFpbihcbiAgICAgIHBhcmFtLmRvbWFpbk5hbWUsXG4gICAgICBwYXJhbS5jb29raWVTZXR0aW5ncy5hY2Nlc3NUb2tlbixcbiAgICApfWAsXG4gICAgW3JlZnJlc2hUb2tlbktleV06IGAke3BhcmFtLnRva2Vucy5yZWZyZXNoVG9rZW59OyAke3dpdGhDb29raWVEb21haW4oXG4gICAgICBwYXJhbS5kb21haW5OYW1lLFxuICAgICAgcGFyYW0uY29va2llU2V0dGluZ3MucmVmcmVzaFRva2VuLFxuICAgICl9YCxcbiAgICBbbGFzdFVzZXJLZXldOiBgJHt0b2tlblVzZXJOYW1lfTsgJHt3aXRoQ29va2llRG9tYWluKFxuICAgICAgcGFyYW0uZG9tYWluTmFtZSxcbiAgICAgIHBhcmFtLmNvb2tpZVNldHRpbmdzLmlkVG9rZW4sXG4gICAgKX1gLFxuICAgIFtzY29wZUtleV06IGAke3Njb3Blc1N0cmluZ307ICR7d2l0aENvb2tpZURvbWFpbihcbiAgICAgIHBhcmFtLmRvbWFpbk5hbWUsXG4gICAgICBwYXJhbS5jb29raWVTZXR0aW5ncy5hY2Nlc3NUb2tlbixcbiAgICApfWAsXG4gICAgW3VzZXJEYXRhS2V5XTogYCR7ZW5jb2RlVVJJQ29tcG9uZW50KHVzZXJEYXRhKX07ICR7d2l0aENvb2tpZURvbWFpbihcbiAgICAgIHBhcmFtLmRvbWFpbk5hbWUsXG4gICAgICBwYXJhbS5jb29raWVTZXR0aW5ncy5pZFRva2VuLFxuICAgICl9YCxcbiAgICBcImFtcGxpZnktc2lnbmluLXdpdGgtaG9zdGVkVUlcIjogYHRydWU7ICR7d2l0aENvb2tpZURvbWFpbihcbiAgICAgIHBhcmFtLmRvbWFpbk5hbWUsXG4gICAgICBwYXJhbS5jb29raWVTZXR0aW5ncy5hY2Nlc3NUb2tlbixcbiAgICApfWAsXG4gIH1cblxuICBpZiAocGFyYW0uZXZlbnQgPT09IFwic2lnbk91dFwiKSB7XG4gICAgLy8gRXhwaXJlIGFsbCBjb29raWVzXG4gICAgT2JqZWN0LmtleXMoY29va2llcykuZm9yRWFjaChcbiAgICAgIChrZXkpID0+IChjb29raWVzW2tleV0gPSBleHBpcmVDb29raWUoY29va2llc1trZXldKSksXG4gICAgKVxuICB9IGVsc2UgaWYgKHBhcmFtLmV2ZW50ID09PSBcInJlZnJlc2hGYWlsZWRcIikge1xuICAgIC8vIEV4cGlyZSByZWZyZXNoIHRva2VuIChzbyB0aGUgYnJvd3NlciB3aWxsIG5vdCBzZW5kIGl0IGluIHZhaW4gYWdhaW4pXG4gICAgY29va2llc1tyZWZyZXNoVG9rZW5LZXldID0gZXhwaXJlQ29va2llKGNvb2tpZXNbcmVmcmVzaFRva2VuS2V5XSlcbiAgfVxuXG4gIC8vIE5vbmNlLCBub25jZUhtYWMgYW5kIHBrY2UgYXJlIG9ubHkgdXNlZCBkdXJpbmcgbG9naW4gcGhhc2UuXG4gIDtbXG4gICAgXCJzcGEtYXV0aC1lZGdlLW5vbmNlXCIsXG4gICAgXCJzcGEtYXV0aC1lZGdlLW5vbmNlLWhtYWNcIixcbiAgICBcInNwYS1hdXRoLWVkZ2UtcGtjZVwiLFxuICBdLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGNvb2tpZXNba2V5XSA9IGV4cGlyZUNvb2tpZShjb29raWVzW2tleV0pXG4gIH0pXG5cbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGNvb2tpZXMpLm1hcCgoW2ssIHZdKSA9PiBgJHtrfT0ke3Z9YClcbn1cblxuZnVuY3Rpb24gZXhwaXJlQ29va2llKGNvb2tpZSA9IFwiXCIpIHtcbiAgY29uc3QgY29va2llUGFydHMgPSBjb29raWVcbiAgICAuc3BsaXQoXCI7XCIpXG4gICAgLm1hcCgocGFydCkgPT4gcGFydC50cmltKCkpXG4gICAgLmZpbHRlcigocGFydCkgPT4gIXBhcnQudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKFwibWF4LWFnZVwiKSlcbiAgICAuZmlsdGVyKChwYXJ0KSA9PiAhcGFydC50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoXCJleHBpcmVzXCIpKVxuICBjb25zdCBleHBpcmVzID0gYEV4cGlyZXM9JHtuZXcgRGF0ZSgwKS50b1VUQ1N0cmluZygpfWBcbiAgLy8gRmlyc3QgcGFydCBpcyB0aGUgY29va2llIHZhbHVlLCB3aGljaCB3ZSdsbCBjbGVhci5cbiAgcmV0dXJuIFtcIlwiLCAuLi5jb29raWVQYXJ0cy5zbGljZSgxKSwgZXhwaXJlc10uam9pbihcIjsgXCIpXG59XG4iXX0=
|
package/lib/handlers/util/jwt.js
CHANGED
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.validate = validate;
|
|
7
|
-
exports.decodeIdToken = decodeIdToken;
|
|
8
|
-
const jsonwebtoken_1 = require("jsonwebtoken");
|
|
9
|
-
const jwks_rsa_1 = __importDefault(require("jwks-rsa"));
|
|
1
|
+
import jwt from "jsonwebtoken";
|
|
2
|
+
import jwksClient from "jwks-rsa";
|
|
10
3
|
// jwks client is cached at this scope so it can be reused
|
|
11
4
|
// across Lambda invocations.
|
|
12
5
|
let jwksRsa;
|
|
@@ -19,13 +12,13 @@ function isRsaSigningKey(key) {
|
|
|
19
12
|
*/
|
|
20
13
|
async function getSigningKey(jwksUri, kid) {
|
|
21
14
|
if (!jwksRsa) {
|
|
22
|
-
jwksRsa = (
|
|
15
|
+
jwksRsa = jwksClient({ cache: true, rateLimit: true, jwksUri });
|
|
23
16
|
}
|
|
24
17
|
const jwk = await jwksRsa.getSigningKey(kid);
|
|
25
18
|
return isRsaSigningKey(jwk) ? jwk.rsaPublicKey : jwk.publicKey;
|
|
26
19
|
}
|
|
27
|
-
async function validate(jwtToken, jwksUri, issuer, audience) {
|
|
28
|
-
const decodedToken =
|
|
20
|
+
export async function validate(jwtToken, jwksUri, issuer, audience) {
|
|
21
|
+
const decodedToken = jwt.decode(jwtToken, { complete: true });
|
|
29
22
|
if (!decodedToken || typeof decodedToken === "string") {
|
|
30
23
|
return {
|
|
31
24
|
validationError: new Error("Cannot parse JWT token"),
|
|
@@ -46,13 +39,13 @@ async function validate(jwtToken, jwksUri, issuer, audience) {
|
|
|
46
39
|
issuer,
|
|
47
40
|
ignoreExpiration: false,
|
|
48
41
|
};
|
|
49
|
-
return new Promise((resolve) =>
|
|
42
|
+
return new Promise((resolve) => jwt.verify(jwtToken, jwk, verificationOptions, (err) => err ? resolve({ validationError: err }) : resolve(undefined)));
|
|
50
43
|
}
|
|
51
44
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
52
|
-
function decodeIdToken(jwt) {
|
|
45
|
+
export function decodeIdToken(jwt) {
|
|
53
46
|
const tokenBody = jwt.split(".")[1];
|
|
54
47
|
const decodableTokenBody = tokenBody.replace(/-/g, "+").replace(/_/g, "/");
|
|
55
48
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
56
49
|
return JSON.parse(Buffer.from(decodableTokenBody, "base64").toString());
|
|
57
50
|
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hhbmRsZXJzL3V0aWwvand0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sR0FBRyxNQUFNLGNBQWMsQ0FBQTtBQUM5QixPQUFPLFVBQXlDLE1BQU0sVUFBVSxDQUFBO0FBZ0JoRSwwREFBMEQ7QUFDMUQsNkJBQTZCO0FBQzdCLElBQUksT0FBOEIsQ0FBQTtBQUVsQyxTQUFTLGVBQWUsQ0FBQyxHQUFlO0lBQ3RDLE9BQU8sY0FBYyxJQUFJLEdBQUcsQ0FBQTtBQUM5QixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsS0FBSyxVQUFVLGFBQWEsQ0FDMUIsT0FBZSxFQUNmLEdBQVc7SUFFWCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixPQUFPLEdBQUcsVUFBVSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDakUsQ0FBQztJQUNELE1BQU0sR0FBRyxHQUFHLE1BQU0sT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM1QyxPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQTtBQUNoRSxDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxRQUFRLENBQzVCLFFBQWdCLEVBQ2hCLE9BQWUsRUFDZixNQUFjLEVBQ2QsUUFBZ0I7SUFFaEIsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUM3RCxJQUFJLENBQUMsWUFBWSxJQUFJLE9BQU8sWUFBWSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3RELE9BQU87WUFDTCxlQUFlLEVBQUUsSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUM7U0FDckQsQ0FBQTtJQUNILENBQUM7SUFFRCwrREFBK0Q7SUFDL0QsOEJBQThCO0lBQzlCLHNFQUFzRTtJQUN0RSxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDekMsTUFBTSxHQUFHLEdBQUcsTUFBTSxhQUFhLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQzdDLElBQUksR0FBRyxZQUFZLEtBQUssRUFBRSxDQUFDO1FBQ3pCLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUE7SUFDakMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixnRUFBZ0U7SUFDaEUsTUFBTSxtQkFBbUIsR0FBRztRQUMxQixRQUFRO1FBQ1IsTUFBTTtRQUNOLGdCQUFnQixFQUFFLEtBQUs7S0FDeEIsQ0FBQTtJQUVELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUM3QixHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNyRCxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQzdELENBQ0YsQ0FBQTtBQUNILENBQUM7QUFFRCw4REFBOEQ7QUFDOUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxHQUFXO0lBQ3ZDLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDbkMsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQzFFLCtEQUErRDtJQUMvRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO0FBQ3pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgand0IGZyb20gXCJqc29ud2VidG9rZW5cIlxuaW1wb3J0IGp3a3NDbGllbnQsIHsgUnNhU2lnbmluZ0tleSwgU2lnbmluZ0tleSB9IGZyb20gXCJqd2tzLXJzYVwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRUb2tlblBheWxvYWQge1xuICBzdWI6IHN0cmluZ1xuICBcImNvZ25pdG86Z3JvdXBzXCI/OiBzdHJpbmdbXVxuICBcImNvZ25pdG86dXNlcm5hbWVcIj86IHN0cmluZ1xuICBnaXZlbl9uYW1lPzogc3RyaW5nXG4gIGF1ZDogc3RyaW5nXG4gIHRva2VuX3VzZTogXCJpZFwiXG4gIGF1dGhfdGltZTogbnVtYmVyXG4gIG5hbWU/OiBzdHJpbmdcbiAgZXhwOiBudW1iZXJcbiAgaWF0OiBudW1iZXJcbiAgZW1haWw/OiBzdHJpbmdcbn1cblxuLy8gandrcyBjbGllbnQgaXMgY2FjaGVkIGF0IHRoaXMgc2NvcGUgc28gaXQgY2FuIGJlIHJldXNlZFxuLy8gYWNyb3NzIExhbWJkYSBpbnZvY2F0aW9ucy5cbmxldCBqd2tzUnNhOiBqd2tzQ2xpZW50Lkp3a3NDbGllbnRcblxuZnVuY3Rpb24gaXNSc2FTaWduaW5nS2V5KGtleTogU2lnbmluZ0tleSk6IGtleSBpcyBSc2FTaWduaW5nS2V5IHtcbiAgcmV0dXJuIFwicnNhUHVibGljS2V5XCIgaW4ga2V5XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBwdWJsaWMga2V5IHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIHByaXZhdGUga2V5IHdpdGhcbiAqIHdoaWNoIHRoZSB0b2tlbiB3YXMgc2lnbmVkLlxuICovXG5hc3luYyBmdW5jdGlvbiBnZXRTaWduaW5nS2V5KFxuICBqd2tzVXJpOiBzdHJpbmcsXG4gIGtpZDogc3RyaW5nLFxuKTogUHJvbWlzZTxzdHJpbmcgfCBFcnJvcj4ge1xuICBpZiAoIWp3a3NSc2EpIHtcbiAgICBqd2tzUnNhID0gandrc0NsaWVudCh7IGNhY2hlOiB0cnVlLCByYXRlTGltaXQ6IHRydWUsIGp3a3NVcmkgfSlcbiAgfVxuICBjb25zdCBqd2sgPSBhd2FpdCBqd2tzUnNhLmdldFNpZ25pbmdLZXkoa2lkKVxuICByZXR1cm4gaXNSc2FTaWduaW5nS2V5KGp3aykgPyBqd2sucnNhUHVibGljS2V5IDogandrLnB1YmxpY0tleVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdmFsaWRhdGUoXG4gIGp3dFRva2VuOiBzdHJpbmcsXG4gIGp3a3NVcmk6IHN0cmluZyxcbiAgaXNzdWVyOiBzdHJpbmcsXG4gIGF1ZGllbmNlOiBzdHJpbmcsXG4pOiBQcm9taXNlPHsgdmFsaWRhdGlvbkVycm9yOiBFcnJvciB9IHwgdW5kZWZpbmVkPiB7XG4gIGNvbnN0IGRlY29kZWRUb2tlbiA9IGp3dC5kZWNvZGUoand0VG9rZW4sIHsgY29tcGxldGU6IHRydWUgfSlcbiAgaWYgKCFkZWNvZGVkVG9rZW4gfHwgdHlwZW9mIGRlY29kZWRUb2tlbiA9PT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiB7XG4gICAgICB2YWxpZGF0aW9uRXJyb3I6IG5ldyBFcnJvcihcIkNhbm5vdCBwYXJzZSBKV1QgdG9rZW5cIiksXG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIEpXVCBjb250YWlucyBhIFwia2lkXCIgY2xhaW0sIGtleSBpZCwgdGhhdCB0ZWxscyB3aGljaCBrZXlcbiAgLy8gd2FzIHVzZWQgdG8gc2lnbiB0aGUgdG9rZW4uXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3NcbiAgY29uc3Qga2lkID0gZGVjb2RlZFRva2VuW1wiaGVhZGVyXCJdW1wia2lkXCJdXG4gIGNvbnN0IGp3ayA9IGF3YWl0IGdldFNpZ25pbmdLZXkoandrc1VyaSwga2lkKVxuICBpZiAoandrIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICByZXR1cm4geyB2YWxpZGF0aW9uRXJyb3I6IGp3ayB9XG4gIH1cblxuICAvLyBWZXJpZnkgdGhlIEpXVC5cbiAgLy8gVGhpcyBlaXRoZXIgcmVqZWN0cyAoSldUIG5vdCB2YWxpZCksIG9yIHJlc29sdmVzIChKV1QgdmFsaWQpLlxuICBjb25zdCB2ZXJpZmljYXRpb25PcHRpb25zID0ge1xuICAgIGF1ZGllbmNlLFxuICAgIGlzc3VlcixcbiAgICBpZ25vcmVFeHBpcmF0aW9uOiBmYWxzZSxcbiAgfVxuXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT5cbiAgICBqd3QudmVyaWZ5KGp3dFRva2VuLCBqd2ssIHZlcmlmaWNhdGlvbk9wdGlvbnMsIChlcnIpID0+XG4gICAgICBlcnIgPyByZXNvbHZlKHsgdmFsaWRhdGlvbkVycm9yOiBlcnIgfSkgOiByZXNvbHZlKHVuZGVmaW5lZCksXG4gICAgKSxcbiAgKVxufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUlkVG9rZW4oand0OiBzdHJpbmcpOiBJZFRva2VuUGF5bG9hZCB7XG4gIGNvbnN0IHRva2VuQm9keSA9IGp3dC5zcGxpdChcIi5cIilbMV1cbiAgY29uc3QgZGVjb2RhYmxlVG9rZW5Cb2R5ID0gdG9rZW5Cb2R5LnJlcGxhY2UoLy0vZywgXCIrXCIpLnJlcGxhY2UoL18vZywgXCIvXCIpXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXJldHVyblxuICByZXR1cm4gSlNPTi5wYXJzZShCdWZmZXIuZnJvbShkZWNvZGFibGVUb2tlbkJvZHksIFwiYmFzZTY0XCIpLnRvU3RyaW5nKCkpXG59XG4iXX0=
|
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
3
2
|
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
4
3
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5
4
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
|
6
|
-
|
|
7
|
-
exports.Logger = exports.LogLevel = void 0;
|
|
8
|
-
var LogLevel;
|
|
5
|
+
export var LogLevel;
|
|
9
6
|
(function (LogLevel) {
|
|
10
7
|
LogLevel[LogLevel["none"] = 0] = "none";
|
|
11
8
|
LogLevel[LogLevel["error"] = 10] = "error";
|
|
12
9
|
LogLevel[LogLevel["warn"] = 20] = "warn";
|
|
13
10
|
LogLevel[LogLevel["info"] = 30] = "info";
|
|
14
11
|
LogLevel[LogLevel["debug"] = 40] = "debug";
|
|
15
|
-
})(LogLevel || (
|
|
16
|
-
class Logger {
|
|
12
|
+
})(LogLevel || (LogLevel = {}));
|
|
13
|
+
export class Logger {
|
|
14
|
+
logLevel;
|
|
17
15
|
constructor(logLevel) {
|
|
18
16
|
this.logLevel = logLevel;
|
|
19
17
|
}
|
|
@@ -23,7 +21,7 @@ class Logger {
|
|
|
23
21
|
try {
|
|
24
22
|
return JSON.stringify(arg);
|
|
25
23
|
}
|
|
26
|
-
catch
|
|
24
|
+
catch {
|
|
27
25
|
return arg;
|
|
28
26
|
}
|
|
29
27
|
}
|
|
@@ -51,5 +49,4 @@ class Logger {
|
|
|
51
49
|
}
|
|
52
50
|
}
|
|
53
51
|
}
|
|
54
|
-
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hhbmRsZXJzL3V0aWwvbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwREFBMEQ7QUFDMUQsd0RBQXdEO0FBQ3hELHVEQUF1RDtBQUN2RCxzRUFBc0U7OztBQUV0RSxJQUFZLFFBTVg7QUFORCxXQUFZLFFBQVE7SUFDbEIsdUNBQVUsQ0FBQTtJQUNWLDBDQUFZLENBQUE7SUFDWix3Q0FBVyxDQUFBO0lBQ1gsd0NBQVcsQ0FBQTtJQUNYLDBDQUFZLENBQUE7QUFDZCxDQUFDLEVBTlcsUUFBUSx3QkFBUixRQUFRLFFBTW5CO0FBRUQsTUFBYSxNQUFNO0lBQ2pCLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRWxDLE9BQU8sQ0FBQyxJQUFXO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBTyxFQUFFO1lBQ2hDLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQztvQkFDSCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQzVCLENBQUM7Z0JBQUMsV0FBTSxDQUFDO29CQUNQLE9BQU8sR0FBRyxDQUFBO2dCQUNaLENBQUM7WUFDSCxDQUFDO1lBQ0QsT0FBTyxHQUFHLENBQUE7UUFDWixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDTSxJQUFJLENBQUMsR0FBRyxJQUFTO1FBQ3RCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUNNLElBQUksQ0FBQyxHQUFHLElBQVM7UUFDdEIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ3JDLENBQUM7SUFDSCxDQUFDO0lBQ00sS0FBSyxDQUFDLEdBQUcsSUFBUztRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFDTSxLQUFLLENBQUMsR0FBRyxJQUFTO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUN0QyxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBbkNELHdCQW1DQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXJndW1lbnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtcmV0dXJuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbW9kdWxlLWJvdW5kYXJ5LXR5cGVzICovXG5cbmV4cG9ydCBlbnVtIExvZ0xldmVsIHtcbiAgXCJub25lXCIgPSAwLFxuICBcImVycm9yXCIgPSAxMCxcbiAgXCJ3YXJuXCIgPSAyMCxcbiAgXCJpbmZvXCIgPSAzMCxcbiAgXCJkZWJ1Z1wiID0gNDAsXG59XG5cbmV4cG9ydCBjbGFzcyBMb2dnZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvZ0xldmVsOiBMb2dMZXZlbCkge31cblxuICBwcml2YXRlIGpzb25pZnkoYXJnczogYW55W10pIHtcbiAgICByZXR1cm4gYXJncy5tYXAoKGFyZzogYW55KTogYW55ID0+IHtcbiAgICAgIGlmICh0eXBlb2YgYXJnID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGFyZylcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgcmV0dXJuIGFyZ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gYXJnXG4gICAgfSlcbiAgfVxuICBwdWJsaWMgaW5mbyguLi5hcmdzOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb2dMZXZlbCA+PSBMb2dMZXZlbC5pbmZvKSB7XG4gICAgICBjb25zb2xlLmxvZyguLi50aGlzLmpzb25pZnkoYXJncykpXG4gICAgfVxuICB9XG4gIHB1YmxpYyB3YXJuKC4uLmFyZ3M6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxvZ0xldmVsID49IExvZ0xldmVsLndhcm4pIHtcbiAgICAgIGNvbnNvbGUud2FybiguLi50aGlzLmpzb25pZnkoYXJncykpXG4gICAgfVxuICB9XG4gIHB1YmxpYyBlcnJvciguLi5hcmdzOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb2dMZXZlbCA+PSBMb2dMZXZlbC5lcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvciguLi50aGlzLmpzb25pZnkoYXJncykpXG4gICAgfVxuICB9XG4gIHB1YmxpYyBkZWJ1ZyguLi5hcmdzOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb2dMZXZlbCA+PSBMb2dMZXZlbC5kZWJ1Zykge1xuICAgICAgY29uc29sZS50cmFjZSguLi50aGlzLmpzb25pZnkoYXJncykpXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hhbmRsZXJzL3V0aWwvbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBEQUEwRDtBQUMxRCx3REFBd0Q7QUFDeEQsdURBQXVEO0FBQ3ZELHNFQUFzRTtBQUV0RSxNQUFNLENBQU4sSUFBWSxRQU1YO0FBTkQsV0FBWSxRQUFRO0lBQ2xCLHVDQUFVLENBQUE7SUFDViwwQ0FBWSxDQUFBO0lBQ1osd0NBQVcsQ0FBQTtJQUNYLHdDQUFXLENBQUE7SUFDWCwwQ0FBWSxDQUFBO0FBQ2QsQ0FBQyxFQU5XLFFBQVEsS0FBUixRQUFRLFFBTW5CO0FBRUQsTUFBTSxPQUFPLE1BQU07SUFDRztJQUFwQixZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQUcsQ0FBQztJQUVsQyxPQUFPLENBQUMsSUFBVztRQUN6QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQU8sRUFBRTtZQUNoQyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUM7b0JBQ0gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUM1QixDQUFDO2dCQUFDLE1BQU0sQ0FBQztvQkFDUCxPQUFPLEdBQUcsQ0FBQTtnQkFDWixDQUFDO1lBQ0gsQ0FBQztZQUNELE9BQU8sR0FBRyxDQUFBO1FBQ1osQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQ00sSUFBSSxDQUFDLEdBQUcsSUFBUztRQUN0QixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ25DLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFDTSxJQUFJLENBQUMsR0FBRyxJQUFTO1FBQ3RCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUNNLEtBQUssQ0FBQyxHQUFHLElBQVM7UUFDdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNwQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ3RDLENBQUM7SUFDSCxDQUFDO0lBQ00sS0FBSyxDQUFDLEdBQUcsSUFBUztRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDdEMsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXJndW1lbnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtcmV0dXJuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbW9kdWxlLWJvdW5kYXJ5LXR5cGVzICovXG5cbmV4cG9ydCBlbnVtIExvZ0xldmVsIHtcbiAgXCJub25lXCIgPSAwLFxuICBcImVycm9yXCIgPSAxMCxcbiAgXCJ3YXJuXCIgPSAyMCxcbiAgXCJpbmZvXCIgPSAzMCxcbiAgXCJkZWJ1Z1wiID0gNDAsXG59XG5cbmV4cG9ydCBjbGFzcyBMb2dnZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvZ0xldmVsOiBMb2dMZXZlbCkge31cblxuICBwcml2YXRlIGpzb25pZnkoYXJnczogYW55W10pIHtcbiAgICByZXR1cm4gYXJncy5tYXAoKGFyZzogYW55KTogYW55ID0+IHtcbiAgICAgIGlmICh0eXBlb2YgYXJnID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGFyZylcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgcmV0dXJuIGFyZ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gYXJnXG4gICAgfSlcbiAgfVxuICBwdWJsaWMgaW5mbyguLi5hcmdzOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb2dMZXZlbCA+PSBMb2dMZXZlbC5pbmZvKSB7XG4gICAgICBjb25zb2xlLmxvZyguLi50aGlzLmpzb25pZnkoYXJncykpXG4gICAgfVxuICB9XG4gIHB1YmxpYyB3YXJuKC4uLmFyZ3M6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxvZ0xldmVsID49IExvZ0xldmVsLndhcm4pIHtcbiAgICAgIGNvbnNvbGUud2FybiguLi50aGlzLmpzb25pZnkoYXJncykpXG4gICAgfVxuICB9XG4gIHB1YmxpYyBlcnJvciguLi5hcmdzOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb2dMZXZlbCA+PSBMb2dMZXZlbC5lcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvciguLi50aGlzLmpzb25pZnkoYXJncykpXG4gICAgfVxuICB9XG4gIHB1YmxpYyBkZWJ1ZyguLi5hcmdzOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb2dMZXZlbCA+PSBMb2dMZXZlbC5kZWJ1Zykge1xuICAgICAgY29uc29sZS50cmFjZSguLi50aGlzLmpzb25pZnkoYXJncykpXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.checkNonceAge = checkNonceAge;
|
|
4
|
-
exports.validateNonce = validateNonce;
|
|
5
|
-
exports.generateNonce = generateNonce;
|
|
6
|
-
exports.createNonceHmac = createNonceHmac;
|
|
7
|
-
const crypto_1 = require("crypto");
|
|
8
|
-
function checkNonceAge(nonce, maxAge) {
|
|
1
|
+
import { createHmac, randomBytes } from "crypto";
|
|
2
|
+
export function checkNonceAge(nonce, maxAge) {
|
|
9
3
|
// Nonce should not be too old.
|
|
10
4
|
const timestamp = parseInt(nonce.slice(0, nonce.indexOf("T")));
|
|
11
5
|
if (isNaN(timestamp)) {
|
|
@@ -19,7 +13,7 @@ function checkNonceAge(nonce, maxAge) {
|
|
|
19
13
|
};
|
|
20
14
|
}
|
|
21
15
|
}
|
|
22
|
-
function validateNonce(nonce, providedHmac, config) {
|
|
16
|
+
export function validateNonce(nonce, providedHmac, config) {
|
|
23
17
|
const res1 = checkNonceAge(nonce, config.nonceMaxAge);
|
|
24
18
|
if (res1) {
|
|
25
19
|
return res1;
|
|
@@ -31,16 +25,16 @@ function validateNonce(nonce, providedHmac, config) {
|
|
|
31
25
|
};
|
|
32
26
|
}
|
|
33
27
|
}
|
|
34
|
-
function generateNonce() {
|
|
35
|
-
const randomString =
|
|
28
|
+
export function generateNonce() {
|
|
29
|
+
const randomString = randomBytes(16).toString("hex");
|
|
36
30
|
return `${timestampInSeconds()}T${randomString}`;
|
|
37
31
|
}
|
|
38
|
-
function createNonceHmac(nonce, config) {
|
|
39
|
-
return
|
|
32
|
+
export function createNonceHmac(nonce, config) {
|
|
33
|
+
return createHmac("sha256", config.nonceSigningSecret)
|
|
40
34
|
.update(nonce)
|
|
41
35
|
.digest("hex");
|
|
42
36
|
}
|
|
43
37
|
function timestampInSeconds() {
|
|
44
38
|
return (Date.now() / 1000) | 0;
|
|
45
39
|
}
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9uY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaGFuZGxlcnMvdXRpbC9ub25jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUdoRCxNQUFNLFVBQVUsYUFBYSxDQUMzQixLQUFhLEVBQ2IsTUFBYztJQUVkLCtCQUErQjtJQUMvQixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDOUQsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUNyQixPQUFPO1lBQ0wsV0FBVyxFQUFFLGVBQWU7U0FDN0IsQ0FBQTtJQUNILENBQUM7SUFFRCxJQUFJLGtCQUFrQixFQUFFLEdBQUcsU0FBUyxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQzlDLE9BQU87WUFDTCxXQUFXLEVBQUUsbUNBQW1DLElBQUksSUFBSSxDQUN0RCxTQUFTLEdBQUcsSUFBSSxDQUNqQixDQUFDLFdBQVcsRUFBRSxHQUFHO1NBQ25CLENBQUE7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQzNCLEtBQWEsRUFDYixZQUFvQixFQUNwQixNQUFjO0lBRWQsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDckQsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNULE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDckQsSUFBSSxjQUFjLEtBQUssWUFBWSxFQUFFLENBQUM7UUFDcEMsT0FBTztZQUNMLFdBQVcsRUFBRSxzQ0FBc0MsY0FBYyxZQUFZLFlBQVksRUFBRTtTQUM1RixDQUFBO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYTtJQUMzQixNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3BELE9BQU8sR0FBRyxrQkFBa0IsRUFBRSxJQUFJLFlBQVksRUFBRSxDQUFBO0FBQ2xELENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLEtBQWEsRUFBRSxNQUFjO0lBQzNELE9BQU8sVUFBVSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsa0JBQWtCLENBQUM7U0FDbkQsTUFBTSxDQUFDLEtBQUssQ0FBQztTQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUNsQixDQUFDO0FBRUQsU0FBUyxrQkFBa0I7SUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUhtYWMsIHJhbmRvbUJ5dGVzIH0gZnJvbSBcImNyeXB0b1wiXG5pbXBvcnQgeyBDb25maWcgfSBmcm9tIFwiLi9jb25maWdcIlxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tOb25jZUFnZShcbiAgbm9uY2U6IHN0cmluZyxcbiAgbWF4QWdlOiBudW1iZXIsXG4pOiB7IGNsaWVudEVycm9yOiBzdHJpbmcgfSB8IHVuZGVmaW5lZCB7XG4gIC8vIE5vbmNlIHNob3VsZCBub3QgYmUgdG9vIG9sZC5cbiAgY29uc3QgdGltZXN0YW1wID0gcGFyc2VJbnQobm9uY2Uuc2xpY2UoMCwgbm9uY2UuaW5kZXhPZihcIlRcIikpKVxuICBpZiAoaXNOYU4odGltZXN0YW1wKSkge1xuICAgIHJldHVybiB7XG4gICAgICBjbGllbnRFcnJvcjogXCJJbnZhbGlkIG5vbmNlXCIsXG4gICAgfVxuICB9XG5cbiAgaWYgKHRpbWVzdGFtcEluU2Vjb25kcygpIC0gdGltZXN0YW1wID4gbWF4QWdlKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNsaWVudEVycm9yOiBgTm9uY2UgaXMgdG9vIG9sZCAobm9uY2UgaXMgZnJvbSAke25ldyBEYXRlKFxuICAgICAgICB0aW1lc3RhbXAgKiAxMDAwLFxuICAgICAgKS50b0lTT1N0cmluZygpfSlgLFxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVOb25jZShcbiAgbm9uY2U6IHN0cmluZyxcbiAgcHJvdmlkZWRIbWFjOiBzdHJpbmcsXG4gIGNvbmZpZzogQ29uZmlnLFxuKTogeyBjbGllbnRFcnJvcjogc3RyaW5nIH0gfCB1bmRlZmluZWQge1xuICBjb25zdCByZXMxID0gY2hlY2tOb25jZUFnZShub25jZSwgY29uZmlnLm5vbmNlTWF4QWdlKVxuICBpZiAocmVzMSkge1xuICAgIHJldHVybiByZXMxXG4gIH1cblxuICBjb25zdCBjYWxjdWxhdGVkSG1hYyA9IGNyZWF0ZU5vbmNlSG1hYyhub25jZSwgY29uZmlnKVxuICBpZiAoY2FsY3VsYXRlZEhtYWMgIT09IHByb3ZpZGVkSG1hYykge1xuICAgIHJldHVybiB7XG4gICAgICBjbGllbnRFcnJvcjogYE5vbmNlIHNpZ25hdHVyZSBtaXNtYXRjaCEgRXhwZWN0ZWQgJHtjYWxjdWxhdGVkSG1hY30gYnV0IGdvdCAke3Byb3ZpZGVkSG1hY31gLFxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVOb25jZSgpOiBzdHJpbmcge1xuICBjb25zdCByYW5kb21TdHJpbmcgPSByYW5kb21CeXRlcygxNikudG9TdHJpbmcoXCJoZXhcIilcbiAgcmV0dXJuIGAke3RpbWVzdGFtcEluU2Vjb25kcygpfVQke3JhbmRvbVN0cmluZ31gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVOb25jZUhtYWMobm9uY2U6IHN0cmluZywgY29uZmlnOiBDb25maWcpOiBzdHJpbmcge1xuICByZXR1cm4gY3JlYXRlSG1hYyhcInNoYTI1NlwiLCBjb25maWcubm9uY2VTaWduaW5nU2VjcmV0KVxuICAgIC51cGRhdGUobm9uY2UpXG4gICAgLmRpZ2VzdChcImhleFwiKVxufVxuXG5mdW5jdGlvbiB0aW1lc3RhbXBJblNlY29uZHMoKSB7XG4gIHJldHVybiAoRGF0ZS5ub3coKSAvIDEwMDApIHwgMFxufVxuIl19
|
package/lib/index.js
CHANGED
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./cloudfront-auth"), exports);
|
|
18
|
-
__exportStar(require("./lambdas"), exports);
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUFpQztBQUNqQyw0Q0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jbG91ZGZyb250LWF1dGhcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGFtYmRhc1wiXG4iXX0=
|
|
1
|
+
export * from "./cloudfront-auth";
|
|
2
|
+
export * from "./lambdas";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQTtBQUNqQyxjQUFjLFdBQVcsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2Nsb3VkZnJvbnQtYXV0aFwiXG5leHBvcnQgKiBmcm9tIFwiLi9sYW1iZGFzXCJcbiJdfQ==
|