@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 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 || cookieHeader.length === 0 || !cookieHeader.includes('_mitata=')) {
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 { userId } = (_a = this.matchCookie(trimedParsedCookieHeader)) !== null && _a !== void 0 ? _a : {};
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
- `_mitata=${newCookie}; Max-Age=${mitataExpiry}; Path=/;`,
70
- `_mitatacaptcha=${mitataCaptchaValue}; Max-Age=${mitataCaptchaExpiry}; Path=/;`
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('_mitata='.length);
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":"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"}
1
+ {"version":3,"file":"CaptchaFeedback.js","sourceRoot":"","sources":["../../../src/CaptchaFeedback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function encrypt(s: string, secret: string): Promise<string>;
2
+ export declare function decrypt(jwe: string, secret: string): Promise<any>;
@@ -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.2.18",
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": "56d38b9c1fbb5e31f84edb9630422249f4c5c874"
44
+ "gitHead": "dc4602dacb541248e5bec9a9274f2f82a56d0b3b"
44
45
  }