@simulacrum/auth0-simulator 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/README.md +28 -206
  2. package/bin/start.js +7 -0
  3. package/dist/auth/constants.d.ts.map +1 -1
  4. package/dist/auth/constants.js +2 -5
  5. package/dist/auth/constants.js.map +1 -1
  6. package/dist/auth/date.js +3 -9
  7. package/dist/auth/date.js.map +1 -1
  8. package/dist/auth/jwt.d.ts +1 -1
  9. package/dist/auth/jwt.d.ts.map +1 -1
  10. package/dist/auth/jwt.js +6 -11
  11. package/dist/auth/jwt.js.map +1 -1
  12. package/dist/auth/refresh-token.d.ts +2 -2
  13. package/dist/auth/refresh-token.d.ts.map +1 -1
  14. package/dist/auth/refresh-token.js +10 -15
  15. package/dist/auth/refresh-token.js.map +1 -1
  16. package/dist/config/get-config.d.ts +6 -6
  17. package/dist/config/get-config.d.ts.map +1 -1
  18. package/dist/config/get-config.js +18 -18
  19. package/dist/config/get-config.js.map +1 -1
  20. package/dist/handlers/auth0-handlers.d.ts +6 -10
  21. package/dist/handlers/auth0-handlers.d.ts.map +1 -1
  22. package/dist/handlers/auth0-handlers.js +81 -66
  23. package/dist/handlers/auth0-handlers.js.map +1 -1
  24. package/dist/handlers/index.d.ts +5 -0
  25. package/dist/handlers/index.d.ts.map +1 -0
  26. package/dist/handlers/index.js +36 -0
  27. package/dist/handlers/index.js.map +1 -0
  28. package/dist/handlers/login-redirect.d.ts +2 -2
  29. package/dist/handlers/login-redirect.d.ts.map +1 -1
  30. package/dist/handlers/login-redirect.js +3 -7
  31. package/dist/handlers/login-redirect.js.map +1 -1
  32. package/dist/handlers/oauth-handlers.d.ts +10 -9
  33. package/dist/handlers/oauth-handlers.d.ts.map +1 -1
  34. package/dist/handlers/oauth-handlers.js +55 -58
  35. package/dist/handlers/oauth-handlers.js.map +1 -1
  36. package/dist/handlers/openid-handlers.d.ts +4 -4
  37. package/dist/handlers/openid-handlers.d.ts.map +1 -1
  38. package/dist/handlers/openid-handlers.js +11 -15
  39. package/dist/handlers/openid-handlers.js.map +1 -1
  40. package/dist/handlers/url.d.ts.map +1 -1
  41. package/dist/handlers/url.js +1 -5
  42. package/dist/handlers/url.js.map +1 -1
  43. package/dist/handlers/utils.d.ts +11 -4
  44. package/dist/handlers/utils.d.ts.map +1 -1
  45. package/dist/handlers/utils.js +11 -15
  46. package/dist/handlers/utils.js.map +1 -1
  47. package/dist/handlers/web-message.d.ts +1 -1
  48. package/dist/handlers/web-message.d.ts.map +1 -1
  49. package/dist/handlers/web-message.js +8 -12
  50. package/dist/handlers/web-message.js.map +1 -1
  51. package/dist/index.d.ts +16 -18
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +18 -127
  54. package/dist/index.js.map +1 -1
  55. package/dist/middleware/create-cors.d.ts +1 -1
  56. package/dist/middleware/create-cors.js +2 -9
  57. package/dist/middleware/create-cors.js.map +1 -1
  58. package/dist/middleware/error-handling.d.ts +3 -0
  59. package/dist/middleware/error-handling.d.ts.map +1 -0
  60. package/dist/{error-handling-middleware.js → middleware/error-handling.js} +5 -11
  61. package/dist/middleware/error-handling.js.map +1 -0
  62. package/dist/middleware/no-cache.d.ts +1 -1
  63. package/dist/middleware/no-cache.js +1 -5
  64. package/dist/middleware/no-cache.js.map +1 -1
  65. package/dist/middleware/session.d.ts +1 -1
  66. package/dist/middleware/session.js +3 -10
  67. package/dist/middleware/session.js.map +1 -1
  68. package/dist/rules/extensionless-file-name.js +1 -5
  69. package/dist/rules/extensionless-file-name.js.map +1 -1
  70. package/dist/rules/parse-rules-files.d.ts.map +1 -1
  71. package/dist/rules/parse-rules-files.js +15 -22
  72. package/dist/rules/parse-rules-files.js.map +1 -1
  73. package/dist/rules/rules-runner.d.ts +2 -2
  74. package/dist/rules/rules-runner.d.ts.map +1 -1
  75. package/dist/rules/rules-runner.js +14 -21
  76. package/dist/rules/rules-runner.js.map +1 -1
  77. package/dist/rules/types.d.ts +1 -1
  78. package/dist/rules/types.d.ts.map +1 -1
  79. package/dist/rules/types.js +1 -2
  80. package/dist/store/entities.d.ts +111 -0
  81. package/dist/store/entities.d.ts.map +1 -0
  82. package/dist/store/entities.js +38 -0
  83. package/dist/store/entities.js.map +1 -0
  84. package/dist/store/index.d.ts +37 -0
  85. package/dist/store/index.d.ts.map +1 -0
  86. package/dist/store/index.js +44 -0
  87. package/dist/store/index.js.map +1 -0
  88. package/dist/types.d.ts +20 -20
  89. package/dist/types.d.ts.map +1 -1
  90. package/dist/types.js +21 -25
  91. package/dist/types.js.map +1 -1
  92. package/dist/views/login.d.ts +2 -2
  93. package/dist/views/login.d.ts.map +1 -1
  94. package/dist/views/login.js +81 -34
  95. package/dist/views/login.js.map +1 -1
  96. package/dist/views/username-password.d.ts +2 -2
  97. package/dist/views/username-password.d.ts.map +1 -1
  98. package/dist/views/username-password.js +3 -7
  99. package/dist/views/username-password.js.map +1 -1
  100. package/dist/views/web-message.d.ts +1 -1
  101. package/dist/views/web-message.d.ts.map +1 -1
  102. package/dist/views/web-message.js +3 -10
  103. package/dist/views/web-message.js.map +1 -1
  104. package/package.json +24 -41
  105. package/CHANGELOG.md +0 -176
  106. package/bin/index.js +0 -2
  107. package/dist/error-handling-middleware.d.ts +0 -3
  108. package/dist/error-handling-middleware.d.ts.map +0 -1
  109. package/dist/error-handling-middleware.js.map +0 -1
  110. package/dist/handlers/get-service-url.d.ts +0 -3
  111. package/dist/handlers/get-service-url.d.ts.map +0 -1
  112. package/dist/handlers/get-service-url.js +0 -11
  113. package/dist/handlers/get-service-url.js.map +0 -1
  114. package/dist/start.d.ts +0 -2
  115. package/dist/start.d.ts.map +0 -1
  116. package/dist/start.js +0 -77
  117. package/dist/start.js.map +0 -1
@@ -1,125 +1,141 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createAuth0Handlers = void 0;
4
- const login_redirect_1 = require("./login-redirect");
5
- const web_message_1 = require("./web-message");
6
- const login_1 = require("../views/login");
7
- const oauth_handlers_1 = require("./oauth-handlers");
8
- const assert_ts_1 = require("assert-ts");
9
- const querystring_1 = require("querystring");
10
- const base64_url_1 = require("base64-url");
11
- const username_password_1 = require("../views/username-password");
12
- const jsonwebtoken_1 = require("jsonwebtoken");
13
- const utils_1 = require("./utils");
1
+ import { createLoginRedirectHandler } from "./login-redirect";
2
+ import { createWebMessageHandler } from "./web-message";
3
+ import { loginView } from "../views/login";
4
+ import { createTokens } from "./oauth-handlers";
5
+ import { assert } from "assert-ts";
6
+ import { stringify } from "querystring";
7
+ import { encode } from "base64-url";
8
+ import { userNamePasswordForm } from "../views/username-password";
9
+ import { decode as decodeToken } from "jsonwebtoken";
10
+ import { createPersonQuery } from "./utils";
14
11
  const createLogger = (debug) => ({
15
12
  log: (...args) => {
16
13
  if (!debug) {
17
14
  return;
18
15
  }
19
16
  console.dir(...args);
20
- }
17
+ },
21
18
  });
22
- const createAuth0Handlers = (store, people, serviceURL, options, debug) => {
19
+ export const createAuth0Handlers = (simulationStore, serviceURL, options, debug) => {
23
20
  let { audience, scope, clientID, rulesDirectory } = options;
24
- let personQuery = (0, utils_1.createPersonQuery)(people);
21
+ let personQuery = createPersonQuery(simulationStore);
25
22
  let authorizeHandlers = {
26
- query: (0, login_redirect_1.createLoginRedirectHandler)(options),
27
- web_message: (0, web_message_1.createWebMessageHandler)()
23
+ query: createLoginRedirectHandler(options),
24
+ web_message: createWebMessageHandler(),
28
25
  };
29
26
  let logger = createLogger(debug);
30
27
  return {
31
- ['/heartbeat']: function (_, res) {
28
+ ["/heartbeat"]: function (_, res) {
32
29
  res.status(200).json({ ok: true });
33
30
  },
34
- ['/authorize']: function (req, res, next) {
31
+ ["/authorize"]: function (req, res, next) {
35
32
  var _a;
36
- logger.log({ '/authorize': { body: req.body, query: req.query, session: req.session } });
33
+ logger.log({
34
+ "/authorize": {
35
+ body: req.body,
36
+ query: req.query,
37
+ session: req.session,
38
+ },
39
+ });
37
40
  let currentUser = req.query.currentUser;
38
- (0, assert_ts_1.assert)(!!req.session, "no session");
41
+ assert(!!req.session, "no session");
39
42
  if (currentUser) {
40
43
  // the request is a silent login.
41
44
  // We fake an existing login by
42
45
  // adding the user to the session
43
46
  req.session.username = currentUser;
44
47
  }
45
- let responseMode = ((_a = req.query.response_mode) !== null && _a !== void 0 ? _a : 'query');
46
- (0, assert_ts_1.assert)(['query', 'web_message'].includes(responseMode), `unknown response_mode ${responseMode}`);
48
+ let responseMode = ((_a = req.query.response_mode) !== null && _a !== void 0 ? _a : "query");
49
+ assert(["query", "web_message"].includes(responseMode), `unknown response_mode ${responseMode}`);
47
50
  let handler = authorizeHandlers[responseMode];
48
51
  handler(req, res, next);
49
52
  },
50
- ['/login']: function (req, res) {
53
+ ["/login"]: function (req, res) {
51
54
  var _a, _b;
52
- logger.log({ '/login': { body: req.body, query: req.query } });
55
+ logger.log({ "/login": { body: req.body, query: req.query } });
53
56
  let query = req.query;
54
57
  let responseClientId = (_a = query.client_id) !== null && _a !== void 0 ? _a : clientID;
55
58
  let responseAudience = (_b = query.audience) !== null && _b !== void 0 ? _b : audience;
56
- (0, assert_ts_1.assert)(!!responseClientId, `no clientID assigned`);
57
- let html = (0, login_1.loginView)({
58
- domain: serviceURL().host,
59
+ assert(!!responseClientId, `no clientID assigned`);
60
+ let html = loginView({
61
+ domain: new URL(serviceURL(req)).host,
59
62
  scope,
60
63
  redirectUri: query.redirect_uri,
61
64
  clientID: responseClientId,
62
65
  audience: responseAudience,
63
- loginFailed: false
66
+ loginFailed: false,
64
67
  });
65
68
  res.set("Content-Type", "text/html");
66
69
  res.status(200).send(Buffer.from(html));
67
70
  },
68
- ['/usernamepassword/login']: function (req, res) {
71
+ ["/usernamepassword/login"]: function (req, res) {
69
72
  var _a, _b;
70
- logger.log({ '/usernamepassword/login': { body: req.body, query: req.query } });
73
+ logger.log({
74
+ "/usernamepassword/login": { body: req.body, query: req.query },
75
+ });
71
76
  let { username, nonce, password } = req.body;
72
- (0, assert_ts_1.assert)(!!username, 'no username in /usernamepassword/login');
73
- (0, assert_ts_1.assert)(!!nonce, 'no nonce in /usernamepassword/login');
74
- (0, assert_ts_1.assert)(!!req.session, "no session");
75
- let user = personQuery((person) => { var _a; return ((_a = person.email) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === username.toLowerCase() && person.password === password; });
77
+ assert(!!username, "no username in /usernamepassword/login");
78
+ assert(!!nonce, "no nonce in /usernamepassword/login");
79
+ assert(!!req.session, "no session");
80
+ let user = personQuery((person) => {
81
+ var _a;
82
+ return ((_a = person.email) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === username.toLowerCase() &&
83
+ person.password === password;
84
+ });
76
85
  if (!user) {
77
86
  let query = req.query;
78
87
  let responseClientId = (_a = query.client_id) !== null && _a !== void 0 ? _a : clientID;
79
88
  let responseAudience = (_b = query.audience) !== null && _b !== void 0 ? _b : audience;
80
- (0, assert_ts_1.assert)(!!clientID, `no clientID assigned`);
81
- let html = (0, login_1.loginView)({
82
- domain: serviceURL().host,
89
+ assert(!!clientID, `no clientID assigned`);
90
+ let html = loginView({
91
+ domain: new URL(serviceURL(req)).host,
83
92
  scope,
84
93
  redirectUri: query.redirect_uri,
85
94
  clientID: responseClientId,
86
95
  audience: responseAudience,
87
- loginFailed: true
96
+ loginFailed: true,
88
97
  });
89
98
  res.set("Content-Type", "text/html");
90
99
  res.status(400).send(html);
91
100
  return;
92
101
  }
93
102
  req.session.username = username;
94
- store.set(nonce, { username, nonce });
95
- res.status(200).send((0, username_password_1.userNamePasswordForm)(req.body));
103
+ simulationStore.store.dispatch(simulationStore.actions.batchUpdater([
104
+ simulationStore.schema.sessions.patch({
105
+ [nonce]: { username, nonce },
106
+ }),
107
+ ]));
108
+ res.status(200).send(userNamePasswordForm(req.body));
96
109
  },
97
- ['/login/callback']: function (req, res) {
110
+ ["/login/callback"]: function (req, res) {
98
111
  let wctx = JSON.parse(req.body.wctx);
99
- logger.log({ '/login/callback': { body: req.body, query: req.query, wctx } });
112
+ logger.log({
113
+ "/login/callback": { body: req.body, query: req.query, wctx },
114
+ });
100
115
  let { redirect_uri, nonce } = wctx;
101
- let { username } = store.get(nonce);
102
- let encodedNonce = (0, base64_url_1.encode)(`${nonce}:${username}`);
103
- let qs = (0, querystring_1.stringify)({ code: encodedNonce, ...wctx });
116
+ const session = simulationStore.schema.sessions.selectById(simulationStore.store.getState(), { id: nonce });
117
+ const { username } = session !== null && session !== void 0 ? session : {};
118
+ let encodedNonce = encode(`${nonce}:${username}`);
119
+ let qs = stringify({ code: encodedNonce, ...wctx });
104
120
  let routerUrl = `${redirect_uri}?${qs}`;
105
121
  res.status(302).redirect(routerUrl);
106
122
  },
107
- ['/oauth/token']: async function (req, res, next) {
123
+ ["/oauth/token"]: async function (req, res, next) {
108
124
  var _a, _b, _c, _d;
109
- logger.log({ '/oauth/token': { body: req.body, query: req.query } });
125
+ logger.log({ "/oauth/token": { body: req.body, query: req.query } });
110
126
  try {
111
- let iss = serviceURL().toString();
127
+ let iss = serviceURL(req);
112
128
  let responseClientId = (_b = (_a = req === null || req === void 0 ? void 0 : req.body) === null || _a === void 0 ? void 0 : _a.client_id) !== null && _b !== void 0 ? _b : clientID;
113
129
  let responseAudience = (_d = (_c = req === null || req === void 0 ? void 0 : req.body) === null || _c === void 0 ? void 0 : _c.audience) !== null && _d !== void 0 ? _d : audience;
114
- (0, assert_ts_1.assert)(!!responseClientId, '500::no clientID in options or request body');
115
- let tokens = await (0, oauth_handlers_1.createTokens)({
130
+ assert(!!responseClientId, "500::no clientID in options or request body");
131
+ let tokens = await createTokens({
132
+ simulationStore,
116
133
  body: req.body,
117
134
  iss,
118
135
  clientID: responseClientId,
119
136
  audience: responseAudience,
120
137
  rulesDirectory,
121
- people,
122
- scope
138
+ scope,
123
139
  });
124
140
  res.status(200).json({
125
141
  ...tokens,
@@ -131,30 +147,30 @@ const createAuth0Handlers = (store, people, serviceURL, options, debug) => {
131
147
  next(error);
132
148
  }
133
149
  },
134
- ['/v2/logout']: function (req, res) {
150
+ ["/v2/logout"]: function (req, res) {
135
151
  var _a;
136
152
  req.session = null;
137
153
  let returnToUrl = (_a = req.query.returnTo) !== null && _a !== void 0 ? _a : req.headers.referer;
138
- (0, assert_ts_1.assert)(typeof returnToUrl === 'string', `no logical returnTo url`);
154
+ assert(typeof returnToUrl === "string", `no logical returnTo url`);
139
155
  res.redirect(returnToUrl);
140
156
  },
141
- ['/userinfo']: function (req, res) {
157
+ ["/userinfo"]: function (req, res) {
142
158
  var _a, _b;
143
159
  let token = null;
144
160
  if (req.headers.authorization) {
145
161
  let authorizationHeader = req.headers.authorization;
146
- token = (_a = authorizationHeader === null || authorizationHeader === void 0 ? void 0 : authorizationHeader.split(' ')) === null || _a === void 0 ? void 0 : _a[1];
162
+ token = (_a = authorizationHeader === null || authorizationHeader === void 0 ? void 0 : authorizationHeader.split(" ")) === null || _a === void 0 ? void 0 : _a[1];
147
163
  }
148
164
  else {
149
165
  token = (_b = req === null || req === void 0 ? void 0 : req.query) === null || _b === void 0 ? void 0 : _b.access_token;
150
166
  }
151
- (0, assert_ts_1.assert)(!!token, 'no authorization header or access_token');
152
- let { sub } = (0, jsonwebtoken_1.decode)(token, { json: true });
167
+ assert(!!token, "no authorization header or access_token");
168
+ let { sub } = decodeToken(token, { json: true });
153
169
  let user = personQuery((person) => {
154
- (0, assert_ts_1.assert)(!!person.id, `no email defined on person scenario`);
170
+ assert(!!person.id, `no email defined on person scenario`);
155
171
  return person.id === sub;
156
172
  });
157
- (0, assert_ts_1.assert)(!!user, 'no user in /userinfo');
173
+ assert(!!user, "no user in /userinfo");
158
174
  let userinfo = {
159
175
  sub,
160
176
  name: user.name,
@@ -162,12 +178,11 @@ const createAuth0Handlers = (store, people, serviceURL, options, debug) => {
162
178
  family_name: user.name,
163
179
  email: user.email,
164
180
  email_verified: true,
165
- locale: 'en',
166
- hd: 'okta.com'
181
+ locale: "en",
182
+ hd: "okta.com",
167
183
  };
168
184
  res.status(200).json(userinfo);
169
- }
185
+ },
170
186
  };
171
187
  };
172
- exports.createAuth0Handlers = createAuth0Handlers;
173
188
  //# sourceMappingURL=auth0-handlers.js.map
@@ -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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"}
@@ -0,0 +1,5 @@
1
+ import { type Express } from "express";
2
+ import type { ExtendedSimulationStore } from "../store";
3
+ import { Auth0Configuration } from "../types";
4
+ export declare const extendRouter: (config: Auth0Configuration, debug?: boolean) => (router: Express, simulationStore: ExtendedSimulationStore) => void;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAgB,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAQxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAG9C,eAAO,MAAM,YAAY,WACd,kBAAkB,+BAClB,OAAO,mBAAmB,uBAAuB,SAoCzD,CAAC"}
@@ -0,0 +1,36 @@
1
+ import express from "express";
2
+ import { createCors } from "../middleware/create-cors";
3
+ import { noCache } from "../middleware/no-cache";
4
+ import { createSession } from "../middleware/session";
5
+ import { defaultErrorHandler } from "../middleware/error-handling";
6
+ import { createAuth0Handlers } from "./auth0-handlers";
7
+ import { createOpenIdHandlers } from "./openid-handlers";
8
+ import path from "path";
9
+ const publicDir = path.join(__dirname, "..", "views", "public");
10
+ export const extendRouter = (config, debug = false) => (router, simulationStore) => {
11
+ const serviceURL = (request) => `${request.protocol}://${request.get("Host")}/`;
12
+ const auth0 = createAuth0Handlers(simulationStore, serviceURL, config, debug);
13
+ const openid = createOpenIdHandlers(serviceURL);
14
+ router
15
+ .use(express.static(publicDir))
16
+ .use(createSession())
17
+ .use(createCors())
18
+ .use(noCache())
19
+ .get("/health", (_, response) => {
20
+ response.send({ status: "ok" });
21
+ })
22
+ .get("/heartbeat", auth0["/heartbeat"])
23
+ .get("/authorize", auth0["/authorize"])
24
+ .get("/login", auth0["/login"])
25
+ .get("/u/login", auth0["/usernamepassword/login"])
26
+ .post("/usernamepassword/login", auth0["/usernamepassword/login"])
27
+ .post("/login/callback", auth0["/login/callback"])
28
+ .post("/oauth/token", auth0["/oauth/token"])
29
+ .get("/userinfo", auth0["/userinfo"])
30
+ .get("/v2/logout", auth0["/v2/logout"])
31
+ .get("/.well-known/jwks.json", openid["/.well-known/jwks.json"])
32
+ .get("/.well-known/openid-configuration", openid["/.well-known/openid-configuration"]);
33
+ // needs to be the last middleware added
34
+ router.use(defaultErrorHandler);
35
+ };
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAuC,MAAM,SAAS,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,YAAY,GACvB,CAAC,MAA0B,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,CAC9C,CAAC,MAAe,EAAE,eAAwC,EAAE,EAAE;IAC5D,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,EAAE,CACtC,GAAG,OAAO,CAAC,QAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;IAClD,MAAM,KAAK,GAAG,mBAAmB,CAC/B,eAAe,EACf,UAAU,EACV,MAAM,EACN,KAAK,CACN,CAAC;IACF,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAEhD,MAAM;SACH,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAC9B,GAAG,CAAC,aAAa,EAAE,CAAC;SACpB,GAAG,CAAC,UAAU,EAAE,CAAC;SACjB,GAAG,CAAC,OAAO,EAAE,CAAC;SACd,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE;QAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC;SACD,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;SACtC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;SACtC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC9B,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;SACjD,IAAI,CAAC,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;SACjE,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;SACjD,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;SAC3C,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;SACpC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;SACtC,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC;SAC/D,GAAG,CACF,mCAAmC,EACnC,MAAM,CAAC,mCAAmC,CAAC,CAC5C,CAAC;IAEJ,wCAAwC;IACxC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAClC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { RequestHandler } from 'express';
2
- import type { Auth0Configuration } from '../types';
1
+ import type { RequestHandler } from "express";
2
+ import type { Auth0Configuration } from "../types";
3
3
  export declare const createLoginRedirectHandler: (options: Auth0Configuration) => RequestHandler;
4
4
  //# sourceMappingURL=login-redirect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"login-redirect.d.ts","sourceRoot":"","sources":["../../src/handlers/login-redirect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,cAAc,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,UAAU,CAAC;AAGhE,eAAO,MAAM,0BAA0B,YAAa,kBAAkB,KAAG,cAgCtE,CAAC"}
1
+ {"version":3,"file":"login-redirect.d.ts","sourceRoot":"","sources":["../../src/handlers/login-redirect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,cAAc,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,UAAU,CAAC;AAGhE,eAAO,MAAM,0BAA0B,YAC5B,kBAAkB,KAC1B,cAgCA,CAAC"}
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createLoginRedirectHandler = void 0;
4
- const querystring_1 = require("querystring");
5
- const createLoginRedirectHandler = (options) => function loginRedirect(req, res) {
1
+ import { stringify } from "querystring";
2
+ export const createLoginRedirectHandler = (options) => function loginRedirect(req, res) {
6
3
  let { client_id, audience, redirect_uri, scope, state, nonce, response_mode, code_challenge, code_challenge_method, auth0Client, response_type, } = req.query;
7
- res.status(302).redirect(`/login?${(0, querystring_1.stringify)({
4
+ res.status(302).redirect(`/login?${stringify({
8
5
  state,
9
6
  redirect_uri,
10
7
  client: client_id || options.clientID,
@@ -19,5 +16,4 @@ const createLoginRedirectHandler = (options) => function loginRedirect(req, res)
19
16
  audience: audience || options.audience,
20
17
  })}`);
21
18
  };
22
- exports.createLoginRedirectHandler = createLoginRedirectHandler;
23
19
  //# sourceMappingURL=login-redirect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login-redirect.js","sourceRoot":"","sources":["../../src/handlers/login-redirect.ts"],"names":[],"mappings":";;;AAEA,6CAAwC;AAEjC,MAAM,0BAA0B,GAAG,CAAC,OAA2B,EAAkB,EAAE,CACxF,SAAS,aAAa,CAAE,GAAY,EAAE,GAAa;IACjD,IAAI,EACF,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,KAAK,EACL,KAAK,EACL,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,aAAa,GACd,GAAG,GAAG,CAAC,KAAoB,CAAC;IAE7B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CACtB,UAAU,IAAA,uBAAS,EAAC;QAClB,KAAK;QACL,YAAY;QACZ,MAAM,EAAE,SAAS,IAAI,OAAO,CAAC,QAAQ;QACrC,QAAQ,EAAE,QAAQ;QAClB,KAAK;QACL,aAAa;QACb,aAAa;QACb,KAAK;QACL,cAAc;QACd,qBAAqB;QACrB,WAAW;QACX,QAAQ,EAAE,QAAQ,IAAI,OAAO,CAAC,QAAQ;KACvC,CAAC,EAAE,CACL,CAAC;AACJ,CAAC,CAAC;AAhCS,QAAA,0BAA0B,8BAgCnC"}
1
+ {"version":3,"file":"login-redirect.js","sourceRoot":"","sources":["../../src/handlers/login-redirect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,OAA2B,EACX,EAAE,CAClB,SAAS,aAAa,CAAC,GAAY,EAAE,GAAa;IAChD,IAAI,EACF,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,KAAK,EACL,KAAK,EACL,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,aAAa,GACd,GAAG,GAAG,CAAC,KAAoB,CAAC;IAE7B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CACtB,UAAU,SAAS,CAAC;QAClB,KAAK;QACL,YAAY;QACZ,MAAM,EAAE,SAAS,IAAI,OAAO,CAAC,QAAQ;QACrC,QAAQ,EAAE,QAAQ;QAClB,KAAK;QACL,aAAa;QACb,aAAa;QACb,KAAK;QACL,cAAc;QACd,qBAAqB;QACrB,WAAW;QACX,QAAQ,EAAE,QAAQ,IAAI,OAAO,CAAC,QAAQ;KACvC,CAAC,EAAE,CACL,CAAC;AACJ,CAAC,CAAC"}
@@ -1,15 +1,16 @@
1
- import type { Request } from 'express';
2
- import type { Person } from '@simulacrum/server';
3
- import type { RuleUser } from '../rules/types';
4
- import type { ScopeConfig, AccessTokenPayload, IdTokenData } from '../types';
5
- export declare const createTokens: ({ body, iss, clientID, audience, rulesDirectory, people, scope: scopeConfig, }: {
6
- body: Request['body'];
1
+ import type { Request } from "express";
2
+ import type { RuleUser } from "../rules/types";
3
+ import type { ScopeConfig, AccessTokenPayload, IdTokenData } from "../types";
4
+ import { ExtendedSimulationStore } from "../store";
5
+ import { Auth0User } from "../store/entities";
6
+ export declare const createTokens: ({ body, iss, clientID, audience, rulesDirectory, scope: scopeConfig, simulationStore, }: {
7
+ body: Request["body"];
7
8
  iss: string;
8
9
  clientID: string;
9
10
  audience: string;
10
11
  rulesDirectory: string | undefined;
11
- people: Iterable<Person>;
12
12
  scope: ScopeConfig;
13
+ simulationStore: ExtendedSimulationStore;
13
14
  }) => Promise<{
14
15
  access_token: string;
15
16
  id_token?: undefined;
@@ -20,9 +21,9 @@ export declare const createTokens: ({ body, iss, clientID, audience, rulesDirect
20
21
  refresh_token: string | undefined;
21
22
  }>;
22
23
  export declare const getIdToken: ({ body, iss, user, clientID, nonce, }: {
23
- body: Request['body'];
24
+ body: Request["body"];
24
25
  iss: string;
25
- user: Person;
26
+ user: Auth0User;
26
27
  clientID: string;
27
28
  nonce: string | undefined;
28
29
  }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-handlers.d.ts","sourceRoot":"","sources":["../../src/handlers/oauth-handlers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAe,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAElB,WAAW,EAEZ,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,YAAY;UASjB,OAAO,CAAC,MAAM,CAAC;SAChB,MAAM;cACD,MAAM;cACN,MAAM;oBACA,MAAM,GAAG,SAAS;YAC1B,SAAS,MAAM,CAAC;WACjB,WAAW;;;;;;;;;EAwEnB,CAAC;AAEF,eAAO,MAAM,UAAU;UAOf,OAAO,CAAC,MAAM,CAAC;SAChB,MAAM;UACL,MAAM;cACF,MAAM;WACT,MAAM,GAAG,SAAS;;;;CA8B1B,CAAC;AAEF,eAAO,MAAM,kBAAkB;SAMxB,MAAM;gBACC,MAAM;WACX,MAAM;cACH,MAAM;MACd,QAAQ,kBAAkB,CAO5B,CAAC"}
1
+ {"version":3,"file":"oauth-handlers.d.ts","sourceRoot":"","sources":["../../src/handlers/oauth-handlers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAe,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAElB,WAAW,EAEZ,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,eAAO,MAAM,YAAY,4FAQtB;IACD,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,WAAW,CAAC;IACnB,eAAe,EAAE,uBAAuB,CAAC;CAC1C;;;;;;;;EAwEA,CAAC;AAEF,eAAO,MAAM,UAAU,0CAMpB;IACD,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;;;CA6BA,CAAC;AAEF,eAAO,MAAM,kBAAkB,0CAK5B;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,KAAG,OAAO,CAAC,kBAAkB,CAO5B,CAAC"}