@semapps/auth 0.8.0 → 0.8.2

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/mixins/auth.js CHANGED
@@ -23,17 +23,19 @@ const AuthMixin = {
23
23
  async created() {
24
24
  const { jwtPath, reservedUsernames, accountsDataset, podProvider } = this.settings;
25
25
 
26
- this.broker.createService(AuthJWTService, {
26
+ this.broker.createService({
27
+ mixins: [AuthJWTService],
27
28
  settings: { jwtPath }
28
29
  });
29
30
 
30
- this.broker.createService(AuthAccountService, {
31
+ this.broker.createService({
32
+ mixins: [AuthAccountService],
31
33
  settings: { reservedUsernames },
32
34
  adapter: new TripleStoreAdapter({ type: 'AuthAccount', dataset: accountsDataset })
33
35
  });
34
36
 
35
37
  if (podProvider) {
36
- this.broker.createService(CapabilitiesService, { settings: { path: this.settings.capabilitiesPath } });
38
+ this.broker.createService({ mixins: [CapabilitiesService], settings: { path: this.settings.capabilitiesPath } });
37
39
  }
38
40
  },
39
41
  async started() {
@@ -51,7 +53,9 @@ const AuthMixin = {
51
53
 
52
54
  this.passport.use(this.passportId, this.strategy);
53
55
 
54
- for (const route of this.getApiRoutes()) {
56
+ const { pathname: basePath } = new URL(this.settings.baseUrl);
57
+
58
+ for (const route of this.getApiRoutes(basePath)) {
55
59
  await this.broker.call('api.addRoute', { route });
56
60
  }
57
61
  },
@@ -1,3 +1,4 @@
1
+ const path = require('path');
1
2
  const session = require('express-session');
2
3
  const AuthMixin = require('./auth');
3
4
  const saveRedirectUrl = require('../middlewares/saveRedirectUrl');
@@ -65,11 +66,11 @@ const AuthSSOMixin = {
65
66
  }
66
67
  },
67
68
  methods: {
68
- getApiRoutes() {
69
+ getApiRoutes(basePath) {
69
70
  const sessionMiddleware = session({ secret: this.settings.sessionSecret, maxAge: null });
70
71
  return [
71
72
  {
72
- path: '/auth',
73
+ path: path.join(basePath, '/auth'),
73
74
  name: 'auth',
74
75
  use: [sessionMiddleware, this.passport.initialize(), this.passport.session()],
75
76
  aliases: {
@@ -77,7 +78,7 @@ const AuthSSOMixin = {
77
78
  }
78
79
  },
79
80
  {
80
- path: '/auth/logout',
81
+ path: path.join(basePath, '/auth/logout'),
81
82
  name: 'auth-logout',
82
83
  use: [sessionMiddleware, this.passport.initialize(), this.passport.session()],
83
84
  aliases: {
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@semapps/auth",
3
- "version": "0.8.0",
3
+ "version": "0.8.2",
4
4
  "description": "Authentification module for SemApps",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Virtual Assembly",
7
7
  "dependencies": {
8
- "@semapps/ldp": "0.8.0",
9
- "@semapps/middlewares": "0.8.0",
10
- "@semapps/mime-types": "0.8.0",
11
- "@semapps/triplestore": "0.8.0",
8
+ "@semapps/ldp": "0.8.2",
9
+ "@semapps/middlewares": "0.8.2",
10
+ "@semapps/mime-types": "0.8.2",
11
+ "@semapps/triplestore": "0.8.2",
12
12
  "bcrypt": "^5.0.1",
13
13
  "express-session": "^1.17.0",
14
14
  "jsonwebtoken": "^8.5.1",
@@ -29,5 +29,5 @@
29
29
  "engines": {
30
30
  "node": ">=14"
31
31
  },
32
- "gitHead": "9ab99a4751d5240ec9d6df985bf00dc21c348ef4"
32
+ "gitHead": "e22ec7e787900bd37217697340fa785aa2cfec8b"
33
33
  }
@@ -1,3 +1,4 @@
1
+ const path = require('path');
1
2
  const { Strategy } = require('passport-local');
2
3
  const AuthMixin = require('../mixins/auth');
3
4
  const sendToken = require('../middlewares/sendToken');
@@ -35,7 +36,8 @@ const AuthLocalService = {
35
36
  this.passportId = 'local';
36
37
 
37
38
  if (mail !== false) {
38
- await this.broker.createService(AuthMailService, {
39
+ this.broker.createService({
40
+ mixins: [AuthMailService],
39
41
  settings: {
40
42
  ...mail
41
43
  }
@@ -152,9 +154,9 @@ const AuthLocalService = {
152
154
  }
153
155
  );
154
156
  },
155
- getApiRoutes() {
157
+ getApiRoutes(basePath) {
156
158
  const loginRoute = {
157
- path: '/auth/login',
159
+ path: path.join(basePath, '/auth/login'),
158
160
  name: 'auth-login',
159
161
  use: [this.passport.initialize()],
160
162
  aliases: {
@@ -163,7 +165,7 @@ const AuthLocalService = {
163
165
  };
164
166
 
165
167
  const logoutRoute = {
166
- path: '/auth/logout',
168
+ path: path.join(basePath, '/auth/logout'),
167
169
  name: 'auth-logout',
168
170
  aliases: {
169
171
  'GET /': 'auth.logout'
@@ -171,7 +173,7 @@ const AuthLocalService = {
171
173
  };
172
174
 
173
175
  const signupRoute = {
174
- path: '/auth/signup',
176
+ path: path.join(basePath, '/auth/signup'),
175
177
  name: 'auth-signup',
176
178
  aliases: {
177
179
  'POST /': 'auth.signup'
@@ -179,7 +181,7 @@ const AuthLocalService = {
179
181
  };
180
182
 
181
183
  const formRoute = {
182
- path: '/auth',
184
+ path: path.join(basePath, '/auth'),
183
185
  name: 'auth',
184
186
  aliases: {
185
187
  'GET /': 'auth.redirectToForm'
@@ -187,14 +189,14 @@ const AuthLocalService = {
187
189
  };
188
190
 
189
191
  const resetPasswordRoute = {
190
- path: '/auth/reset_password',
192
+ path: path.join(basePath, '/auth/reset_password'),
191
193
  name: 'auth-reset-password',
192
194
  aliases: {
193
195
  'POST /': 'auth.resetPassword'
194
196
  }
195
197
  };
196
198
  const setNewPasswordRoute = {
197
- path: '/auth/new_password',
199
+ path: path.join(basePath, '/auth/new_password'),
198
200
  name: 'auth-new-password',
199
201
  aliases: {
200
202
  'POST /': 'auth.setNewPassword'
@@ -202,7 +204,7 @@ const AuthLocalService = {
202
204
  };
203
205
 
204
206
  const accountSettingsRoute = {
205
- path: '/auth/account',
207
+ path: path.join(basePath, '/auth/account'),
206
208
  name: 'auth-account',
207
209
  aliases: {
208
210
  'GET /': 'auth.account.findSettingsByWebId',