@feathersjs/authentication-oauth 5.0.25 → 5.0.27

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,16 @@
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.27](https://github.com/feathersjs/feathers/compare/v5.0.26...v5.0.27) (2024-06-18)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **authentication-oauth:** Allow POST oauth callbacks ([#3497](https://github.com/feathersjs/feathers/issues/3497)) ([ffcc90b](https://github.com/feathersjs/feathers/commit/ffcc90bb95329cbb4b8f310e37024d417c216d8c))
11
+
12
+ ## [5.0.26](https://github.com/feathersjs/feathers/compare/v5.0.25...v5.0.26) (2024-06-09)
13
+
14
+ **Note:** Version bump only for package @feathersjs/authentication-oauth
15
+
6
16
  ## [5.0.25](https://github.com/feathersjs/feathers/compare/v5.0.24...v5.0.25) (2024-05-03)
7
17
 
8
18
  ### Bug Fixes
package/lib/index.js CHANGED
@@ -25,14 +25,22 @@ const oauth = (settings = {}) => (app) => {
25
25
  const grantConfig = (0, utils_1.getGrantConfig)(authService);
26
26
  const serviceOptions = (0, utils_1.authenticationServiceOptions)(authService, oauthOptions);
27
27
  const servicePath = `${grantConfig.defaults.prefix || 'oauth'}/:provider`;
28
- app.use(servicePath, new service_1.OAuthService(authService, oauthOptions), serviceOptions);
29
- const oauthService = app.service(servicePath);
30
- oauthService.hooks({
28
+ const callbackServicePath = `${servicePath}/callback`;
29
+ const oauthService = new service_1.OAuthService(authService, oauthOptions);
30
+ app.use(servicePath, oauthService, serviceOptions);
31
+ app.use(callbackServicePath, new service_1.OAuthCallbackService(oauthService), serviceOptions);
32
+ app.service(servicePath).hooks({
31
33
  around: { all: [(0, schema_1.resolveDispatch)(), (0, service_1.redirectHook)()] }
32
34
  });
33
- if (typeof oauthService.publish === 'function') {
35
+ app.service(callbackServicePath).hooks({
36
+ around: { all: [(0, schema_1.resolveDispatch)(), (0, service_1.redirectHook)()] }
37
+ });
38
+ if (typeof app.service(servicePath).publish === 'function') {
34
39
  app.service(servicePath).publish(() => null);
35
40
  }
41
+ if (typeof app.service(callbackServicePath).publish === 'function') {
42
+ app.service(callbackServicePath).publish(() => null);
43
+ }
36
44
  };
37
45
  exports.oauth = oauth;
38
46
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,iDAAiD;AACjD,+CAAoD;AAEpD,yCAAwD;AAM3B,8FANpB,wBAAa,OAMoB;AAL1C,uCAAsD;AAKI,6FALnC,sBAAY,OAKmC;AAJtE,mCAA0F;AAE1F,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC,kCAAkC,CAAC,CAAA;AAItD,MAAM,KAAK,GAChB,CAAC,WAAwC,EAAE,EAAE,EAAE,CAC/C,CAAC,GAAgB,EAAE,EAAE;IACnB,MAAM,WAAW,GAAG,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEtG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,0FAA0F,CAC3F,CAAA;IACH,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACrC,KAAK,CAAC,qFAAqF,CAAC,CAAA;QAC5F,OAAM;IACR,CAAC;IAED,MAAM,YAAY,GAAG;QACnB,YAAY,EAAE,KAAK;QACnB,GAAG,QAAQ;KACZ,CAAA;IAED,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,WAAW,CAAC,CAAA;IAC/C,MAAM,cAAc,GAAG,IAAA,oCAA4B,EAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IAC9E,MAAM,WAAW,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,IAAI,OAAO,YAAY,CAAA;IAEzE,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,sBAAY,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,cAAc,CAAC,CAAA;IAEjF,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAE7C,YAAY,CAAC,KAAK,CAAC;QACjB,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,IAAA,wBAAe,GAAE,EAAE,IAAA,sBAAY,GAAE,CAAC,EAAE;KACrD,CAAC,CAAA;IAEF,IAAI,OAAO,YAAY,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC/C,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC,CAAA;AApCU,QAAA,KAAK,SAoCf"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,iDAAiD;AACjD,+CAAoD;AAEpD,yCAAwD;AAM3B,8FANpB,wBAAa,OAMoB;AAL1C,uCAA4E;AAKlB,6FALnC,sBAAY,OAKmC;AAJtE,mCAA0F;AAE1F,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC,kCAAkC,CAAC,CAAA;AAItD,MAAM,KAAK,GAChB,CAAC,WAAwC,EAAE,EAAE,EAAE,CAC/C,CAAC,GAAgB,EAAE,EAAE;IACnB,MAAM,WAAW,GAAG,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEtG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,0FAA0F,CAC3F,CAAA;IACH,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACrC,KAAK,CAAC,qFAAqF,CAAC,CAAA;QAC5F,OAAM;IACR,CAAC;IAED,MAAM,YAAY,GAAG;QACnB,YAAY,EAAE,KAAK;QACnB,GAAG,QAAQ;KACZ,CAAA;IAED,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,WAAW,CAAC,CAAA;IAC/C,MAAM,cAAc,GAAG,IAAA,oCAA4B,EAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IAC9E,MAAM,WAAW,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,IAAI,OAAO,YAAY,CAAA;IACzE,MAAM,mBAAmB,GAAG,GAAG,WAAW,WAAW,CAAA;IACrD,MAAM,YAAY,GAAG,IAAI,sBAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IAEhE,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;IAClD,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,8BAAoB,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,CAAA;IACpF,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;QAC7B,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,IAAA,wBAAe,GAAE,EAAE,IAAA,sBAAY,GAAE,CAAC,EAAE;KACrD,CAAC,CAAA;IACF,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC;QACrC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,IAAA,wBAAe,GAAE,EAAE,IAAA,sBAAY,GAAE,CAAC,EAAE;KACrD,CAAC,CAAA;IAEF,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3D,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IACtD,CAAC;AACH,CAAC,CAAA;AA3CU,QAAA,KAAK,SA2Cf"}
package/lib/service.d.ts CHANGED
@@ -29,8 +29,16 @@ export declare class OAuthService {
29
29
  location: string;
30
30
  }>;
31
31
  find(params: OAuthParams): Promise<GrantResponse>;
32
- get(override: string, params: OAuthParams): Promise<{
32
+ get(override: string, params: OAuthParams): Promise<GrantResponse>;
33
+ create(data: any, params: OAuthParams): Promise<GrantResponse>;
34
+ }
35
+ export declare class OAuthCallbackService {
36
+ service: OAuthService;
37
+ constructor(service: OAuthService);
38
+ find(params: OAuthParams): Promise<{
39
+ location: string;
40
+ }>;
41
+ create(data: any, params: OAuthParams): Promise<{
33
42
  location: string;
34
43
  }>;
35
- create(data: any, params: OAuthParams): Promise<GrantResponse>;
36
44
  }
package/lib/service.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.OAuthService = exports.redirectHook = exports.OAuthError = void 0;
6
+ exports.OAuthCallbackService = exports.OAuthService = exports.redirectHook = exports.OAuthError = void 0;
7
7
  const commons_1 = require("@feathersjs/commons");
8
8
  const errors_1 = require("@feathersjs/errors");
9
9
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -133,9 +133,6 @@ class OAuthService {
133
133
  }
134
134
  async get(override, params) {
135
135
  const result = await this.handler('GET', params, {}, override);
136
- if (override === 'callback') {
137
- return this.authenticate(params, result);
138
- }
139
136
  return result;
140
137
  }
141
138
  async create(data, params) {
@@ -143,4 +140,18 @@ class OAuthService {
143
140
  }
144
141
  }
145
142
  exports.OAuthService = OAuthService;
143
+ class OAuthCallbackService {
144
+ constructor(service) {
145
+ this.service = service;
146
+ }
147
+ async find(params) {
148
+ const result = await this.service.handler('GET', params, {}, 'callback');
149
+ return this.service.authenticate(params, result);
150
+ }
151
+ async create(data, params) {
152
+ const result = await this.service.handler('POST', params, data, 'callback');
153
+ return this.service.authenticate(params, result);
154
+ }
155
+ }
156
+ exports.OAuthCallbackService = OAuthCallbackService;
146
157
  //# sourceMappingURL=service.js.map
@@ -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-oauth",
3
3
  "description": "oAuth 1 and 2 authentication for Feathers. Powered by Grant.",
4
- "version": "5.0.25",
4
+ "version": "5.0.27",
5
5
  "homepage": "https://feathersjs.com",
6
6
  "main": "lib/",
7
7
  "types": "lib/",
@@ -54,20 +54,20 @@
54
54
  "access": "public"
55
55
  },
56
56
  "dependencies": {
57
- "@feathersjs/authentication": "^5.0.25",
58
- "@feathersjs/commons": "^5.0.25",
59
- "@feathersjs/errors": "^5.0.25",
60
- "@feathersjs/express": "^5.0.25",
61
- "@feathersjs/feathers": "^5.0.25",
62
- "@feathersjs/koa": "^5.0.25",
63
- "@feathersjs/schema": "^5.0.25",
57
+ "@feathersjs/authentication": "^5.0.27",
58
+ "@feathersjs/commons": "^5.0.27",
59
+ "@feathersjs/errors": "^5.0.27",
60
+ "@feathersjs/express": "^5.0.27",
61
+ "@feathersjs/feathers": "^5.0.27",
62
+ "@feathersjs/koa": "^5.0.27",
63
+ "@feathersjs/schema": "^5.0.27",
64
64
  "cookie-session": "^2.1.0",
65
65
  "grant": "^5.4.22",
66
66
  "koa-session": "^6.4.0",
67
67
  "qs": "^6.12.1"
68
68
  },
69
69
  "devDependencies": {
70
- "@feathersjs/memory": "^5.0.25",
70
+ "@feathersjs/memory": "^5.0.27",
71
71
  "@types/cookie-session": "^2.0.49",
72
72
  "@types/express": "^4.17.21",
73
73
  "@types/koa-session": "^6.4.5",
@@ -81,5 +81,5 @@
81
81
  "ts-node": "^10.9.2",
82
82
  "typescript": "^5.4.5"
83
83
  },
84
- "gitHead": "01bc3339efd27df1b3e8d4f6a82152faf6c5ced3"
84
+ "gitHead": "f6ff82535fa25432757c049f54302883c59e6bb6"
85
85
  }
package/src/index.ts CHANGED
@@ -3,7 +3,7 @@ import { createDebug } from '@feathersjs/commons'
3
3
  import { resolveDispatch } from '@feathersjs/schema'
4
4
 
5
5
  import { OAuthStrategy, OAuthProfile } from './strategy'
6
- import { redirectHook, OAuthService } from './service'
6
+ import { redirectHook, OAuthService, OAuthCallbackService } from './service'
7
7
  import { getGrantConfig, authenticationServiceOptions, OauthSetupSettings } from './utils'
8
8
 
9
9
  const debug = createDebug('@feathersjs/authentication-oauth')
@@ -34,16 +34,23 @@ export const oauth =
34
34
  const grantConfig = getGrantConfig(authService)
35
35
  const serviceOptions = authenticationServiceOptions(authService, oauthOptions)
36
36
  const servicePath = `${grantConfig.defaults.prefix || 'oauth'}/:provider`
37
+ const callbackServicePath = `${servicePath}/callback`
38
+ const oauthService = new OAuthService(authService, oauthOptions)
37
39
 
38
- app.use(servicePath, new OAuthService(authService, oauthOptions), serviceOptions)
39
-
40
- const oauthService = app.service(servicePath)
41
-
42
- oauthService.hooks({
40
+ app.use(servicePath, oauthService, serviceOptions)
41
+ app.use(callbackServicePath, new OAuthCallbackService(oauthService), serviceOptions)
42
+ app.service(servicePath).hooks({
43
+ around: { all: [resolveDispatch(), redirectHook()] }
44
+ })
45
+ app.service(callbackServicePath).hooks({
43
46
  around: { all: [resolveDispatch(), redirectHook()] }
44
47
  })
45
48
 
46
- if (typeof oauthService.publish === 'function') {
49
+ if (typeof app.service(servicePath).publish === 'function') {
47
50
  app.service(servicePath).publish(() => null)
48
51
  }
52
+
53
+ if (typeof app.service(callbackServicePath).publish === 'function') {
54
+ app.service(callbackServicePath).publish(() => null)
55
+ }
49
56
  }
package/src/service.ts CHANGED
@@ -178,10 +178,6 @@ export class OAuthService {
178
178
  async get(override: string, params: OAuthParams) {
179
179
  const result = await this.handler('GET', params, {}, override)
180
180
 
181
- if (override === 'callback') {
182
- return this.authenticate(params, result)
183
- }
184
-
185
181
  return result
186
182
  }
187
183
 
@@ -189,3 +185,19 @@ export class OAuthService {
189
185
  return this.handler('POST', params, data)
190
186
  }
191
187
  }
188
+
189
+ export class OAuthCallbackService {
190
+ constructor(public service: OAuthService) {}
191
+
192
+ async find(params: OAuthParams) {
193
+ const result = await this.service.handler('GET', params, {}, 'callback')
194
+
195
+ return this.service.authenticate(params, result)
196
+ }
197
+
198
+ async create(data: any, params: OAuthParams) {
199
+ const result = await this.service.handler('POST', params, data, 'callback')
200
+
201
+ return this.service.authenticate(params, result)
202
+ }
203
+ }