@n8n/client-oauth2 1.16.0 → 1.16.1
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/dist/build.tsbuildinfo +1 -1
- package/dist/client-oauth2.d.ts +2 -0
- package/dist/client-oauth2.js +19 -2
- package/dist/client-oauth2.js.map +1 -1
- package/dist/utils.d.ts +1 -0
- package/dist/utils.js +9 -0
- package/dist/utils.js.map +1 -1
- package/package.json +3 -3
package/dist/client-oauth2.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SsrfBridge } from '@n8n/backend-network';
|
|
1
2
|
import * as qs from 'querystring';
|
|
2
3
|
import type { ClientOAuth2TokenData } from './client-oauth2-token';
|
|
3
4
|
import { ClientOAuth2Token } from './client-oauth2-token';
|
|
@@ -30,6 +31,7 @@ export interface ClientOAuth2Options {
|
|
|
30
31
|
query?: qs.ParsedUrlQuery;
|
|
31
32
|
resource?: string;
|
|
32
33
|
ignoreSSLIssues?: boolean;
|
|
34
|
+
ssrfBridge?: SsrfBridge;
|
|
33
35
|
}
|
|
34
36
|
export declare class ResponseError extends Error {
|
|
35
37
|
readonly status: number;
|
package/dist/client-oauth2.js
CHANGED
|
@@ -81,11 +81,28 @@ class ClientOAuth2 {
|
|
|
81
81
|
validateStatus: (status) => status < 500,
|
|
82
82
|
proxy: false,
|
|
83
83
|
};
|
|
84
|
-
|
|
84
|
+
const { ssrfBridge } = this.options;
|
|
85
|
+
if (ssrfBridge) {
|
|
86
|
+
const parsed = (0, utils_1.tryParseUrl)(url);
|
|
87
|
+
if (parsed) {
|
|
88
|
+
const result = await ssrfBridge.validateUrl(parsed);
|
|
89
|
+
if (!result.ok)
|
|
90
|
+
throw result.error;
|
|
91
|
+
}
|
|
92
|
+
requestConfig.beforeRedirect = (redirected) => {
|
|
93
|
+
ssrfBridge.validateRedirectSync(String(redirected.href));
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
const lookup = (0, proxy_1.resolveProxyUrl)(url) ? undefined : ssrfBridge?.createSecureLookup();
|
|
97
|
+
if (options.ignoreSSLIssues || lookup) {
|
|
85
98
|
requestConfig.httpsAgent = (0, proxy_1.createHttpsProxyAgent)(url, undefined, {
|
|
86
|
-
rejectUnauthorized: false,
|
|
99
|
+
...(options.ignoreSSLIssues ? { rejectUnauthorized: false } : {}),
|
|
100
|
+
...(lookup ? { lookup } : {}),
|
|
87
101
|
});
|
|
88
102
|
}
|
|
103
|
+
if (lookup) {
|
|
104
|
+
requestConfig.httpAgent = (0, proxy_1.createHttpProxyAgent)(url, undefined, { lookup });
|
|
105
|
+
}
|
|
89
106
|
const response = await axios_1.default.request(requestConfig);
|
|
90
107
|
if (response.status >= 400) {
|
|
91
108
|
const body = this.parseResponseBody(response);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-oauth2.js","sourceRoot":"","sources":["../src/client-oauth2.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"client-oauth2.js","sourceRoot":"","sources":["../src/client-oauth2.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -11,5 +11,6 @@ export declare function getAuthError(body: {
|
|
|
11
11
|
error: string;
|
|
12
12
|
error_description?: string;
|
|
13
13
|
}): Error | undefined;
|
|
14
|
+
export declare function tryParseUrl(url: string): URL | null;
|
|
14
15
|
export declare function auth(username: string, password: string): string;
|
|
15
16
|
export declare function getRequestOptions({ url, method, body, query, headers }: ClientOAuth2RequestObject, options: ClientOAuth2Options): ClientOAuth2RequestObject;
|
package/dist/utils.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AuthError = void 0;
|
|
4
4
|
exports.expects = expects;
|
|
5
5
|
exports.getAuthError = getAuthError;
|
|
6
|
+
exports.tryParseUrl = tryParseUrl;
|
|
6
7
|
exports.auth = auth;
|
|
7
8
|
exports.getRequestOptions = getRequestOptions;
|
|
8
9
|
const constants_1 = require("./constants");
|
|
@@ -28,6 +29,14 @@ function getAuthError(body) {
|
|
|
28
29
|
}
|
|
29
30
|
return undefined;
|
|
30
31
|
}
|
|
32
|
+
function tryParseUrl(url) {
|
|
33
|
+
try {
|
|
34
|
+
return new URL(url);
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
31
40
|
function toString(str) {
|
|
32
41
|
return str === null ? '' : String(str);
|
|
33
42
|
}
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;AAEA,2CAA8C;AAK9C,iBACC,GAAwB,EACxB,GAAG,IAAY;IAIf,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YACjD,MAAM,IAAI,SAAS,CAAC,YAAY,GAAG,GAAG,GAAG,YAAY,CAAC,CAAC;QACxD,CAAC;IACF,CAAC;AACF,CAAC;AAED,eAAuB,SAAQ,KAAK;IACnC,YACC,OAAe,EACN,IAAS,EACT,IAAI,GAAG,OAAO;QAEvB,KAAK,CAAC,OAAO,CAAC,CAAC;oBAHN,IAAI;oBACJ,IAAI;IAGd,CAAC;CACD;;AAKD,sBAA6B,IAG5B;IACA,MAAM,OAAO,GACZ,2BAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,CAAC;IAErE,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAKD,qBAA4B,GAAW;IACtC,IAAI,CAAC;QACJ,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAKD,SAAS,QAAQ,CAAC,GAA8B;IAC/C,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AAKD,cAAqB,QAAgB,EAAE,QAAgB;IACtD,OAAO,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACjG,CAAC;AAKD,2BACC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAA6B,EAChE,OAA4B;IAE5B,MAAM,QAAQ,GAAG;QAChB,GAAG;QACH,MAAM;QACN,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE;QAClC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE;QACrC,OAAO,EAAE,OAAO,IAAI,EAAE;QACtB,eAAe,EAAE,OAAO,CAAC,eAAe;KACxC,CAAC;IAEF,IAAI,QAAQ,CAAC,OAAO,CAAC,aAAa,KAAK,EAAE,EAAE,CAAC;QAC3C,OAAO,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC;IACvC,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n8n/client-oauth2",
|
|
3
|
-
"version": "1.16.
|
|
3
|
+
"version": "1.16.1",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "src/index.ts",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
],
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"axios": "1.18.0",
|
|
14
|
-
"@n8n/
|
|
15
|
-
"@n8n/
|
|
14
|
+
"@n8n/backend-network": "1.8.1",
|
|
15
|
+
"@n8n/utils": "1.42.0"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@vitest/coverage-v8": "4.1.9",
|