@galadrim/galadmin 0.2.6 → 0.2.7

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.
@@ -6,7 +6,7 @@ on:
6
6
 
7
7
  jobs:
8
8
  test:
9
- runs-on: ubuntu-latest
9
+ runs-on: ubicloud-standard-2
10
10
  env:
11
11
  CI: false
12
12
  steps:
@@ -37,7 +37,7 @@ jobs:
37
37
 
38
38
  build-and-deploy:
39
39
  needs: test
40
- runs-on: ubuntu-latest
40
+ runs-on: ubicloud-standard-2
41
41
  env:
42
42
  CI: false
43
43
  steps:
package/dist/index.js CHANGED
@@ -54,6 +54,25 @@ exports.default = (config) => {
54
54
  saveUninitialized: false,
55
55
  name: 'galadmin.sid'
56
56
  }));
57
+ if (config.trustedAuth) {
58
+ app.use(async (req, res, next) => {
59
+ try {
60
+ const user = await config.trustedAuth(req);
61
+ if (user) {
62
+ if (JSON.stringify(req.session.user) !== JSON.stringify(user)) {
63
+ req.session.user = user;
64
+ }
65
+ }
66
+ else if (req.session.user) {
67
+ delete req.session.user;
68
+ }
69
+ next();
70
+ }
71
+ catch (err) {
72
+ next(err);
73
+ }
74
+ });
75
+ }
57
76
  const passwordMatch = async (password, hash, useArgon2) => {
58
77
  if (password === hash || bcrypt.compareSync(password, hash)) {
59
78
  return true;
@@ -70,7 +89,10 @@ exports.default = (config) => {
70
89
  return false;
71
90
  };
72
91
  app.post('/api/login', async (req, res) => {
73
- if (req.body.username === config.auth.username && req.body.password === config.auth.password) {
92
+ if (config.trustedAuth) {
93
+ return res.send({ success: false });
94
+ }
95
+ if (config.auth && req.body.username === config.auth.username && req.body.password === config.auth.password) {
74
96
  req.session.user = { role: "root" };
75
97
  res.send({ success: true });
76
98
  }
@@ -113,7 +135,7 @@ exports.default = (config) => {
113
135
  app.use("/api", async (req, res, next) => {
114
136
  var _a, _b;
115
137
  if (req.method === "OPTIONS" || req.session.user) {
116
- if ((_b = (_a = req.session) === null || _a === void 0 ? void 0 : _a.user) === null || _b === void 0 ? void 0 : _b.userId) {
138
+ if (((_b = (_a = req.session) === null || _a === void 0 ? void 0 : _a.user) === null || _b === void 0 ? void 0 : _b.userId) && !config.trustedAuth) {
117
139
  let stillExists = false;
118
140
  for (const authRole of config.authRoles) {
119
141
  const filters = authRole.filters ? `AND ${authRole.filters}` : "";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}