@netacea/captchafeedback 1.2.18 → 5.1.0
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 +43 -0
- package/dist/captchafeedback/src/CaptchaFeedback.d.ts +17 -1
- package/dist/captchafeedback/src/CaptchaFeedback.js +23 -6
- package/dist/captchafeedback/src/CaptchaFeedback.js.map +1 -1
- package/dist/captchafeedback/src/cookieEncryption.d.ts +2 -0
- package/dist/captchafeedback/src/cookieEncryption.js +23 -0
- package/dist/captchafeedback/src/cookieEncryption.js.map +1 -0
- package/package.json +4 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,49 @@
|
|
|
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.1.0](https://github.com/Netacea/JavascriptATAIntegration/compare/@netacea/captchafeedback@1.3.0...@netacea/captchafeedback@5.1.0) (2023-03-06)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **Captcha Feedback Library:** PE2-376: another package-lock.json update ([35fb5f6](https://github.com/Netacea/JavascriptATAIntegration/commit/35fb5f6f43efaf89190609a7c2f29524126dff29))
|
|
12
|
+
* **Captcha Feedback Library:** PE2-376: Change as per PR comment ([c55add7](https://github.com/Netacea/JavascriptATAIntegration/commit/c55add7b727a8fc4c75aa5edd4df492a7c13ecc2))
|
|
13
|
+
* **Captcha Feedback Library:** PE2-376: Initial changes and introduction of encryption ([780a32e](https://github.com/Netacea/JavascriptATAIntegration/commit/780a32ecdacb0e287c0a6f3e55e761734ef84daa))
|
|
14
|
+
* **Captcha Feedback Library:** PE2-376: main merge fix, improved replace function ([1b29180](https://github.com/Netacea/JavascriptATAIntegration/commit/1b291802c3a50e2a687b98d0a66978f00fd7c33a))
|
|
15
|
+
* **Captcha Feedback Library:** PE2-376: minor change to the variables ([f133b40](https://github.com/Netacea/JavascriptATAIntegration/commit/f133b4096af2f9d26840ec9efd2d4759378973a2))
|
|
16
|
+
* **Captcha Feedback Library:** PE2-376: package-lock.json update ([8f2d59f](https://github.com/Netacea/JavascriptATAIntegration/commit/8f2d59f7b2f724b0cd3cdfe5ae250a614c7179a8))
|
|
17
|
+
* **Captcha Feedback Library:** PE2-376: Restore encryption + package version bump ([d3bb153](https://github.com/Netacea/JavascriptATAIntegration/commit/d3bb15366979520f59c4553f0f763ce65328b9ef))
|
|
18
|
+
* **Captcha Feedback Library:** PE2-376: Some cleaning/refactoring ([12a496f](https://github.com/Netacea/JavascriptATAIntegration/commit/12a496f2523d807a19dcfb682394ce4f6417a711))
|
|
19
|
+
* **Captcha Feedback Library:** PE2-376: Version bump ([c6461a4](https://github.com/Netacea/JavascriptATAIntegration/commit/c6461a40b00d59ebb9a09c86aebf98309ede0ce2))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# [1.3.0](https://github.com/Netacea/JavascriptATAIntegration/compare/@netacea/captchafeedback@1.2.18...@netacea/captchafeedback@1.3.0) (2023-02-27)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Features
|
|
29
|
+
|
|
30
|
+
* **Captcha Feedback Library:** PE2-377: Added debug cookie header + version bump ([e09efbb](https://github.com/Netacea/JavascriptATAIntegration/commit/e09efbb387cc4a25a23efd44bdbd4792a107f500))
|
|
31
|
+
* **Captcha Feedback Library:** PE2-377: Added encryption and version bump ([091884a](https://github.com/Netacea/JavascriptATAIntegration/commit/091884ab5c377b817150b0bd5a6bad1b575705e9))
|
|
32
|
+
* **Captcha Feedback Library:** PE2-377: Added renaming of the cookie before making captcha update call ([d176cf3](https://github.com/Netacea/JavascriptATAIntegration/commit/d176cf3de8fc3ac1321dc1d57f0492c5788eaa43))
|
|
33
|
+
* **Captcha Feedback Library:** PE2-377: Adjust naming + bump version ([771290a](https://github.com/Netacea/JavascriptATAIntegration/commit/771290ad052a77b8a0f3f5fee867965de468db9b))
|
|
34
|
+
* **Captcha Feedback Library:** PE2-377: Bump version ([6e9ccd0](https://github.com/Netacea/JavascriptATAIntegration/commit/6e9ccd002369ec2865c775d1b3b4f2b138b09a36))
|
|
35
|
+
* **Captcha Feedback Library:** PE2-377: Changed cookie names back to default ([3d9b635](https://github.com/Netacea/JavascriptATAIntegration/commit/3d9b6352860a3f04a85fcf751b22b787fa80fd1f))
|
|
36
|
+
* **Captcha Feedback Library:** PE2-377: Changed naming of the cookies variables and amended replacement ([5262e37](https://github.com/Netacea/JavascriptATAIntegration/commit/5262e377d8c6b4f8873b21e10e8c8d8a6fbd03c6))
|
|
37
|
+
* **Captcha Feedback Library:** PE2-377: Checking different default cookies values ([0c58d68](https://github.com/Netacea/JavascriptATAIntegration/commit/0c58d68acdfff292269673c155da55446d785d90))
|
|
38
|
+
* **Captcha Feedback Library:** PE2-377: Cleaning ([ac41e78](https://github.com/Netacea/JavascriptATAIntegration/commit/ac41e7863d7ed5a6a2872e0bfa81e698b451ca4a))
|
|
39
|
+
* **Captcha Feedback Library:** PE2-377: Removing encryption and enabling custom cookies handling ([262476e](https://github.com/Netacea/JavascriptATAIntegration/commit/262476e0ef7df9e5b9be92d8b9973932fd53dbf7))
|
|
40
|
+
* **Captcha Feedback Library:** PE2-377: Reverting back to default cookie names ([bb0ff8c](https://github.com/Netacea/JavascriptATAIntegration/commit/bb0ff8c0797de668feaab4e43a482e3d4501c98f))
|
|
41
|
+
* **Captcha Feedback Library:** PE2-377: Reverting changes to test site ([ff1d548](https://github.com/Netacea/JavascriptATAIntegration/commit/ff1d54825e419ad26a3ce6b9673789bb96b37581))
|
|
42
|
+
* **Captcha Feedback Library:** PE2-377: Some initial changes ([2e1fd3d](https://github.com/Netacea/JavascriptATAIntegration/commit/2e1fd3dc1ce3c0e52d490813de054625dbeac7cd))
|
|
43
|
+
* **Captcha Feedback Library:** PE2-377: Version de-bump ([96c52dd](https://github.com/Netacea/JavascriptATAIntegration/commit/96c52dd77fa2943d1d412c1fec22cfbc66106167))
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
6
49
|
## [1.2.18](https://github.com/Netacea/JavascriptATAIntegration/compare/@netacea/captchafeedback@1.2.17...@netacea/captchafeedback@1.2.18) (2023-02-14)
|
|
7
50
|
|
|
8
51
|
**Note:** Version bump only for package @netacea/captchafeedback
|
|
@@ -11,6 +11,18 @@ export interface CaptchaFeedbackArgs {
|
|
|
11
11
|
* Secret Key provided by Netacea
|
|
12
12
|
*/
|
|
13
13
|
secretKey: string;
|
|
14
|
+
/**
|
|
15
|
+
* OPTIONAL - encryption key that will be used to decrypt cookies and encrypt new ones.
|
|
16
|
+
*/
|
|
17
|
+
cookieEncryptionKey?: string;
|
|
18
|
+
/**
|
|
19
|
+
* OPTIONAL - custom Mitata cookie name
|
|
20
|
+
*/
|
|
21
|
+
netaceaCookieName?: string;
|
|
22
|
+
/**
|
|
23
|
+
* OPTIONAL - custom Mitata Captcha cookie name
|
|
24
|
+
*/
|
|
25
|
+
netaceaCaptchaCookieName?: string;
|
|
14
26
|
/**
|
|
15
27
|
* OPTIONAL - Mitigation Service URL provided by Netacea
|
|
16
28
|
*/
|
|
@@ -83,6 +95,7 @@ export interface UpdateCaptchaResponse {
|
|
|
83
95
|
/**
|
|
84
96
|
* The cookies object should be set as a set-cookie header in your origin server's response
|
|
85
97
|
* There will be a `_mitata` cookie and an optional `_mitatacaptcha` cookie set in this response.
|
|
98
|
+
* If you set the names of the cookies to some custom values then the cookies will be called different.
|
|
86
99
|
* They follow the standard set-cookie header format.
|
|
87
100
|
*/
|
|
88
101
|
cookies: string[];
|
|
@@ -120,12 +133,15 @@ export interface MakeRequestResponse {
|
|
|
120
133
|
export default class CaptchaFeedback {
|
|
121
134
|
private readonly apiKey;
|
|
122
135
|
private readonly secretKey;
|
|
136
|
+
private readonly netaceaCookieName;
|
|
137
|
+
private readonly netaceaCaptchaCookieName;
|
|
123
138
|
private readonly mitigationServiceUrl;
|
|
139
|
+
private readonly cookieEncryptionKey?;
|
|
124
140
|
private readonly makeRequest?;
|
|
125
141
|
private readonly createMitataCookie?;
|
|
126
142
|
private readonly matchMitataCookie?;
|
|
127
143
|
private axios;
|
|
128
|
-
constructor({ apiKey, secretKey, mitigationServiceUrl, makeRequest, createMitataCookie, matchMitataCookie }: CaptchaFeedbackArgs);
|
|
144
|
+
constructor({ apiKey, secretKey, netaceaCookieName, netaceaCaptchaCookieName, mitigationServiceUrl, cookieEncryptionKey, makeRequest, createMitataCookie, matchMitataCookie }: CaptchaFeedbackArgs);
|
|
129
145
|
private makeUpdateCaptchaCall;
|
|
130
146
|
updateCaptcha({ clientIp, eventId, cookieHeader, result, userAgent }: UpdateCaptchaArgs): Promise<UpdateCaptchaResponse>;
|
|
131
147
|
private parseCookie;
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const netaceaintegrationbase_1 = require("@netacea/netaceaintegrationbase");
|
|
4
|
+
const cookieEncryption_1 = require("./cookieEncryption");
|
|
4
5
|
class CaptchaFeedback {
|
|
5
|
-
constructor({ apiKey, secretKey, mitigationServiceUrl = 'https://mitigations.netacea.net', makeRequest, createMitataCookie, matchMitataCookie }) {
|
|
6
|
+
constructor({ apiKey, secretKey, netaceaCookieName = '_mitata', netaceaCaptchaCookieName = '_mitatacaptcha', mitigationServiceUrl = 'https://mitigations.netacea.net', cookieEncryptionKey, makeRequest, createMitataCookie, matchMitataCookie }) {
|
|
6
7
|
if (apiKey === null || apiKey === undefined) {
|
|
7
8
|
throw new Error('Netacea: apiKey is a required parameter');
|
|
8
9
|
}
|
|
9
10
|
this.apiKey = apiKey;
|
|
10
11
|
this.secretKey = secretKey;
|
|
12
|
+
this.netaceaCookieName = netaceaCookieName;
|
|
13
|
+
this.netaceaCaptchaCookieName = netaceaCaptchaCookieName;
|
|
11
14
|
this.mitigationServiceUrl = mitigationServiceUrl;
|
|
15
|
+
this.cookieEncryptionKey = cookieEncryptionKey;
|
|
12
16
|
this.makeRequest = makeRequest;
|
|
13
17
|
this.createMitataCookie = createMitataCookie;
|
|
14
18
|
this.matchMitataCookie = matchMitataCookie;
|
|
15
19
|
}
|
|
16
20
|
async makeUpdateCaptchaCall({ eventId, result, clientIp, userAgent, cookieHeader, userId }) {
|
|
21
|
+
cookieHeader = cookieHeader.replace(`${this.netaceaCookieName}=`, '_mitata=');
|
|
17
22
|
const response = await this.makeOutboundCall({
|
|
18
23
|
body: {
|
|
19
24
|
eventId,
|
|
@@ -40,12 +45,18 @@ class CaptchaFeedback {
|
|
|
40
45
|
// from getting values out of headers which isn't adding complex logic
|
|
41
46
|
async updateCaptcha({ clientIp, eventId, cookieHeader, result, userAgent }) {
|
|
42
47
|
var _a;
|
|
43
|
-
if (cookieHeader === undefined ||
|
|
48
|
+
if (cookieHeader === undefined ||
|
|
49
|
+
cookieHeader.length === 0 ||
|
|
50
|
+
!cookieHeader.includes(`${this.netaceaCookieName}=`)) {
|
|
44
51
|
throw new Error('The cookie header must have a mitata cookie');
|
|
45
52
|
}
|
|
46
53
|
try {
|
|
47
54
|
const trimedParsedCookieHeader = this.parseCookie(cookieHeader);
|
|
48
|
-
const
|
|
55
|
+
const cookieValue = this.cookieEncryptionKey !== undefined
|
|
56
|
+
? await cookieEncryption_1.decrypt(trimedParsedCookieHeader, this.cookieEncryptionKey)
|
|
57
|
+
: trimedParsedCookieHeader;
|
|
58
|
+
cookieHeader.replace(`=${trimedParsedCookieHeader}`, `=${cookieValue}`);
|
|
59
|
+
const { userId } = (_a = this.matchCookie(cookieValue)) !== null && _a !== void 0 ? _a : {};
|
|
49
60
|
if (userId === undefined) {
|
|
50
61
|
throw new Error('The cookie header must have a mitata cookie with a valid user Id');
|
|
51
62
|
}
|
|
@@ -64,10 +75,16 @@ class CaptchaFeedback {
|
|
|
64
75
|
const mitataMitigate = response.headers['x-netacea-mitigate'];
|
|
65
76
|
const mitataCaptcha = response.headers['x-netacea-captcha'];
|
|
66
77
|
const newCookie = this.createCookie(clientIp, userId, Math.floor(Date.now() / 1000) + 60, this.secretKey, `${mitataMatch}${mitataMitigate}${mitataCaptcha}`);
|
|
78
|
+
const finalNewCookieValue = this.cookieEncryptionKey !== undefined
|
|
79
|
+
? await cookieEncryption_1.encrypt(newCookie, this.cookieEncryptionKey)
|
|
80
|
+
: newCookie;
|
|
81
|
+
const finalMitataCaptcha = this.cookieEncryptionKey !== undefined
|
|
82
|
+
? await cookieEncryption_1.encrypt(mitataCaptchaValue, this.cookieEncryptionKey)
|
|
83
|
+
: mitataCaptchaValue;
|
|
67
84
|
return {
|
|
68
85
|
cookies: [
|
|
69
|
-
|
|
70
|
-
|
|
86
|
+
`${this.netaceaCookieName}=${finalNewCookieValue}; Max-Age=${mitataExpiry}; Path=/;`,
|
|
87
|
+
`${this.netaceaCaptchaCookieName}=${finalMitataCaptcha}; Max-Age=${mitataCaptchaExpiry}; Path=/;`
|
|
71
88
|
]
|
|
72
89
|
};
|
|
73
90
|
}
|
|
@@ -79,7 +96,7 @@ class CaptchaFeedback {
|
|
|
79
96
|
}
|
|
80
97
|
/* eslint-enable max-lines-per-function */
|
|
81
98
|
parseCookie(cookieHeader) {
|
|
82
|
-
const parsedCookieHeader = cookieHeader.substring(
|
|
99
|
+
const parsedCookieHeader = cookieHeader.substring(`${this.netaceaCookieName}=`.length);
|
|
83
100
|
const trimedParsedCookieHeader = parsedCookieHeader.includes('; Max-Age=')
|
|
84
101
|
? parsedCookieHeader.split(';')[0] : parsedCookieHeader;
|
|
85
102
|
return trimedParsedCookieHeader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaptchaFeedback.js","sourceRoot":"","sources":["../../../src/CaptchaFeedback.ts"],"names":[],"mappings":";;AAGA,4EAAqG;
|
|
1
|
+
{"version":3,"file":"CaptchaFeedback.js","sourceRoot":"","sources":["../../../src/CaptchaFeedback.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decrypt = exports.encrypt = void 0;
|
|
4
|
+
const jose = require("jose");
|
|
5
|
+
async function encrypt(s, secret) {
|
|
6
|
+
const joseSecret = jose.base64url.decode(secret);
|
|
7
|
+
const payload = new TextEncoder().encode(s);
|
|
8
|
+
const jwt = await new jose.CompactEncrypt(payload)
|
|
9
|
+
.setProtectedHeader({ alg: 'dir', enc: 'A256GCM' })
|
|
10
|
+
.encrypt(joseSecret);
|
|
11
|
+
return jwt;
|
|
12
|
+
}
|
|
13
|
+
exports.encrypt = encrypt;
|
|
14
|
+
async function decrypt(jwe, secret) {
|
|
15
|
+
const joseSecret = jose.base64url.decode(secret);
|
|
16
|
+
const { plaintext } = await jose.compactDecrypt(jwe, joseSecret, {
|
|
17
|
+
keyManagementAlgorithms: ['dir'],
|
|
18
|
+
contentEncryptionAlgorithms: ['A256GCM']
|
|
19
|
+
});
|
|
20
|
+
return new TextDecoder().decode(plaintext);
|
|
21
|
+
}
|
|
22
|
+
exports.decrypt = decrypt;
|
|
23
|
+
//# sourceMappingURL=cookieEncryption.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cookieEncryption.js","sourceRoot":"","sources":["../../../src/cookieEncryption.ts"],"names":[],"mappings":";;;AAAA,6BAA4B;AAErB,KAAK,UAAU,OAAO,CAAE,CAAS,EAAE,MAAc;IACtD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAEhD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC3C,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;SAC/C,kBAAkB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;SAClD,OAAO,CAAC,UAAU,CAAC,CAAA;IAEtB,OAAO,GAAG,CAAA;AACZ,CAAC;AATD,0BASC;AAEM,KAAK,UAAU,OAAO,CAAE,GAAW,EAAE,MAAc;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAEhD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE;QAC/D,uBAAuB,EAAE,CAAC,KAAK,CAAC;QAChC,2BAA2B,EAAE,CAAC,SAAS,CAAC;KACzC,CAAC,CAAA;IAEF,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;AAC5C,CAAC;AATD,0BASC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@netacea/captchafeedback",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"description": "CAPTCHA feedback module to send CAPTCHA results back to Netacea.",
|
|
5
5
|
"main": "dist/captchafeedback/src/index.js",
|
|
6
6
|
"types": "dist/captchafeedback/src/index.d.ts",
|
|
@@ -38,7 +38,8 @@
|
|
|
38
38
|
"axios": "^0.21.1"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@netacea/netaceaintegrationbase": "^1.15.0"
|
|
41
|
+
"@netacea/netaceaintegrationbase": "^1.15.0",
|
|
42
|
+
"jose": "^4.11.2"
|
|
42
43
|
},
|
|
43
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "dc4602dacb541248e5bec9a9274f2f82a56d0b3b"
|
|
44
45
|
}
|