@simulacrum/auth0-simulator 0.8.0 → 0.8.1
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/CHANGELOG.md +5 -0
- package/dist/handlers/auth0-handlers.js +2 -2
- package/dist/handlers/auth0-handlers.js.map +1 -1
- package/dist/rules/rules-runner.d.ts.map +1 -1
- package/dist/rules/rules-runner.js +42 -28
- package/dist/rules/rules-runner.js.map +1 -1
- package/dist/rules/types.d.ts +4 -0
- package/dist/rules/types.d.ts.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## \[0.8.1]
|
|
4
|
+
|
|
5
|
+
- Async rules were not properly processing and would run as a race condition mutating the `user` and `context` objects. This would mean part of the rule might be applied. This adds some additional wrappers in the rule running to properly handle and `await` on async code.
|
|
6
|
+
- [013b5db](https://github.com/thefrontside/simulacrum/commit/013b5dbf12d1995efe1fb6fba90b55d3fe05f523) change file on 2022-11-03
|
|
7
|
+
|
|
3
8
|
## \[0.8.0]
|
|
4
9
|
|
|
5
10
|
- export `createAuth0Server` operation for running Auth0 server standalone.
|
|
@@ -90,7 +90,7 @@ const createAuth0Handlers = (store, people, serviceURL, options) => {
|
|
|
90
90
|
let routerUrl = `${redirect_uri}?${qs}`;
|
|
91
91
|
res.status(302).redirect(routerUrl);
|
|
92
92
|
},
|
|
93
|
-
['/oauth/token']: function (req, res) {
|
|
93
|
+
['/oauth/token']: async function (req, res) {
|
|
94
94
|
var _a, _b, _c, _d, _e, _f;
|
|
95
95
|
let { code, grant_type } = req.body;
|
|
96
96
|
let user;
|
|
@@ -146,7 +146,7 @@ const createAuth0Handlers = (store, people, serviceURL, options) => {
|
|
|
146
146
|
identities: (_f = req === null || req === void 0 ? void 0 : req.body) === null || _f === void 0 ? void 0 : _f.identities,
|
|
147
147
|
};
|
|
148
148
|
let context = { clientID, accessToken: { scope }, idToken: idTokenData };
|
|
149
|
-
rulesRunner(userData, context);
|
|
149
|
+
await rulesRunner(userData, context);
|
|
150
150
|
let idToken = (0, jwt_1.createJsonWebToken)({ ...userData, ...context.idToken });
|
|
151
151
|
let accessToken = {
|
|
152
152
|
aud: audience,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth0-handlers.js","sourceRoot":"","sources":["../../src/handlers/auth0-handlers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"auth0-handlers.js","sourceRoot":"","sources":["../../src/handlers/auth0-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules-runner.d.ts","sourceRoot":"","sources":["../../src/rules/rules-runner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"rules-runner.d.ts","sourceRoot":"","sources":["../../src/rules/rules-runner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAQ,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE3D,oBAAY,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;AAoDrF,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,CAyBjE"}
|
|
@@ -9,21 +9,9 @@ const vm_1 = __importDefault(require("vm"));
|
|
|
9
9
|
const fs_1 = __importDefault(require("fs"));
|
|
10
10
|
const assert_ts_1 = require("assert-ts");
|
|
11
11
|
const parse_rules_files_1 = require("./parse-rules-files");
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
if (typeof rulesPath === 'undefined') {
|
|
16
|
-
return callback;
|
|
17
|
-
}
|
|
18
|
-
let fullPath = path_1.default.join(process.cwd(), rulesPath);
|
|
19
|
-
(0, assert_ts_1.assert)(fs_1.default.existsSync(fullPath), `no rules directory at ${fullPath}`);
|
|
20
|
-
let rules = (0, parse_rules_files_1.parseRulesFiles)(rulesPath);
|
|
21
|
-
if (rules.length === 0) {
|
|
22
|
-
return callback;
|
|
23
|
-
}
|
|
24
|
-
return (user, context) => {
|
|
25
|
-
console.debug(`applying ${rules.length} rules`);
|
|
26
|
-
let vmContext = vm_1.default.createContext({
|
|
12
|
+
async function runRule(user, context, rule) {
|
|
13
|
+
await new Promise((resolve, reject) => {
|
|
14
|
+
let sandbox = {
|
|
27
15
|
process,
|
|
28
16
|
Buffer,
|
|
29
17
|
clearImmediate,
|
|
@@ -35,26 +23,52 @@ function createRulesRunner(rulesPath) {
|
|
|
35
23
|
console,
|
|
36
24
|
require,
|
|
37
25
|
module,
|
|
26
|
+
resolve,
|
|
27
|
+
reject,
|
|
38
28
|
__simulator: {
|
|
39
29
|
...{
|
|
40
30
|
user,
|
|
41
|
-
context: { ...context
|
|
42
|
-
callback,
|
|
31
|
+
context: { ...context },
|
|
43
32
|
},
|
|
44
33
|
},
|
|
34
|
+
};
|
|
35
|
+
let vmContext = vm_1.default.createContext(sandbox);
|
|
36
|
+
(0, assert_ts_1.assert)(typeof rule !== 'undefined', 'undefined rule');
|
|
37
|
+
let { code, filename } = rule;
|
|
38
|
+
console.debug(`executing rule ${path_1.default.basename(filename)}`);
|
|
39
|
+
let script = new vm_1.default.Script(`
|
|
40
|
+
(async function(exports) {
|
|
41
|
+
try {
|
|
42
|
+
await (${code})(__simulator.user, __simulator.context, resolve);
|
|
43
|
+
} catch (err) {
|
|
44
|
+
console.error(err);
|
|
45
|
+
reject();
|
|
46
|
+
}
|
|
47
|
+
})(module.exports)
|
|
48
|
+
`);
|
|
49
|
+
script.runInContext(vmContext, {
|
|
50
|
+
filename,
|
|
51
|
+
displayErrors: true,
|
|
52
|
+
timeout: 20000,
|
|
45
53
|
});
|
|
54
|
+
}).catch((error) => console.error(error));
|
|
55
|
+
}
|
|
56
|
+
function createRulesRunner(rulesPath) {
|
|
57
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
58
|
+
let callback = (_user, _context) => { };
|
|
59
|
+
if (typeof rulesPath === 'undefined') {
|
|
60
|
+
return callback;
|
|
61
|
+
}
|
|
62
|
+
let fullPath = path_1.default.join(process.cwd(), rulesPath);
|
|
63
|
+
(0, assert_ts_1.assert)(fs_1.default.existsSync(fullPath), `no rules directory at ${fullPath}`);
|
|
64
|
+
let rules = (0, parse_rules_files_1.parseRulesFiles)(rulesPath);
|
|
65
|
+
if (rules.length === 0) {
|
|
66
|
+
return callback;
|
|
67
|
+
}
|
|
68
|
+
return async (user, context) => {
|
|
69
|
+
console.debug(`applying ${rules.length} rules`);
|
|
46
70
|
for (let rule of rules) {
|
|
47
|
-
(
|
|
48
|
-
let { code, filename } = rule;
|
|
49
|
-
console.debug(`executing rule ${path_1.default.basename(filename)}`);
|
|
50
|
-
let script = new vm_1.default.Script(`(function(exports) {
|
|
51
|
-
(${code})(__simulator.user, __simulator.context, __simulator.callback)
|
|
52
|
-
}
|
|
53
|
-
(module.exports));
|
|
54
|
-
`);
|
|
55
|
-
script.runInContext(vmContext, {
|
|
56
|
-
filename,
|
|
57
|
-
});
|
|
71
|
+
await runRule(user, context, rule);
|
|
58
72
|
}
|
|
59
73
|
};
|
|
60
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules-runner.js","sourceRoot":"","sources":["../../src/rules/rules-runner.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,4CAAoB;AACpB,4CAAoB;AACpB,yCAAmC;AACnC,2DAAsD;AAKtD,
|
|
1
|
+
{"version":3,"file":"rules-runner.js","sourceRoot":"","sources":["../../src/rules/rules-runner.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,4CAAoB;AACpB,4CAAoB;AACpB,yCAAmC;AACnC,2DAAsD;AAKtD,KAAK,UAAU,OAAO,CAAQ,IAAc,EAAE,OAA0B,EAAE,IAAU;IAClF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACpC,IAAI,OAAO,GAAG;YACZ,OAAO;YACP,MAAM;YACN,cAAc;YACd,aAAa;YACb,YAAY;YACZ,YAAY;YACZ,WAAW;YACX,UAAU;YACV,OAAO;YACP,OAAO;YACP,MAAM;YACN,OAAO;YACP,MAAM;YACN,WAAW,EAAE;gBACX,GAAG;oBACD,IAAI;oBACJ,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE;iBACxB;aACF;SACF,CAAC;QAEF,IAAI,SAAS,GAAG,YAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAA,kBAAM,EAAC,OAAO,IAAI,KAAK,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAEtD,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAE9B,OAAO,CAAC,KAAK,CAAC,kBAAkB,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE3D,IAAI,MAAM,GAAG,IAAI,YAAE,CAAC,MAAM,CAAC;;;mBAGZ,IAAI;;;;;;KAMlB,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE;YAC7B,QAAQ;YACR,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,iBAAiB,CAAC,SAAkB;IAClD,6DAA6D;IAC7D,IAAI,QAAQ,GAAG,CAAC,KAAe,EAAE,QAAuC,EAAE,EAAE,GAAG,CAAC,CAAC;IAEjF,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;QACpC,OAAO,QAAQ,CAAC;KACjB;IAED,IAAI,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;IAEnD,IAAA,kBAAM,EAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IAErE,IAAI,KAAK,GAAG,IAAA,mCAAe,EAAC,SAAS,CAAC,CAAC;IAEvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,QAAQ,CAAC;KACjB;IAED,OAAO,KAAK,EAAQ,IAAc,EAAE,OAA0B,EAAE,EAAE;QAChE,OAAO,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;QAE9C,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;YACtB,MAAM,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACpC;IACL,CAAC,CAAC;AACJ,CAAC;AAzBD,8CAyBC"}
|
package/dist/rules/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rules/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,EAAE,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KACzB,GAAG,CAAC,CAAA;IAEL,OAAO,EAAE,CAAC,CAAA;CACX"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rules/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,EAAE,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KACzB,GAAG,CAAC,CAAA;IAEL,OAAO,EAAE,CAAC,CAAA;CACX;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simulacrum/auth0-simulator",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.1",
|
|
4
4
|
"description": "Run local instance of Auth0 API for local development and integration testing",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": "bin/index.js",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"clean": "rimraf *.tsbuildinfo dist",
|
|
9
|
-
"test": "NODE_EXTRA_CA_CERTS=\"$(mkcert -CAROOT)/rootCA.pem\" mocha -r ts-node/register --timeout
|
|
9
|
+
"test": "NODE_EXTRA_CA_CERTS=\"$(mkcert -CAROOT)/rootCA.pem\" mocha -r ts-node/register --timeout 21000 test/**/*.test.ts",
|
|
10
10
|
"prepack": "tsc --build tsconfig.dist.json && copy-cli \"./src/views/**/*.png\" ./dist/views/",
|
|
11
11
|
"build": "npm run prepack",
|
|
12
12
|
"lint": "eslint src bin test",
|