@feathersjs/authentication 5.0.0-pre.30 → 5.0.0-pre.32

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 CHANGED
@@ -3,6 +3,18 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [5.0.0-pre.32](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.31...v5.0.0-pre.32) (2022-10-26)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **authentication:** Improve logout and disconnect connection handling ([#2813](https://github.com/feathersjs/feathers/issues/2813)) ([dd77379](https://github.com/feathersjs/feathers/commit/dd77379d8bdcd32d529bef912e672639e4899823))
11
+
12
+ # [5.0.0-pre.31](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.30...v5.0.0-pre.31) (2022-10-12)
13
+
14
+ ### Features
15
+
16
+ - **cli:** Generate full client test suite and improve typed client ([#2788](https://github.com/feathersjs/feathers/issues/2788)) ([57119b6](https://github.com/feathersjs/feathers/commit/57119b6bb2797f7297cf054268a248c093ecd538))
17
+
6
18
  # [5.0.0-pre.30](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.29...v5.0.0-pre.30) (2022-10-07)
7
19
 
8
20
  ### Features
@@ -1,15 +1,10 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const omit_1 = __importDefault(require("lodash/omit"));
7
3
  exports.default = (event) => async (context, next) => {
8
4
  await next();
9
5
  const { result, params: { connection } } = context;
10
6
  if (connection) {
11
7
  const service = context.service;
12
- Object.assign(connection, (0, omit_1.default)(result, 'accessToken', 'authentication'));
13
8
  await service.handleConnection(event, connection, result);
14
9
  }
15
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/hooks/connection.ts"],"names":[],"mappings":";;;;;AACA,uDAA8B;AAG9B,kBAAe,CAAC,KAAsB,EAAE,EAAE,CAAC,KAAK,EAAE,OAAoB,EAAE,IAAkB,EAAE,EAAE;IAC5F,MAAM,IAAI,EAAE,CAAA;IAEZ,MAAM,EACJ,MAAM,EACN,MAAM,EAAE,EAAE,UAAU,EAAE,EACvB,GAAG,OAAO,CAAA;IAEX,IAAI,UAAU,EAAE;QACd,MAAM,OAAO,GAAG,OAAO,CAAC,OAAwC,CAAA;QAEhE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAA,cAAI,EAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAA;QAExE,MAAM,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;KAC1D;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/hooks/connection.ts"],"names":[],"mappings":";;AAGA,kBAAe,CAAC,KAAsB,EAAE,EAAE,CAAC,KAAK,EAAE,OAAoB,EAAE,IAAkB,EAAE,EAAE;IAC5F,MAAM,IAAI,EAAE,CAAA;IAEZ,MAAM,EACJ,MAAM,EACN,MAAM,EAAE,EAAE,UAAU,EAAE,EACvB,GAAG,OAAO,CAAA;IAEX,IAAI,UAAU,EAAE;QACd,MAAM,OAAO,GAAG,OAAO,CAAC,OAAwC,CAAA;QAEhE,MAAM,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;KAC1D;AACH,CAAC,CAAA"}
package/lib/jwt.js CHANGED
@@ -31,18 +31,18 @@ class JWTStrategy extends strategy_1.AuthenticationBaseStrategy {
31
31
  };
32
32
  }
33
33
  async handleConnection(event, connection, authResult) {
34
+ var _a;
34
35
  const isValidLogout = event === 'logout' &&
35
36
  connection.authentication &&
36
37
  authResult &&
37
38
  connection.authentication.accessToken === authResult.accessToken;
38
39
  const { accessToken } = authResult || {};
40
+ const { entity } = this.configuration;
39
41
  if (accessToken && event === 'login') {
40
42
  debug('Adding authentication information to connection');
41
- const { exp } = await this.authentication.verifyAccessToken(accessToken);
43
+ const { exp } = ((_a = authResult === null || authResult === void 0 ? void 0 : authResult.authentication) === null || _a === void 0 ? void 0 : _a.payload) || (await this.authentication.verifyAccessToken(accessToken));
42
44
  // The time (in ms) until the token expires
43
45
  const duration = exp * 1000 - Date.now();
44
- // This may have to be a `logout` event but right now we don't want
45
- // the whole context object lingering around until the timer is gone
46
46
  const timer = long_timeout_1.default.setTimeout(() => this.app.emit('disconnect', connection), duration);
47
47
  debug(`Registering connection expiration timer for ${duration}ms`);
48
48
  long_timeout_1.default.clearTimeout(this.expirationTimers.get(connection));
@@ -52,12 +52,15 @@ class JWTStrategy extends strategy_1.AuthenticationBaseStrategy {
52
52
  strategy: this.name,
53
53
  accessToken
54
54
  };
55
+ connection[entity] = authResult[entity];
55
56
  }
56
57
  else if (event === 'disconnect' || isValidLogout) {
57
58
  debug('Removing authentication information and expiration timer from connection');
58
- const { entity } = this.configuration;
59
- delete connection[entity];
60
- delete connection.authentication;
59
+ await new Promise((resolve) => process.nextTick(() => {
60
+ delete connection[entity];
61
+ delete connection.authentication;
62
+ resolve(connection);
63
+ }));
61
64
  long_timeout_1.default.clearTimeout(this.expirationTimers.get(connection));
62
65
  this.expirationTimers.delete(connection);
63
66
  }
package/lib/jwt.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.js","sourceRoot":"","sources":["../src/jwt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jwt.js","sourceRoot":"","sources":["../src/jwt.ts"],"names":[],"mappings":"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"}
package/lib/service.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { AuthenticationBase, AuthenticationResult, AuthenticationRequest, AuthenticationParams } from './core';
2
1
  import '@feathersjs/transport-commons';
3
2
  import { ServiceMethods, ServiceAddons } from '@feathersjs/feathers';
3
+ import { AuthenticationBase, AuthenticationResult, AuthenticationRequest, AuthenticationParams } from './core';
4
4
  declare module '@feathersjs/feathers/lib/declarations' {
5
5
  interface FeathersApplication<Services, Settings> {
6
6
  /**
package/lib/service.js CHANGED
@@ -6,16 +6,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AuthenticationService = void 0;
7
7
  const merge_1 = __importDefault(require("lodash/merge"));
8
8
  const errors_1 = require("@feathersjs/errors");
9
- const core_1 = require("./core");
10
- const hooks_1 = require("./hooks");
11
9
  require("@feathersjs/transport-commons");
12
10
  const commons_1 = require("@feathersjs/commons");
13
11
  const schema_1 = require("@feathersjs/schema");
14
12
  const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
13
+ const hooks_1 = require("@feathersjs/hooks");
14
+ const core_1 = require("./core");
15
+ const hooks_2 = require("./hooks");
15
16
  const debug = (0, commons_1.createDebug)('@feathersjs/authentication/service');
16
17
  class AuthenticationService extends core_1.AuthenticationBase {
17
18
  constructor(app, configKey = 'authentication', options = {}) {
18
19
  super(app, configKey, options);
20
+ (0, hooks_1.hooks)(this, {
21
+ create: [(0, schema_1.resolveDispatch)(), (0, hooks_2.connection)('login'), (0, hooks_2.event)('login')],
22
+ remove: [(0, schema_1.resolveDispatch)(), (0, hooks_2.connection)('logout'), (0, hooks_2.event)('logout')]
23
+ });
24
+ this.app.on('disconnect', async (connection) => {
25
+ await this.handleConnection('disconnect', connection);
26
+ });
19
27
  if (typeof app.defaultAuthentication !== 'function') {
20
28
  app.defaultAuthentication = function (location) {
21
29
  const configKey = app.get('defaultAuthentication');
@@ -130,13 +138,6 @@ class AuthenticationService extends core_1.AuthenticationBase {
130
138
  throw new Error(`The '${service}' service does not have an 'id' property and no 'entityId' option is set.`);
131
139
  }
132
140
  }
133
- this.hooks({
134
- create: [(0, schema_1.resolveDispatch)(), (0, hooks_1.connection)('login'), (0, hooks_1.event)('login')],
135
- remove: [(0, schema_1.resolveDispatch)(), (0, hooks_1.connection)('logout'), (0, hooks_1.event)('logout')]
136
- });
137
- this.app.on('disconnect', async (connection) => {
138
- await this.handleConnection('disconnect', connection);
139
- });
140
141
  if (typeof this.publish === 'function') {
141
142
  this.publish(() => null);
142
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@feathersjs/authentication",
3
3
  "description": "Add Authentication to your FeathersJS app.",
4
- "version": "5.0.0-pre.30",
4
+ "version": "5.0.0-pre.32",
5
5
  "homepage": "https://feathersjs.com",
6
6
  "main": "lib/",
7
7
  "types": "lib/",
@@ -53,11 +53,12 @@
53
53
  "access": "public"
54
54
  },
55
55
  "dependencies": {
56
- "@feathersjs/commons": "^5.0.0-pre.30",
57
- "@feathersjs/errors": "^5.0.0-pre.30",
58
- "@feathersjs/feathers": "^5.0.0-pre.30",
59
- "@feathersjs/schema": "^5.0.0-pre.30",
60
- "@feathersjs/transport-commons": "^5.0.0-pre.30",
56
+ "@feathersjs/commons": "^5.0.0-pre.32",
57
+ "@feathersjs/errors": "^5.0.0-pre.32",
58
+ "@feathersjs/feathers": "^5.0.0-pre.32",
59
+ "@feathersjs/hooks": "^0.7.5",
60
+ "@feathersjs/schema": "^5.0.0-pre.32",
61
+ "@feathersjs/transport-commons": "^5.0.0-pre.32",
61
62
  "@types/jsonwebtoken": "^8.5.9",
62
63
  "jsonwebtoken": "^8.5.1",
63
64
  "lodash": "^4.17.21",
@@ -65,7 +66,7 @@
65
66
  "uuid": "^9.0.0"
66
67
  },
67
68
  "devDependencies": {
68
- "@feathersjs/memory": "^5.0.0-pre.30",
69
+ "@feathersjs/memory": "^5.0.0-pre.32",
69
70
  "@types/lodash": "^4.14.186",
70
71
  "@types/mocha": "^10.0.0",
71
72
  "@types/node": "^18.8.2",
@@ -75,5 +76,5 @@
75
76
  "ts-node": "^10.9.1",
76
77
  "typescript": "^4.8.4"
77
78
  },
78
- "gitHead": "b535c91197f4b997520e0a0e608793eeba791931"
79
+ "gitHead": "b405e205fc6d9fbd42b42c7a3f30ea4bf33d121d"
79
80
  }
@@ -1,5 +1,4 @@
1
1
  import { HookContext, NextFunction } from '@feathersjs/feathers'
2
- import omit from 'lodash/omit'
3
2
  import { AuthenticationBase, ConnectionEvent } from '../core'
4
3
 
5
4
  export default (event: ConnectionEvent) => async (context: HookContext, next: NextFunction) => {
@@ -13,8 +12,6 @@ export default (event: ConnectionEvent) => async (context: HookContext, next: Ne
13
12
  if (connection) {
14
13
  const service = context.service as unknown as AuthenticationBase
15
14
 
16
- Object.assign(connection, omit(result, 'accessToken', 'authentication'))
17
-
18
15
  await service.handleConnection(event, connection, result)
19
16
  }
20
17
  }
package/src/jwt.ts CHANGED
@@ -42,14 +42,14 @@ export class JWTStrategy extends AuthenticationBaseStrategy {
42
42
  connection.authentication.accessToken === authResult.accessToken
43
43
 
44
44
  const { accessToken } = authResult || {}
45
+ const { entity } = this.configuration
45
46
 
46
47
  if (accessToken && event === 'login') {
47
48
  debug('Adding authentication information to connection')
48
- const { exp } = await this.authentication.verifyAccessToken(accessToken)
49
+ const { exp } =
50
+ authResult?.authentication?.payload || (await this.authentication.verifyAccessToken(accessToken))
49
51
  // The time (in ms) until the token expires
50
52
  const duration = exp * 1000 - Date.now()
51
- // This may have to be a `logout` event but right now we don't want
52
- // the whole context object lingering around until the timer is gone
53
53
  const timer = lt.setTimeout(() => this.app.emit('disconnect', connection), duration)
54
54
 
55
55
  debug(`Registering connection expiration timer for ${duration}ms`)
@@ -61,13 +61,17 @@ export class JWTStrategy extends AuthenticationBaseStrategy {
61
61
  strategy: this.name,
62
62
  accessToken
63
63
  }
64
+ connection[entity] = authResult[entity]
64
65
  } else if (event === 'disconnect' || isValidLogout) {
65
66
  debug('Removing authentication information and expiration timer from connection')
66
67
 
67
- const { entity } = this.configuration
68
-
69
- delete connection[entity]
70
- delete connection.authentication
68
+ await new Promise((resolve) =>
69
+ process.nextTick(() => {
70
+ delete connection[entity]
71
+ delete connection.authentication
72
+ resolve(connection)
73
+ })
74
+ )
71
75
 
72
76
  lt.clearTimeout(this.expirationTimers.get(connection))
73
77
  this.expirationTimers.delete(connection)
package/src/service.ts CHANGED
@@ -1,12 +1,14 @@
1
1
  import merge from 'lodash/merge'
2
2
  import { NotAuthenticated } from '@feathersjs/errors'
3
- import { AuthenticationBase, AuthenticationResult, AuthenticationRequest, AuthenticationParams } from './core'
4
- import { connection, event } from './hooks'
5
3
  import '@feathersjs/transport-commons'
6
4
  import { createDebug } from '@feathersjs/commons'
7
5
  import { ServiceMethods, ServiceAddons } from '@feathersjs/feathers'
8
6
  import { resolveDispatch } from '@feathersjs/schema'
9
7
  import jsonwebtoken from 'jsonwebtoken'
8
+ import { hooks } from '@feathersjs/hooks'
9
+
10
+ import { AuthenticationBase, AuthenticationResult, AuthenticationRequest, AuthenticationParams } from './core'
11
+ import { connection, event } from './hooks'
10
12
 
11
13
  const debug = createDebug('@feathersjs/authentication/service')
12
14
 
@@ -39,6 +41,15 @@ export class AuthenticationService
39
41
  constructor(app: any, configKey = 'authentication', options = {}) {
40
42
  super(app, configKey, options)
41
43
 
44
+ hooks(this, {
45
+ create: [resolveDispatch(), connection('login'), event('login')],
46
+ remove: [resolveDispatch(), connection('logout'), event('logout')]
47
+ })
48
+
49
+ this.app.on('disconnect', async (connection) => {
50
+ await this.handleConnection('disconnect', connection)
51
+ })
52
+
42
53
  if (typeof app.defaultAuthentication !== 'function') {
43
54
  app.defaultAuthentication = function (location?: string) {
44
55
  const configKey = app.get('defaultAuthentication')
@@ -185,15 +196,6 @@ export class AuthenticationService
185
196
  }
186
197
  }
187
198
 
188
- this.hooks({
189
- create: [resolveDispatch(), connection('login'), event('login')],
190
- remove: [resolveDispatch(), connection('logout'), event('logout')]
191
- } as any)
192
-
193
- this.app.on('disconnect', async (connection) => {
194
- await this.handleConnection('disconnect', connection)
195
- })
196
-
197
199
  if (typeof this.publish === 'function') {
198
200
  this.publish(() => null)
199
201
  }