@netacea/captchafeedback 1.2.9 → 1.2.13

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 ADDED
@@ -0,0 +1,65 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
+
6
+ ## [1.2.13](https://github.com/Netacea/JavascriptATAIntegration/compare/@netacea/captchafeedback@1.2.10...@netacea/captchafeedback@1.2.13) (2023-01-03)
7
+
8
+ **Note:** Version bump only for package @netacea/captchafeedback
9
+
10
+
11
+
12
+
13
+
14
+ ## [1.2.10](https://github.com/Netacea/JavascriptATAIntegration/compare/@netacea/captchafeedback@1.2.9...@netacea/captchafeedback@1.2.10) (2022-12-07)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * **captchafeedback:** INT-381: package correct captchafeedback files ([2cbe2ae](https://github.com/Netacea/JavascriptATAIntegration/commit/2cbe2ae52024104ca1271132d221441e8e6abc58))
20
+
21
+
22
+
23
+
24
+
25
+ ## [1.2.9](https://github.com/Netacea/JavascriptATAIntegration/compare/@netacea/captchafeedback@1.2.1...@netacea/captchafeedback@1.2.9) (2022-11-22)
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * **captchafeedback:** INT-337: create private makeUpdateCaptchaCall method ([602a94b](https://github.com/Netacea/JavascriptATAIntegration/commit/602a94b6946d3478959e641b17d7f1a1815e15fa))
31
+
32
+
33
+
34
+
35
+
36
+ ## [1.2.1](https://github.com/Netacea/JavascriptATAIntegration/compare/@netacea/captchafeedback@1.2.0...@netacea/captchafeedback@1.2.1) (2022-05-26)
37
+
38
+ **Note:** Version bump only for package @netacea/captchafeedback
39
+
40
+
41
+
42
+
43
+
44
+ # [1.2.0](https://github.com/Netacea/JavascriptATAIntegration/compare/@netacea/captchafeedback@1.1.0...@netacea/captchafeedback@1.2.0) (2022-04-29)
45
+
46
+
47
+ ### Features
48
+
49
+ * **Akamai:** ING-155: remove all .npmrc files ([07774ad](https://github.com/Netacea/JavascriptATAIntegration/commit/07774ad034a9a3076adae131cf784e1e22fea73e))
50
+
51
+
52
+
53
+
54
+
55
+ # 1.1.0 (2021-06-24)
56
+
57
+
58
+ ### Features
59
+
60
+ * **PB-1758:** Captcha feedback module ([47f582d](https://github.com/Netacea/JavascriptATAIntegration/commit/47f582dbc25c250719fbd66daa96fec492bca76f))
61
+ * **PB-1763:** better testing ([d39fb8c](https://github.com/Netacea/JavascriptATAIntegration/commit/d39fb8c5187561d224a094a618f8b7d6543e42c9))
62
+ * **PB-1763:** Fix changelog and README ([0954f60](https://github.com/Netacea/JavascriptATAIntegration/commit/0954f6074e0ab118cb5a6218dfe1302b5ffdf8d5))
63
+ * **PB-1763:** Fixing test ([01edfd4](https://github.com/Netacea/JavascriptATAIntegration/commit/01edfd4d0600de75bc7351a40fbbe3aeec22053d))
64
+ * **PB-1763:** Passing headers correctly. ([006fcef](https://github.com/Netacea/JavascriptATAIntegration/commit/006fceffc0f92e99b605a37833acae9c9c015e3f))
65
+ * **PB-1763:** Remove UAT and add mitserviceUrl test ([9a2151a](https://github.com/Netacea/JavascriptATAIntegration/commit/9a2151a5ed661db449747069a9148d966dcd45a5))
package/README.md CHANGED
@@ -37,6 +37,6 @@ const { cookies } = await netacea.updateCaptcha({
37
37
  result: true, // Result from captcha
38
38
  userAgent: 'client-user-agent' // Client's user-agent
39
39
  })
40
- // TODO: Set cookies to response from cookies object above
41
- // cookies.forEach(cookie => { response.setHeader('set-cookie', cookie) })
40
+ // TODO: Add the returned cookies to the set-cookie header of the response, for example:
41
+ response.header('set-cookie', cookies)
42
42
  ```
@@ -0,0 +1,137 @@
1
+ import { MitataCookie } from '@netacea/netaceaintegrationbase';
2
+ export declare type MakeRequest = (args: MakeRequestArgs) => Promise<MakeRequestResponse>;
3
+ export declare type CreateMitataCookie = (clientIP: string, userId: string | undefined, expiryTime: number, saltKey: string, mitCode: string) => string;
4
+ export declare type MatchMitataCookie = (cookie: string | undefined) => MitataCookie;
5
+ export interface CaptchaFeedbackArgs {
6
+ /**
7
+ * API Key provided by Netacea
8
+ */
9
+ apiKey: string;
10
+ /**
11
+ * Secret Key provided by Netacea
12
+ */
13
+ secretKey: string;
14
+ /**
15
+ * OPTIONAL - Mitigation Service URL provided by Netacea
16
+ */
17
+ mitigationServiceUrl?: string;
18
+ /**
19
+ * Overridable HTTP implementation
20
+ * If this is not provided - AXIOS shoulld be installed as a peer dependency.
21
+ * Error thrown if this is not provided and AXIOS is not installed.
22
+ * Install axios with `npm i axios --save`
23
+ */
24
+ makeRequest?: MakeRequest;
25
+ createMitataCookie?: CreateMitataCookie;
26
+ matchMitataCookie?: MatchMitataCookie;
27
+ }
28
+ export interface UpdateCaptchaArgs {
29
+ /**
30
+ * Incoming clients IP Address
31
+ */
32
+ clientIp: string;
33
+ /**
34
+ * Event ID that Netacea provided on the `x-netacea-event-id` header
35
+ * This should be the eventID in realtion to the event when a user was served captcha
36
+ */
37
+ eventId: string;
38
+ /**
39
+ * The entire `cookie` header received from the client
40
+ */
41
+ cookieHeader: string;
42
+ /**
43
+ * Client's user-agent header
44
+ */
45
+ userAgent: string;
46
+ /**
47
+ * Result of the captcha
48
+ * Captcha Passed = true
49
+ * Captcha Failed = false
50
+ */
51
+ result: boolean;
52
+ }
53
+ export interface MitSvcUpdateCaptchaArgs {
54
+ /**
55
+ * Incoming clients IP Address
56
+ */
57
+ clientIp: string;
58
+ /**
59
+ * Event ID that Netacea provided on the `x-netacea-event-id` header
60
+ * This should be the eventID in realtion to the event when a user was served captcha
61
+ */
62
+ eventId: string;
63
+ /**
64
+ * The entire `cookie` header received from the client
65
+ */
66
+ cookieHeader: string;
67
+ /**
68
+ * Client's user-agent header
69
+ */
70
+ userAgent: string;
71
+ /**
72
+ * Result of the captcha
73
+ * Captcha Passed = true
74
+ * Captcha Failed = false
75
+ */
76
+ result: boolean;
77
+ /**
78
+ * Client's user ID, required so the mitata captcha cookie is generated correctly
79
+ */
80
+ userId: string;
81
+ }
82
+ export interface UpdateCaptchaResponse {
83
+ /**
84
+ * The cookies object should be set as a set-cookie header in your origin server's response
85
+ * There will be a `_mitata` cookie and an optional `_mitatacaptcha` cookie set in this response.
86
+ * They follow the standard set-cookie header format.
87
+ */
88
+ cookies: string[];
89
+ }
90
+ export interface MakeRequestArgs {
91
+ /**
92
+ * The URL so send the request to. This includes the path.
93
+ */
94
+ url: string;
95
+ /**
96
+ * HTTP Method
97
+ */
98
+ method: 'POST';
99
+ /**
100
+ * Key, value of header values.
101
+ * These all need to be sent with the request.
102
+ */
103
+ headers: {
104
+ [key: string]: string;
105
+ };
106
+ /**
107
+ * Request body to send with the request
108
+ */
109
+ body: {
110
+ result: boolean;
111
+ eventId: string;
112
+ };
113
+ }
114
+ export interface MakeRequestResponse {
115
+ status: number;
116
+ headers: {
117
+ [key: string]: string;
118
+ };
119
+ }
120
+ export default class CaptchaFeedback {
121
+ private readonly apiKey;
122
+ private readonly secretKey;
123
+ private readonly mitigationServiceUrl;
124
+ private readonly makeRequest?;
125
+ private readonly createMitataCookie?;
126
+ private readonly matchMitataCookie?;
127
+ private axios;
128
+ constructor({ apiKey, secretKey, mitigationServiceUrl, makeRequest, createMitataCookie, matchMitataCookie }: CaptchaFeedbackArgs);
129
+ private makeUpdateCaptchaCall;
130
+ updateCaptcha({ clientIp, eventId, cookieHeader, result, userAgent }: UpdateCaptchaArgs): Promise<UpdateCaptchaResponse>;
131
+ private parseCookie;
132
+ private getAxios;
133
+ private makeAxiosRequest;
134
+ private makeOutboundCall;
135
+ private createCookie;
136
+ private matchCookie;
137
+ }
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const netaceaintegrationbase_1 = require("@netacea/netaceaintegrationbase");
4
+ class CaptchaFeedback {
5
+ constructor({ apiKey, secretKey, mitigationServiceUrl = 'https://mitigations.netacea.net', makeRequest, createMitataCookie, matchMitataCookie }) {
6
+ if (apiKey === null || apiKey === undefined) {
7
+ throw new Error('Netacea: apiKey is a required parameter');
8
+ }
9
+ this.apiKey = apiKey;
10
+ this.secretKey = secretKey;
11
+ this.mitigationServiceUrl = mitigationServiceUrl;
12
+ this.makeRequest = makeRequest;
13
+ this.createMitataCookie = createMitataCookie;
14
+ this.matchMitataCookie = matchMitataCookie;
15
+ }
16
+ async makeUpdateCaptchaCall({ eventId, result, clientIp, userAgent, cookieHeader, userId }) {
17
+ const response = await this.makeOutboundCall({
18
+ body: {
19
+ eventId,
20
+ result
21
+ },
22
+ headers: {
23
+ 'content-type': 'application/json; charset=utf-8',
24
+ 'x-netacea-api-key': this.apiKey,
25
+ 'x-netacea-client-ip': clientIp,
26
+ 'user-agent': userAgent,
27
+ 'cookie': cookieHeader,
28
+ 'x-netacea-userId': userId
29
+ },
30
+ method: 'POST',
31
+ url: `${this.mitigationServiceUrl}/UpdateCaptcha`
32
+ });
33
+ if (response.status !== 200) {
34
+ throw new Error(`Netacea: Non-200 status code returned from XHR call. Code was ${response.status}`);
35
+ }
36
+ return response;
37
+ }
38
+ /* eslint-disable max-lines-per-function */
39
+ // disabling max line per function as a lot of these lines come
40
+ // from getting values out of headers which isn't adding complex logic
41
+ async updateCaptcha({ clientIp, eventId, cookieHeader, result, userAgent }) {
42
+ var _a;
43
+ if (cookieHeader === undefined || cookieHeader.length === 0 || !cookieHeader.includes('_mitata=')) {
44
+ throw new Error('The cookie header must have a mitata cookie');
45
+ }
46
+ try {
47
+ const trimedParsedCookieHeader = this.parseCookie(cookieHeader);
48
+ const { userId } = (_a = this.matchCookie(trimedParsedCookieHeader)) !== null && _a !== void 0 ? _a : {};
49
+ if (userId === undefined) {
50
+ throw new Error('The cookie header must have a mitata cookie with a valid user Id');
51
+ }
52
+ const response = await this.makeUpdateCaptchaCall({
53
+ eventId,
54
+ result,
55
+ clientIp,
56
+ userAgent,
57
+ cookieHeader,
58
+ userId
59
+ });
60
+ const mitataExpiry = response.headers['x-netacea-mitata-expiry'];
61
+ const mitataCaptchaValue = response.headers['x-netacea-mitatacaptcha-value'];
62
+ const mitataCaptchaExpiry = response.headers['x-netacea-mitatacaptcha-expiry'];
63
+ const mitataMatch = response.headers['x-netacea-match'];
64
+ const mitataMitigate = response.headers['x-netacea-mitigate'];
65
+ const mitataCaptcha = response.headers['x-netacea-captcha'];
66
+ const newCookie = this.createCookie(clientIp, userId, Math.floor(Date.now() / 1000) + 60, this.secretKey, `${mitataMatch}${mitataMitigate}${mitataCaptcha}`);
67
+ return {
68
+ cookies: [
69
+ `_mitata=${newCookie}; Max-Age=${mitataExpiry}; Path=/;`,
70
+ `_mitatacaptcha=${mitataCaptchaValue}; Max-Age=${mitataCaptchaExpiry}; Path=/;`
71
+ ]
72
+ };
73
+ }
74
+ catch (e) {
75
+ // eslint-disable-next-line no-console
76
+ console.error(e);
77
+ return { cookies: [] };
78
+ }
79
+ }
80
+ /* eslint-enable max-lines-per-function */
81
+ parseCookie(cookieHeader) {
82
+ const parsedCookieHeader = cookieHeader.substring('_mitata='.length);
83
+ const trimedParsedCookieHeader = parsedCookieHeader.includes('; Max-Age=')
84
+ ? parsedCookieHeader.split(';')[0] : parsedCookieHeader;
85
+ return trimedParsedCookieHeader;
86
+ }
87
+ async getAxios() {
88
+ return await Promise.resolve().then(() => require('axios'));
89
+ }
90
+ async makeAxiosRequest({ body, headers, method, url }) {
91
+ if (this.axios === undefined) {
92
+ try {
93
+ // try to lazyload axios
94
+ this.axios = await this.getAxios();
95
+ }
96
+ catch {
97
+ // Throw error as axios req wasn't met by `peerDependencies` and makeRequest was not implemented
98
+ throw new Error(['Netacea: Axios must be installed `(npm i axios --save)`',
99
+ 'or makeRequest must be provided to override the default of axios being used.'].join(' '));
100
+ }
101
+ }
102
+ if (method === 'POST') {
103
+ const response = await this.axios.post(url, body, {
104
+ headers
105
+ });
106
+ return {
107
+ status: response.status,
108
+ headers: response.headers
109
+ };
110
+ }
111
+ throw new Error('Netacea: method not supported');
112
+ }
113
+ async makeOutboundCall(args) {
114
+ if (this.makeRequest !== undefined) {
115
+ return await this.makeRequest(args);
116
+ }
117
+ return await this.makeAxiosRequest(args);
118
+ }
119
+ createCookie(clientIP, userId, expiryTime, saltKey, mitCode) {
120
+ if (this.createMitataCookie !== undefined) {
121
+ return this.createMitataCookie(clientIP, userId, expiryTime, saltKey, mitCode);
122
+ }
123
+ return netaceaintegrationbase_1.createMitataCookie(clientIP, userId, expiryTime, saltKey, mitCode);
124
+ }
125
+ matchCookie(cookie) {
126
+ if (this.matchMitataCookie !== undefined) {
127
+ return this.matchMitataCookie(cookie);
128
+ }
129
+ return netaceaintegrationbase_1.matchMitataCookie(cookie);
130
+ }
131
+ }
132
+ exports.default = CaptchaFeedback;
133
+ //# sourceMappingURL=CaptchaFeedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CaptchaFeedback.js","sourceRoot":"","sources":["../../../src/CaptchaFeedback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import CaptchaFeedback from './CaptchaFeedback';
2
+ export default CaptchaFeedback;
3
+ export { CaptchaFeedbackArgs, MakeRequest, MakeRequestArgs, MakeRequestResponse, UpdateCaptchaArgs, UpdateCaptchaResponse } from './CaptchaFeedback';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const CaptchaFeedback_1 = require("./CaptchaFeedback");
4
+ exports.default = CaptchaFeedback_1.default;
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;AAAA,uDAA+C;AAC/C,kBAAe,yBAAe,CAAA"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@netacea/captchafeedback",
3
- "version": "1.2.9",
3
+ "version": "1.2.13",
4
4
  "description": "CAPTCHA feedback module to send CAPTCHA results back to Netacea.",
5
- "main": "dist/src/index.js",
6
- "types": "dist/src/index.d.ts",
5
+ "main": "dist/captchafeedback/src/index.js",
6
+ "types": "dist/captchafeedback/src/index.d.ts",
7
7
  "scripts": {
8
8
  "test": "npx nyc tape -r ts-node/register -r tsconfig-paths/register './tests/*.test.ts'",
9
9
  "lint": "npx eslint . --ext ts",
@@ -16,9 +16,8 @@
16
16
  "access": "public"
17
17
  },
18
18
  "files": [
19
- "./dist/captchafeedback/src",
20
- "./scripts",
21
- "./CHANGELOG.md"
19
+ "dist/captchafeedback/src",
20
+ "CHANGELOG.md"
22
21
  ],
23
22
  "license": "ISC",
24
23
  "devDependencies": {
@@ -41,5 +40,5 @@
41
40
  "dependencies": {
42
41
  "@netacea/netaceaintegrationbase": "^1.11.1"
43
42
  },
44
- "gitHead": "9d025c5c44074d6f586cc8e93c4180c5a3e260c7"
43
+ "gitHead": "c05cc8e1f82fef1532c167663d5cce4a720cb9d5"
45
44
  }