@feathersjs/authentication 5.0.0-pre.1 → 5.0.0-pre.15

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,168 @@
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.15](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.14...v5.0.0-pre.15) (2021-11-27)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **typescript:** Overall typing improvements ([#2478](https://github.com/feathersjs/feathers/issues/2478)) ([b8eb804](https://github.com/feathersjs/feathers/commit/b8eb804158556d9651a8607e3c3fda15e0bfd110))
12
+
13
+
14
+ ### Features
15
+
16
+ * **authentication-oauth:** Allow dynamic oAuth redirect ([#2469](https://github.com/feathersjs/feathers/issues/2469)) ([b7143d4](https://github.com/feathersjs/feathers/commit/b7143d4c0fbe961e714f79512be04449b9bbd7d9))
17
+
18
+
19
+
20
+
21
+
22
+ # [5.0.0-pre.14](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.13...v5.0.0-pre.14) (2021-10-13)
23
+
24
+ **Note:** Version bump only for package @feathersjs/authentication
25
+
26
+
27
+
28
+
29
+
30
+ # [5.0.0-pre.13](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.12...v5.0.0-pre.13) (2021-10-13)
31
+
32
+ **Note:** Version bump only for package @feathersjs/authentication
33
+
34
+
35
+
36
+
37
+
38
+ # [5.0.0-pre.12](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.11...v5.0.0-pre.12) (2021-10-12)
39
+
40
+ **Note:** Version bump only for package @feathersjs/authentication
41
+
42
+
43
+
44
+
45
+
46
+ # [5.0.0-pre.11](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.10...v5.0.0-pre.11) (2021-10-06)
47
+
48
+ **Note:** Version bump only for package @feathersjs/authentication
49
+
50
+
51
+
52
+
53
+
54
+ # [5.0.0-pre.10](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.9...v5.0.0-pre.10) (2021-09-19)
55
+
56
+ **Note:** Version bump only for package @feathersjs/authentication
57
+
58
+
59
+
60
+
61
+
62
+ # [5.0.0-pre.9](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.8...v5.0.0-pre.9) (2021-08-09)
63
+
64
+ **Note:** Version bump only for package @feathersjs/authentication
65
+
66
+
67
+
68
+
69
+
70
+ # [5.0.0-pre.8](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.7...v5.0.0-pre.8) (2021-08-09)
71
+
72
+ **Note:** Version bump only for package @feathersjs/authentication
73
+
74
+
75
+
76
+
77
+
78
+ # [5.0.0-pre.7](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.6...v5.0.0-pre.7) (2021-08-09)
79
+
80
+ **Note:** Version bump only for package @feathersjs/authentication
81
+
82
+
83
+
84
+
85
+
86
+ # [5.0.0-pre.6](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.5...v5.0.0-pre.6) (2021-08-08)
87
+
88
+ **Note:** Version bump only for package @feathersjs/authentication
89
+
90
+
91
+
92
+
93
+
94
+ # [5.0.0-pre.5](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.4...v5.0.0-pre.5) (2021-06-23)
95
+
96
+
97
+ ### Bug Fixes
98
+
99
+ * **hooks:** Migrate built-in hooks and allow backwards compatibility ([#2358](https://github.com/feathersjs/feathers/issues/2358)) ([759c5a1](https://github.com/feathersjs/feathers/commit/759c5a19327a731af965c3604119393b3d09a406))
100
+ * **koa:** Use extended query parser for compatibility ([#2397](https://github.com/feathersjs/feathers/issues/2397)) ([b2944ba](https://github.com/feathersjs/feathers/commit/b2944bac3ec6d5ecc80dc518cd4e58093692db74))
101
+
102
+
103
+ ### Features
104
+
105
+ * **adapter-commons:** Add support for params.adapter option and move memory adapter to @feathersjs/memory ([#2367](https://github.com/feathersjs/feathers/issues/2367)) ([a43e7da](https://github.com/feathersjs/feathers/commit/a43e7da22b6b981a96d1321736ea9a0cb924fb4f))
106
+
107
+
108
+
109
+
110
+
111
+ # [5.0.0-pre.4](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.3...v5.0.0-pre.4) (2021-05-13)
112
+
113
+ **Note:** Version bump only for package @feathersjs/authentication
114
+
115
+
116
+
117
+
118
+
119
+ # [5.0.0-pre.3](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.2...v5.0.0-pre.3) (2021-04-21)
120
+
121
+
122
+ ### Bug Fixes
123
+
124
+ * **typescript:** Improve TypeScript backwards compatibility ([#2310](https://github.com/feathersjs/feathers/issues/2310)) ([f33be73](https://github.com/feathersjs/feathers/commit/f33be73fc46a533efb15df9aab0658e3240d3897))
125
+
126
+
127
+ ### Features
128
+
129
+ * **dependencies:** Remove direct debug dependency ([#2296](https://github.com/feathersjs/feathers/issues/2296)) ([501d416](https://github.com/feathersjs/feathers/commit/501d4164d30c6a126906dc640cdfdc82207ba34a))
130
+
131
+
132
+
133
+
134
+
135
+ # [5.0.0-pre.2](https://github.com/feathersjs/feathers/compare/v5.0.0-beta.1...v5.0.0-pre.2) (2021-04-06)
136
+
137
+ **Note:** Version bump only for package @feathersjs/authentication
138
+
139
+
140
+
141
+
142
+
143
+ # [5.0.0-beta.1](https://github.com/feathersjs/feathers/compare/v5.0.0-beta.0...v5.0.0-beta.1) (2021-04-03)
144
+
145
+ **Note:** Version bump only for package @feathersjs/authentication
146
+
147
+
148
+
149
+
150
+
151
+ # [5.0.0-beta.0](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.1...v5.0.0-beta.0) (2021-03-28)
152
+
153
+
154
+ ### Bug Fixes
155
+
156
+ * Update Grant usage and other dependencies ([#2264](https://github.com/feathersjs/feathers/issues/2264)) ([7b0f8fa](https://github.com/feathersjs/feathers/commit/7b0f8fad252419ed0ad0bf259cdf3104d322ab60))
157
+
158
+
159
+ ### Features
160
+
161
+ * Application service types default to any ([#1566](https://github.com/feathersjs/feathers/issues/1566)) ([d93ba9a](https://github.com/feathersjs/feathers/commit/d93ba9a17edd20d3397bb00f4f6e82e804e42ed6))
162
+ * Feathers v5 core refactoring and features ([#2255](https://github.com/feathersjs/feathers/issues/2255)) ([2dafb7c](https://github.com/feathersjs/feathers/commit/2dafb7ce14ba57406aeec13d10ca45b1e709bee9))
163
+
164
+
165
+
166
+
167
+
6
168
  # [5.0.0-pre.1](https://github.com/feathersjs/feathers/compare/v4.5.11...v5.0.0-pre.1) (2020-12-17)
7
169
 
8
170
 
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2020 Feathers
3
+ Copyright (c) 2021 Feathers
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -18,6 +18,6 @@ Refer to the [Feathers authentication API documentation](https://docs.feathersjs
18
18
 
19
19
  ## License
20
20
 
21
- Copyright (c) 2019
21
+ Copyright (c) 2021 [Feathers contributors](https://github.com/feathersjs/feathers/graphs/contributors)
22
22
 
23
23
  Licensed under the [MIT license](LICENSE).
package/lib/core.d.ts CHANGED
@@ -98,6 +98,13 @@ export declare class AuthenticationBase {
98
98
  * @param names The list or strategy names
99
99
  */
100
100
  getStrategies(...names: string[]): AuthenticationStrategy[];
101
+ /**
102
+ * Returns a single strategy by name
103
+ *
104
+ * @param name The strategy name
105
+ * @returns The authentication strategy or undefined
106
+ */
107
+ getStrategy(name: string): AuthenticationStrategy;
101
108
  /**
102
109
  * Create a new access token with payload and options.
103
110
  *
package/lib/core.js CHANGED
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -17,9 +8,9 @@ const merge_1 = __importDefault(require("lodash/merge"));
17
8
  const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
18
9
  const uuid_1 = require("uuid");
19
10
  const errors_1 = require("@feathersjs/errors");
20
- const debug_1 = __importDefault(require("debug"));
11
+ const commons_1 = require("@feathersjs/commons");
21
12
  const options_1 = __importDefault(require("./options"));
22
- const debug = debug_1.default('@feathersjs/authentication/base');
13
+ const debug = (0, commons_1.createDebug)('@feathersjs/authentication/base');
23
14
  /**
24
15
  * A base class for managing authentication strategies and creating and verifying JWTs
25
16
  */
@@ -39,7 +30,7 @@ class AuthenticationBase {
39
30
  this.strategies = {};
40
31
  this.configKey = configKey;
41
32
  app.set('defaultAuthentication', app.get('defaultAuthentication') || configKey);
42
- app.set(configKey, merge_1.default({}, app.get(configKey), options));
33
+ app.set(configKey, (0, merge_1.default)({}, app.get(configKey), options));
43
34
  }
44
35
  /**
45
36
  * Return the current configuration from the application
@@ -86,6 +77,15 @@ class AuthenticationBase {
86
77
  return names.map(name => this.strategies[name])
87
78
  .filter(current => !!current);
88
79
  }
80
+ /**
81
+ * Returns a single strategy by name
82
+ *
83
+ * @param name The strategy name
84
+ * @returns The authentication strategy or undefined
85
+ */
86
+ getStrategy(name) {
87
+ return this.strategies[name];
88
+ }
89
89
  /**
90
90
  * Create a new access token with payload and options.
91
91
  *
@@ -93,19 +93,17 @@ class AuthenticationBase {
93
93
  * @param optsOverride The options to extend the defaults (`configuration.jwtOptions`) with
94
94
  * @param secretOverride Use a different secret instead
95
95
  */
96
- createAccessToken(payload, optsOverride, secretOverride) {
97
- return __awaiter(this, void 0, void 0, function* () {
98
- const { secret, jwtOptions } = this.configuration;
99
- // Use configuration by default but allow overriding the secret
100
- const jwtSecret = secretOverride || secret;
101
- // Default jwt options merged with additional options
102
- const options = merge_1.default({}, jwtOptions, optsOverride);
103
- if (!options.jwtid) {
104
- // Generate a UUID as JWT ID by default
105
- options.jwtid = uuid_1.v4();
106
- }
107
- return jsonwebtoken_1.default.sign(payload, jwtSecret, options);
108
- });
96
+ async createAccessToken(payload, optsOverride, secretOverride) {
97
+ const { secret, jwtOptions } = this.configuration;
98
+ // Use configuration by default but allow overriding the secret
99
+ const jwtSecret = secretOverride || secret;
100
+ // Default jwt options merged with additional options
101
+ const options = (0, merge_1.default)({}, jwtOptions, optsOverride);
102
+ if (!options.jwtid) {
103
+ // Generate a UUID as JWT ID by default
104
+ options.jwtid = (0, uuid_1.v4)();
105
+ }
106
+ return jsonwebtoken_1.default.sign(payload, jwtSecret, options);
109
107
  }
110
108
  /**
111
109
  * Verifies an access token.
@@ -114,25 +112,23 @@ class AuthenticationBase {
114
112
  * @param optsOverride The options to extend the defaults (`configuration.jwtOptions`) with
115
113
  * @param secretOverride Use a different secret instead
116
114
  */
117
- verifyAccessToken(accessToken, optsOverride, secretOverride) {
118
- return __awaiter(this, void 0, void 0, function* () {
119
- const { secret, jwtOptions } = this.configuration;
120
- const jwtSecret = secretOverride || secret;
121
- const options = merge_1.default({}, jwtOptions, optsOverride);
122
- const { algorithm } = options;
123
- // Normalize the `algorithm` setting into the algorithms array
124
- if (algorithm && !options.algorithms) {
125
- options.algorithms = Array.isArray(algorithm) ? algorithm : [algorithm];
126
- delete options.algorithm;
127
- }
128
- try {
129
- const verified = jsonwebtoken_1.default.verify(accessToken, jwtSecret, options);
130
- return verified;
131
- }
132
- catch (error) {
133
- throw new errors_1.NotAuthenticated(error.message, error);
134
- }
135
- });
115
+ async verifyAccessToken(accessToken, optsOverride, secretOverride) {
116
+ const { secret, jwtOptions } = this.configuration;
117
+ const jwtSecret = secretOverride || secret;
118
+ const options = (0, merge_1.default)({}, jwtOptions, optsOverride);
119
+ const { algorithm } = options;
120
+ // Normalize the `algorithm` setting into the algorithms array
121
+ if (algorithm && !options.algorithms) {
122
+ options.algorithms = Array.isArray(algorithm) ? algorithm : [algorithm];
123
+ delete options.algorithm;
124
+ }
125
+ try {
126
+ const verified = jsonwebtoken_1.default.verify(accessToken, jwtSecret, options);
127
+ return verified;
128
+ }
129
+ catch (error) {
130
+ throw new errors_1.NotAuthenticated(error.message, error);
131
+ }
136
132
  }
137
133
  /**
138
134
  * Authenticate a given authentication request against a list of strategies.
@@ -141,29 +137,28 @@ class AuthenticationBase {
141
137
  * @param params Service call parameters
142
138
  * @param allowed A list of allowed strategy names
143
139
  */
144
- authenticate(authentication, params, ...allowed) {
145
- return __awaiter(this, void 0, void 0, function* () {
146
- const { strategy } = authentication || {};
147
- const [authStrategy] = this.getStrategies(strategy);
148
- const strategyAllowed = allowed.includes(strategy);
149
- debug('Running authenticate for strategy', strategy, allowed);
150
- if (!authentication || !authStrategy || !strategyAllowed) {
151
- const additionalInfo = (!strategy && ' (no `strategy` set)') ||
152
- (!strategyAllowed && ' (strategy not allowed in authStrategies)') || '';
153
- // If there are no valid strategies or `authentication` is not an object
154
- throw new errors_1.NotAuthenticated('Invalid authentication information' + additionalInfo);
155
- }
156
- return authStrategy.authenticate(authentication, Object.assign(Object.assign({}, params), { authenticated: true }));
140
+ async authenticate(authentication, params, ...allowed) {
141
+ const { strategy } = authentication || {};
142
+ const [authStrategy] = this.getStrategies(strategy);
143
+ const strategyAllowed = allowed.includes(strategy);
144
+ debug('Running authenticate for strategy', strategy, allowed);
145
+ if (!authentication || !authStrategy || !strategyAllowed) {
146
+ const additionalInfo = (!strategy && ' (no `strategy` set)') ||
147
+ (!strategyAllowed && ' (strategy not allowed in authStrategies)') || '';
148
+ // If there are no valid strategies or `authentication` is not an object
149
+ throw new errors_1.NotAuthenticated('Invalid authentication information' + additionalInfo);
150
+ }
151
+ return authStrategy.authenticate(authentication, {
152
+ ...params,
153
+ authenticated: true
157
154
  });
158
155
  }
159
- handleConnection(event, connection, authResult) {
160
- return __awaiter(this, void 0, void 0, function* () {
161
- const strategies = this.getStrategies(...Object.keys(this.strategies))
162
- .filter(current => typeof current.handleConnection === 'function');
163
- for (const strategy of strategies) {
164
- yield strategy.handleConnection(event, connection, authResult);
165
- }
166
- });
156
+ async handleConnection(event, connection, authResult) {
157
+ const strategies = this.getStrategies(...Object.keys(this.strategies))
158
+ .filter(current => typeof current.handleConnection === 'function');
159
+ for (const strategy of strategies) {
160
+ await strategy.handleConnection(event, connection, authResult);
161
+ }
167
162
  }
168
163
  /**
169
164
  * Parse an HTTP request and response for authentication request information.
@@ -172,19 +167,17 @@ class AuthenticationBase {
172
167
  * @param res The HTTP response
173
168
  * @param names A list of strategies to use
174
169
  */
175
- parse(req, res, ...names) {
176
- return __awaiter(this, void 0, void 0, function* () {
177
- const strategies = this.getStrategies(...names)
178
- .filter(current => typeof current.parse === 'function');
179
- debug('Strategies parsing HTTP header for authentication information', names);
180
- for (const authStrategy of strategies) {
181
- const value = yield authStrategy.parse(req, res);
182
- if (value !== null) {
183
- return value;
184
- }
170
+ async parse(req, res, ...names) {
171
+ const strategies = this.getStrategies(...names)
172
+ .filter(current => typeof current.parse === 'function');
173
+ debug('Strategies parsing HTTP header for authentication information', names);
174
+ for (const authStrategy of strategies) {
175
+ const value = await authStrategy.parse(req, res);
176
+ if (value !== null) {
177
+ return value;
185
178
  }
186
- return null;
187
- });
179
+ }
180
+ return null;
188
181
  }
189
182
  }
190
183
  exports.AuthenticationBase = AuthenticationBase;
package/lib/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { HookContext } from '@feathersjs/feathers';
1
+ import { HookContext, NextFunction } from '@feathersjs/feathers';
2
2
  export interface AuthenticateHookSettings {
3
3
  service?: string;
4
4
  strategies: string[];
5
5
  }
6
- declare const _default: (originalSettings: string | AuthenticateHookSettings, ...originalStrategies: string[]) => (context: HookContext) => Promise<HookContext<any, import("@feathersjs/feathers/lib").Service<any>>>;
6
+ declare const _default: (originalSettings: string | AuthenticateHookSettings, ...originalStrategies: string[]) => (context: HookContext, _next?: NextFunction) => Promise<any>;
7
7
  export default _default;
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -15,16 +6,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
6
  const flatten_1 = __importDefault(require("lodash/flatten"));
16
7
  const omit_1 = __importDefault(require("lodash/omit"));
17
8
  const errors_1 = require("@feathersjs/errors");
18
- const debug_1 = __importDefault(require("debug"));
19
- const debug = debug_1.default('@feathersjs/authentication/hooks/authenticate');
9
+ const commons_1 = require("@feathersjs/commons");
10
+ const debug = (0, commons_1.createDebug)('@feathersjs/authentication/hooks/authenticate');
20
11
  exports.default = (originalSettings, ...originalStrategies) => {
21
12
  const settings = typeof originalSettings === 'string'
22
- ? { strategies: flatten_1.default([originalSettings, ...originalStrategies]) }
13
+ ? { strategies: (0, flatten_1.default)([originalSettings, ...originalStrategies]) }
23
14
  : originalSettings;
24
15
  if (!originalSettings || settings.strategies.length === 0) {
25
16
  throw new Error('The authenticate hook needs at least one allowed strategy');
26
17
  }
27
- return (context) => __awaiter(void 0, void 0, void 0, function* () {
18
+ return async (context, _next) => {
19
+ const next = typeof _next === 'function' ? _next : async () => context;
28
20
  const { app, params, type, path, service } = context;
29
21
  const { strategies } = settings;
30
22
  const { provider, authentication } = params;
@@ -41,19 +33,18 @@ exports.default = (originalSettings, ...originalStrategies) => {
41
33
  throw new errors_1.NotAuthenticated('The authenticate hook does not need to be used on the authentication service');
42
34
  }
43
35
  if (params.authenticated === true) {
44
- return context;
36
+ return next();
45
37
  }
46
38
  if (authentication) {
47
- const authParams = omit_1.default(params, 'provider', 'authentication');
39
+ const authParams = (0, omit_1.default)(params, 'provider', 'authentication');
48
40
  debug('Authenticating with', authentication, strategies);
49
- const authResult = yield authService.authenticate(authentication, authParams, ...strategies);
50
- context.params = Object.assign({}, params, omit_1.default(authResult, 'accessToken'), { authenticated: true });
51
- return context;
41
+ const authResult = await authService.authenticate(authentication, authParams, ...strategies);
42
+ context.params = Object.assign({}, params, (0, omit_1.default)(authResult, 'accessToken'), { authenticated: true });
52
43
  }
53
44
  else if (provider) {
54
45
  throw new errors_1.NotAuthenticated('Not authenticated');
55
46
  }
56
- return context;
57
- });
47
+ return next();
48
+ };
58
49
  };
59
50
  //# sourceMappingURL=authenticate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authenticate.js","sourceRoot":"","sources":["../../src/hooks/authenticate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,6DAAqC;AACrC,uDAA+B;AAE/B,+CAAsD;AACtD,kDAA0B;AAE1B,MAAM,KAAK,GAAG,eAAK,CAAC,+CAA+C,CAAC,CAAC;AAOrE,kBAAe,CAAC,gBAAmD,EAAE,GAAG,kBAA4B,EAAE,EAAE;IACtG,MAAM,QAAQ,GAAG,OAAO,gBAAgB,KAAK,QAAQ;QACnD,CAAC,CAAC,EAAE,UAAU,EAAE,iBAAO,CAAC,CAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAE,CAAC,EAAE;QACtE,CAAC,CAAC,gBAAgB,CAAC;IAErB,IAAI,CAAC,gBAAgB,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QACzD,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;KAC9E;IAED,OAAO,CAAO,OAAoB,EAAE,EAAE;QACpC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;QAChC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;QAC5C,MAAM,WAAW,GAAG,GAAG,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEhE,KAAK,CAAC,iCAAiC,IAAI,GAAG,CAAC,CAAC;QAEhD,IAAI,IAAI,IAAI,IAAI,KAAK,QAAQ,EAAE;YAC7B,MAAM,IAAI,yBAAgB,CAAC,qDAAqD,CAAC,CAAC;SACnF;QAED,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,CAAC,YAAY,KAAK,UAAU,EAAE;YAClE,MAAM,IAAI,yBAAgB,CAAC,+CAA+C,CAAC,CAAC;SAC7E;QAED,aAAa;QACb,IAAI,OAAO,KAAK,WAAW,EAAE;YAC3B,MAAM,IAAI,yBAAgB,CAAC,8EAA8E,CAAC,CAAC;SAC5G;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,EAAE;YACjC,OAAO,OAAO,CAAC;SAChB;QAED,IAAI,cAAc,EAAE;YAClB,MAAM,UAAU,GAAG,cAAI,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAE9D,KAAK,CAAC,qBAAqB,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;YAEzD,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;YAE7F,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,cAAI,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAErG,OAAO,OAAO,CAAC;SAChB;aAAM,IAAI,QAAQ,EAAE;YACnB,MAAM,IAAI,yBAAgB,CAAC,mBAAmB,CAAC,CAAC;SACjD;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAA,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"authenticate.js","sourceRoot":"","sources":["../../src/hooks/authenticate.ts"],"names":[],"mappings":";;;;;AAAA,6DAAqC;AACrC,uDAA+B;AAE/B,+CAAsD;AACtD,iDAAkD;AAElD,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC,+CAA+C,CAAC,CAAC;AAO3E,kBAAe,CAAC,gBAAmD,EAAE,GAAG,kBAA4B,EAAE,EAAE;IACtG,MAAM,QAAQ,GAAG,OAAO,gBAAgB,KAAK,QAAQ;QACnD,CAAC,CAAC,EAAE,UAAU,EAAE,IAAA,iBAAO,EAAC,CAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAE,CAAC,EAAE;QACtE,CAAC,CAAC,gBAAgB,CAAC;IAErB,IAAI,CAAC,gBAAgB,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QACzD,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;KAC9E;IAED,OAAO,KAAK,EAAE,OAAoB,EAAE,KAAoB,EAAE,EAAE;QAC1D,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC;QACvE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;QAChC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;QAC5C,MAAM,WAAW,GAAG,GAAG,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEhE,KAAK,CAAC,iCAAiC,IAAI,GAAG,CAAC,CAAC;QAEhD,IAAI,IAAI,IAAI,IAAI,KAAK,QAAQ,EAAE;YAC7B,MAAM,IAAI,yBAAgB,CAAC,qDAAqD,CAAC,CAAC;SACnF;QAED,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,CAAC,YAAY,KAAK,UAAU,EAAE;YAClE,MAAM,IAAI,yBAAgB,CAAC,+CAA+C,CAAC,CAAC;SAC7E;QAED,aAAa;QACb,IAAI,OAAO,KAAK,WAAW,EAAE;YAC3B,MAAM,IAAI,yBAAgB,CAAC,8EAA8E,CAAC,CAAC;SAC5G;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,EAAE;YACjC,OAAO,IAAI,EAAE,CAAC;SACf;QAED,IAAI,cAAc,EAAE;YAClB,MAAM,UAAU,GAAG,IAAA,cAAI,EAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAE9D,KAAK,CAAC,qBAAqB,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;YAEzD,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;YAE7F,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,cAAI,EAAC,UAAU,EAAE,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;SACtG;aAAM,IAAI,QAAQ,EAAE;YACnB,MAAM,IAAI,yBAAgB,CAAC,mBAAmB,CAAC,CAAC;SACjD;QAED,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { HookContext } from '@feathersjs/feathers';
1
+ import { HookContext, NextFunction } from '@feathersjs/feathers';
2
2
  import { ConnectionEvent } from '../core';
3
- declare const _default: (event: ConnectionEvent) => (context: HookContext) => Promise<HookContext<any, import("@feathersjs/feathers/lib").Service<any>>>;
3
+ declare const _default: (event: ConnectionEvent) => (context: HookContext, next: NextFunction) => Promise<void>;
4
4
  export default _default;
@@ -1,26 +1,16 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
14
5
  Object.defineProperty(exports, "__esModule", { value: true });
15
6
  const omit_1 = __importDefault(require("lodash/omit"));
16
- exports.default = (event) => (context) => __awaiter(void 0, void 0, void 0, function* () {
7
+ exports.default = (event) => async (context, next) => {
8
+ await next();
17
9
  const { result, params: { connection } } = context;
18
- if (!connection) {
19
- return context;
10
+ if (connection) {
11
+ const service = context.service;
12
+ Object.assign(connection, (0, omit_1.default)(result, 'accessToken', 'authentication'));
13
+ await service.handleConnection(event, connection, result);
20
14
  }
21
- const service = context.service;
22
- Object.assign(connection, omit_1.default(result, 'accessToken', 'authentication'));
23
- yield service.handleConnection(event, connection, result);
24
- return context;
25
- });
15
+ };
26
16
  //# sourceMappingURL=connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/hooks/connection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,uDAA+B;AAG/B,kBAAe,CAAC,KAAsB,EAAE,EAAE,CAAC,CAAO,OAAoB,EAAE,EAAE;IACxE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC;IAEnD,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAwC,CAAC;IAEjE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,cAAI,CAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEzE,MAAM,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAE1D,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA,CAAC"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/hooks/connection.ts"],"names":[],"mappings":";;;;;AACA,uDAA+B;AAG/B,kBAAe,CAAC,KAAsB,EAAE,EAAE,CAAC,KAAK,EAAE,OAAoB,EAAE,IAAkB,EAAE,EAAE;IAC5F,MAAM,IAAI,EAAE,CAAC;IAEb,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC;IAEnD,IAAI,UAAU,EAAE;QACd,MAAM,OAAO,GAAG,OAAO,CAAC,OAAwC,CAAC;QAEjE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAA,cAAI,EAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAEzE,MAAM,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;KAC3D;AACH,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { HookContext } from '@feathersjs/feathers';
1
+ import { HookContext, NextFunction } from '@feathersjs/feathers';
2
2
  import { ConnectionEvent } from '../core';
3
- declare const _default: (event: ConnectionEvent) => (context: HookContext) => Promise<HookContext<any, import("@feathersjs/feathers/lib").Service<any>>>;
3
+ declare const _default: (event: ConnectionEvent) => (context: HookContext, next: NextFunction) => Promise<void>;
4
4
  export default _default;
@@ -1,25 +1,13 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
- const debug_1 = __importDefault(require("debug"));
16
- const debug = debug_1.default('@feathersjs/authentication/hooks/connection');
17
- exports.default = (event) => (context) => __awaiter(void 0, void 0, void 0, function* () {
3
+ const commons_1 = require("@feathersjs/commons");
4
+ const debug = (0, commons_1.createDebug)('@feathersjs/authentication/hooks/connection');
5
+ exports.default = (event) => async (context, next) => {
6
+ await next();
18
7
  const { app, result, params } = context;
19
8
  if (params.provider && result) {
20
9
  debug(`Sending authentication event '${event}'`);
21
10
  app.emit(event, result, params, context);
22
11
  }
23
- return context;
24
- });
12
+ };
25
13
  //# sourceMappingURL=event.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/hooks/event.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAI1B,MAAM,KAAK,GAAG,eAAK,CAAC,6CAA6C,CAAC,CAAC;AAEnE,kBAAe,CAAC,KAAsB,EAAE,EAAE,CAAC,CAAO,OAAoB,EAAE,EAAE;IACxE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAExC,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,EAAE;QAC7B,KAAK,CAAC,iCAAiC,KAAK,GAAG,CAAC,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;KAC1C;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA,CAAC"}
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/hooks/event.ts"],"names":[],"mappings":";;AACA,iDAAkD;AAGlD,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC,6CAA6C,CAAC,CAAC;AAEzE,kBAAe,CAAC,KAAsB,EAAE,EAAE,CAAC,KAAK,EAAE,OAAoB,EAAE,IAAkB,EAAE,EAAE;IAC5F,MAAM,IAAI,EAAE,CAAC;IAEb,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAExC,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,EAAE;QAC7B,KAAK,CAAC,iCAAiC,KAAK,GAAG,CAAC,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;KAC1C;AACH,CAAC,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,7 +1,5 @@
1
- import * as hooks from './hooks';
2
- declare const authenticate: (originalSettings: string | import("./hooks/authenticate").AuthenticateHookSettings, ...originalStrategies: string[]) => (context: import("@feathersjs/feathers/lib").HookContext<any, import("@feathersjs/feathers/lib").Service<any>>) => Promise<import("@feathersjs/feathers/lib").HookContext<any, import("@feathersjs/feathers/lib").Service<any>>>;
3
- export { hooks };
4
- export { authenticate };
1
+ export * as hooks from './hooks';
2
+ export { authenticate } from './hooks';
5
3
  export { AuthenticationBase, AuthenticationRequest, AuthenticationResult, AuthenticationStrategy, ConnectionEvent } from './core';
6
4
  export { AuthenticationBaseStrategy } from './strategy';
7
5
  export { AuthenticationService } from './service';