@feathersjs/authentication-oauth 5.0.23 → 5.0.25
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 +11 -0
- package/lib/index.d.ts +2 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/utils.js +10 -6
- package/lib/utils.js.map +1 -1
- package/package.json +17 -19
- package/src/index.ts +1 -1
- package/src/utils.ts +11 -7
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
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.25](https://github.com/feathersjs/feathers/compare/v5.0.24...v5.0.25) (2024-05-03)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **oauth:** Export OAuthService type ([#3479](https://github.com/feathersjs/feathers/issues/3479)) ([e7185cd](https://github.com/feathersjs/feathers/commit/e7185cde63990a0d24a7180c63b61dbc8ef6cd5b))
|
|
11
|
+
- Reduce usage of lodash ([#3455](https://github.com/feathersjs/feathers/issues/3455)) ([8ce807a](https://github.com/feathersjs/feathers/commit/8ce807a5ca53ff5b8d5107a0656c6329404e6e6c))
|
|
12
|
+
|
|
13
|
+
## [5.0.24](https://github.com/feathersjs/feathers/compare/v5.0.23...v5.0.24) (2024-03-13)
|
|
14
|
+
|
|
15
|
+
**Note:** Version bump only for package @feathersjs/authentication-oauth
|
|
16
|
+
|
|
6
17
|
## [5.0.23](https://github.com/feathersjs/feathers/compare/v5.0.22...v5.0.23) (2024-02-25)
|
|
7
18
|
|
|
8
19
|
### Bug Fixes
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Application } from '@feathersjs/feathers';
|
|
2
2
|
import { OAuthStrategy, OAuthProfile } from './strategy';
|
|
3
|
+
import { OAuthService } from './service';
|
|
3
4
|
import { OauthSetupSettings } from './utils';
|
|
4
|
-
export { OauthSetupSettings, OAuthStrategy, OAuthProfile };
|
|
5
|
+
export { OauthSetupSettings, OAuthStrategy, OAuthProfile, OAuthService };
|
|
5
6
|
export declare const oauth: (settings?: Partial<OauthSetupSettings>) => (app: Application) => void;
|
package/lib/index.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.oauth = exports.OAuthStrategy = void 0;
|
|
3
|
+
exports.oauth = exports.OAuthService = exports.OAuthStrategy = void 0;
|
|
4
4
|
const commons_1 = require("@feathersjs/commons");
|
|
5
5
|
const schema_1 = require("@feathersjs/schema");
|
|
6
6
|
const strategy_1 = require("./strategy");
|
|
7
7
|
Object.defineProperty(exports, "OAuthStrategy", { enumerable: true, get: function () { return strategy_1.OAuthStrategy; } });
|
|
8
8
|
const service_1 = require("./service");
|
|
9
|
+
Object.defineProperty(exports, "OAuthService", { enumerable: true, get: function () { return service_1.OAuthService; } });
|
|
9
10
|
const utils_1 = require("./utils");
|
|
10
11
|
const debug = (0, commons_1.createDebug)('@feathersjs/authentication-oauth');
|
|
11
12
|
const oauth = (settings = {}) => (app) => {
|
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;
|
|
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"}
|
package/lib/utils.js
CHANGED
|
@@ -8,7 +8,6 @@ require("@feathersjs/koa");
|
|
|
8
8
|
require("@feathersjs/express");
|
|
9
9
|
const cookie_session_1 = __importDefault(require("cookie-session"));
|
|
10
10
|
const koa_session_1 = __importDefault(require("koa-session"));
|
|
11
|
-
const lodash_1 = require("lodash");
|
|
12
11
|
const getGrantConfig = (service) => {
|
|
13
12
|
const { app, configuration: { oauth } } = service;
|
|
14
13
|
// Set up all the defaults
|
|
@@ -22,23 +21,28 @@ const getGrantConfig = (service) => {
|
|
|
22
21
|
host += `:${port}`;
|
|
23
22
|
}
|
|
24
23
|
}
|
|
25
|
-
|
|
24
|
+
// omit 'redirect' and 'origins' from oauth
|
|
25
|
+
const { redirect, origins, ...oauthConfig } = oauth;
|
|
26
|
+
const grant = {
|
|
27
|
+
...oauthConfig,
|
|
26
28
|
defaults: {
|
|
27
29
|
prefix: '/oauth',
|
|
28
30
|
origin: `${protocol}://${host}`,
|
|
29
31
|
transport: 'state',
|
|
30
|
-
response: ['tokens', 'raw', 'profile']
|
|
32
|
+
response: ['tokens', 'raw', 'profile'],
|
|
33
|
+
...oauthConfig.defaults
|
|
31
34
|
}
|
|
32
|
-
}
|
|
35
|
+
};
|
|
33
36
|
const getUrl = (url) => {
|
|
34
37
|
const { defaults } = grant;
|
|
35
38
|
return `${defaults.origin}${defaults.prefix}/${url}`;
|
|
36
39
|
};
|
|
37
|
-
|
|
40
|
+
// iterate over grant object with key and value
|
|
41
|
+
for (const [name, value] of Object.entries(grant)) {
|
|
38
42
|
if (name !== 'defaults') {
|
|
39
43
|
value.redirect_uri = value.redirect_uri || getUrl(`${name}/callback`);
|
|
40
44
|
}
|
|
41
|
-
}
|
|
45
|
+
}
|
|
42
46
|
return grant;
|
|
43
47
|
};
|
|
44
48
|
exports.getGrantConfig = getGrantConfig;
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;AAKA,2BAAwB;AACxB,+BAA4B;AAC5B,oEAAiD;AACjD,8DAA0C;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.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.
|
|
4
|
+
"version": "5.0.25",
|
|
5
5
|
"homepage": "https://feathersjs.com",
|
|
6
6
|
"main": "lib/",
|
|
7
7
|
"types": "lib/",
|
|
@@ -54,34 +54,32 @@
|
|
|
54
54
|
"access": "public"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@feathersjs/authentication": "^5.0.
|
|
58
|
-
"@feathersjs/commons": "^5.0.
|
|
59
|
-
"@feathersjs/errors": "^5.0.
|
|
60
|
-
"@feathersjs/express": "^5.0.
|
|
61
|
-
"@feathersjs/feathers": "^5.0.
|
|
62
|
-
"@feathersjs/koa": "^5.0.
|
|
63
|
-
"@feathersjs/schema": "^5.0.
|
|
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",
|
|
64
64
|
"cookie-session": "^2.1.0",
|
|
65
65
|
"grant": "^5.4.22",
|
|
66
66
|
"koa-session": "^6.4.0",
|
|
67
|
-
"
|
|
68
|
-
"qs": "^6.11.2"
|
|
67
|
+
"qs": "^6.12.1"
|
|
69
68
|
},
|
|
70
69
|
"devDependencies": {
|
|
71
|
-
"@feathersjs/memory": "^5.0.
|
|
72
|
-
"@types/cookie-session": "^2.0.
|
|
70
|
+
"@feathersjs/memory": "^5.0.25",
|
|
71
|
+
"@types/cookie-session": "^2.0.49",
|
|
73
72
|
"@types/express": "^4.17.21",
|
|
74
73
|
"@types/koa-session": "^6.4.5",
|
|
75
|
-
"@types/lodash": "^4.14.202",
|
|
76
74
|
"@types/mocha": "^10.0.6",
|
|
77
|
-
"@types/node": "^20.
|
|
75
|
+
"@types/node": "^20.12.8",
|
|
78
76
|
"@types/tough-cookie": "^4.0.5",
|
|
79
|
-
"axios": "^1.6.
|
|
80
|
-
"mocha": "^10.
|
|
77
|
+
"axios": "^1.6.8",
|
|
78
|
+
"mocha": "^10.4.0",
|
|
81
79
|
"shx": "^0.3.4",
|
|
82
|
-
"tough-cookie": "^4.1.
|
|
80
|
+
"tough-cookie": "^4.1.4",
|
|
83
81
|
"ts-node": "^10.9.2",
|
|
84
|
-
"typescript": "^5.
|
|
82
|
+
"typescript": "^5.4.5"
|
|
85
83
|
},
|
|
86
|
-
"gitHead": "
|
|
84
|
+
"gitHead": "01bc3339efd27df1b3e8d4f6a82152faf6c5ced3"
|
|
87
85
|
}
|
package/src/index.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { getGrantConfig, authenticationServiceOptions, OauthSetupSettings } from
|
|
|
8
8
|
|
|
9
9
|
const debug = createDebug('@feathersjs/authentication-oauth')
|
|
10
10
|
|
|
11
|
-
export { OauthSetupSettings, OAuthStrategy, OAuthProfile }
|
|
11
|
+
export { OauthSetupSettings, OAuthStrategy, OAuthProfile, OAuthService }
|
|
12
12
|
|
|
13
13
|
export const oauth =
|
|
14
14
|
(settings: Partial<OauthSetupSettings> = {}) =>
|
package/src/utils.ts
CHANGED
|
@@ -11,8 +11,6 @@ import koaCookieSession from 'koa-session'
|
|
|
11
11
|
import { AuthenticationService } from '@feathersjs/authentication'
|
|
12
12
|
import { GrantConfig } from 'grant'
|
|
13
13
|
|
|
14
|
-
import { defaultsDeep, each, omit } from 'lodash'
|
|
15
|
-
|
|
16
14
|
export interface OauthSetupSettings {
|
|
17
15
|
linkStrategy: string
|
|
18
16
|
authService?: string
|
|
@@ -38,25 +36,31 @@ export const getGrantConfig = (service: AuthenticationService): GrantConfig => {
|
|
|
38
36
|
}
|
|
39
37
|
}
|
|
40
38
|
|
|
41
|
-
|
|
39
|
+
// omit 'redirect' and 'origins' from oauth
|
|
40
|
+
const { redirect, origins, ...oauthConfig } = oauth
|
|
41
|
+
|
|
42
|
+
const grant: GrantConfig = {
|
|
43
|
+
...oauthConfig,
|
|
42
44
|
defaults: {
|
|
43
45
|
prefix: '/oauth',
|
|
44
46
|
origin: `${protocol}://${host}`,
|
|
45
47
|
transport: 'state',
|
|
46
|
-
response: ['tokens', 'raw', 'profile']
|
|
48
|
+
response: ['tokens', 'raw', 'profile'],
|
|
49
|
+
...oauthConfig.defaults
|
|
47
50
|
}
|
|
48
|
-
}
|
|
51
|
+
}
|
|
49
52
|
|
|
50
53
|
const getUrl = (url: string) => {
|
|
51
54
|
const { defaults } = grant
|
|
52
55
|
return `${defaults.origin}${defaults.prefix}/${url}`
|
|
53
56
|
}
|
|
54
57
|
|
|
55
|
-
|
|
58
|
+
// iterate over grant object with key and value
|
|
59
|
+
for (const [name, value] of Object.entries(grant)) {
|
|
56
60
|
if (name !== 'defaults') {
|
|
57
61
|
value.redirect_uri = value.redirect_uri || getUrl(`${name}/callback`)
|
|
58
62
|
}
|
|
59
|
-
}
|
|
63
|
+
}
|
|
60
64
|
|
|
61
65
|
return grant
|
|
62
66
|
}
|