@netacea/netaceaintegrationbase 1.7.0 → 1.8.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 +14 -0
- package/dist/NetaceaBase.d.ts +5 -3
- package/dist/NetaceaBase.js +59 -47
- package/dist/NetaceaBase.js.map +1 -1
- package/dist/NetaceaBase.types.d.ts +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/mitataCookie.d.ts +10 -6
- package/dist/mitataCookie.js +37 -19
- package/dist/mitataCookie.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,20 @@
|
|
|
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
|
+
# [1.8.0](https://github.com/Netacea/JavascriptATAIntegration/compare/@netacea/netaceaintegrationbase@1.7.0...@netacea/netaceaintegrationbase@1.8.0) (2021-12-08)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **integrations:** PR-16: Bumped versions ([418e08b](https://github.com/Netacea/JavascriptATAIntegration/commit/418e08bac751b0df6c946c1f1c46fb3af3da3612))
|
|
12
|
+
* **integrations:** PR-31: allow mitata expiry to be configured ([218f0d1](https://github.com/Netacea/JavascriptATAIntegration/commit/218f0d10d3f06d998e7aa18755f73b4977958814))
|
|
13
|
+
* **integrations:** PR-31: remove useFakeTimers() where not necessary ([6db65f7](https://github.com/Netacea/JavascriptATAIntegration/commit/6db65f7aae72b0688b640a37134e29da8fe4f760))
|
|
14
|
+
* **intgegrations:** PR-31: rename mitata.valid to isPrimaryHashValid ([08eddec](https://github.com/Netacea/JavascriptATAIntegration/commit/08eddece2a8abb1641e94f93fb9b3e9ac5cec6cd))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
6
20
|
# [1.7.0](https://github.com/Netacea/JavascriptATAIntegration/compare/@netacea/netaceaintegrationbase@1.6.0...@netacea/netaceaintegrationbase@1.7.0) (2021-08-17)
|
|
7
21
|
|
|
8
22
|
|
package/dist/NetaceaBase.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ export default abstract class NetaceaBase<RequestArgs = any, Response = any> {
|
|
|
33
33
|
protected captchaSecretKey?: string;
|
|
34
34
|
protected ingestType: NetaceaIngestType;
|
|
35
35
|
protected readonly logVersion: NetaceaLogVersion;
|
|
36
|
+
protected mitataCookieExpirySeconds: number;
|
|
36
37
|
private readonly mitigationServiceUrl;
|
|
37
38
|
private readonly ingestServiceUrl;
|
|
38
39
|
protected readonly mitigationType: NetaceaMitigationType;
|
|
@@ -42,7 +43,7 @@ export default abstract class NetaceaBase<RequestArgs = any, Response = any> {
|
|
|
42
43
|
protected readonly kinesis?: NetaceaKinesis;
|
|
43
44
|
abstract ingest(...args: any[]): Promise<any>;
|
|
44
45
|
abstract getCookieHeader(args: RequestArgs): string | null | undefined;
|
|
45
|
-
constructor({ apiKey, secretKey, timeout, retries, mitigationServiceUrl, ingestServiceUrl, mitigationType, captchaSiteKey, captchaSecretKey, ingestType, kinesis, logVersion }: NetaceaBaseArgs);
|
|
46
|
+
constructor({ apiKey, secretKey, timeout, retries, mitigationServiceUrl, ingestServiceUrl, mitigationType, captchaSiteKey, captchaSecretKey, ingestType, kinesis, logVersion, mitataCookieExpirySeconds }: NetaceaBaseArgs);
|
|
46
47
|
runMitigation(args: RequestArgs): Promise<NetaceaMitigationResponse<Response>>;
|
|
47
48
|
protected readCookie(cookieName: string, cookies: string | null | undefined): string | undefined;
|
|
48
49
|
protected callIngest(args: IngestArgs): Promise<void>;
|
|
@@ -51,8 +52,9 @@ export default abstract class NetaceaBase<RequestArgs = any, Response = any> {
|
|
|
51
52
|
private constructV1WebLog;
|
|
52
53
|
protected constructWebLog(args: IngestArgs): WebLog | V2WebLog;
|
|
53
54
|
protected check(netaceaCookie: string | undefined, clientIP: string, userAgent: string, captchaCookie?: string): Promise<ComposeResultResponse>;
|
|
55
|
+
private createMitata;
|
|
54
56
|
private processCaptcha;
|
|
55
|
-
private
|
|
57
|
+
private getMitataCaptchaFromHeaders;
|
|
56
58
|
private makeCaptchaAPICall;
|
|
57
59
|
private getApiCallResponseFromResponse;
|
|
58
60
|
private buildCookieFromValues;
|
|
@@ -63,7 +65,7 @@ export default abstract class NetaceaBase<RequestArgs = any, Response = any> {
|
|
|
63
65
|
protected APIError(response: APICallResponse): Error;
|
|
64
66
|
protected isUrlCaptchaPost(url: string, method: string): boolean;
|
|
65
67
|
protected processMitigateRequest(args: ProcessMitigateRequestArgs): Promise<ComposeResultResponse>;
|
|
66
|
-
protected
|
|
68
|
+
protected setIngestOnlyMitataCookie(userId: string | undefined): NetaceaResponseBase;
|
|
67
69
|
protected processIngest(args: RequestArgs): NetaceaResponseBase;
|
|
68
70
|
}
|
|
69
71
|
export {};
|
package/dist/NetaceaBase.js
CHANGED
|
@@ -23,9 +23,15 @@ function safeParseInt(value, defaultValue = 0) {
|
|
|
23
23
|
}
|
|
24
24
|
const maximumRetries = 5;
|
|
25
25
|
const defaultTimeout = 3000;
|
|
26
|
+
function configureMitataExpiry(mitigationType, expirySeconds) {
|
|
27
|
+
if (expirySeconds === undefined) {
|
|
28
|
+
return mitigationType === NetaceaBase_enums_1.NetaceaMitigationType.INGEST ? ONE_HOUR_IN_SECONDS : 60;
|
|
29
|
+
}
|
|
30
|
+
return expirySeconds;
|
|
31
|
+
}
|
|
26
32
|
class NetaceaBase {
|
|
27
33
|
// eslint-disable-next-line max-lines-per-function
|
|
28
|
-
constructor({ apiKey, secretKey, timeout = defaultTimeout, retries = maximumRetries, mitigationServiceUrl = 'https://mitigations.netacea.net', ingestServiceUrl = 'https://ingest.netacea.net', mitigationType = NetaceaBase_enums_1.NetaceaMitigationType.INGEST, captchaSiteKey, captchaSecretKey, ingestType = NetaceaBase_enums_1.NetaceaIngestType.HTTP, kinesis, logVersion }) {
|
|
34
|
+
constructor({ apiKey, secretKey, timeout = defaultTimeout, retries = maximumRetries, mitigationServiceUrl = 'https://mitigations.netacea.net', ingestServiceUrl = 'https://ingest.netacea.net', mitigationType = NetaceaBase_enums_1.NetaceaMitigationType.INGEST, captchaSiteKey, captchaSecretKey, ingestType = NetaceaBase_enums_1.NetaceaIngestType.HTTP, kinesis, logVersion, mitataCookieExpirySeconds }) {
|
|
29
35
|
if (apiKey === null || apiKey === undefined) {
|
|
30
36
|
throw new Error('apiKey is a required parameter');
|
|
31
37
|
}
|
|
@@ -54,6 +60,7 @@ class NetaceaBase {
|
|
|
54
60
|
}
|
|
55
61
|
this.timeout = correctTimeout(timeout);
|
|
56
62
|
this.retries = correctRetries(retries);
|
|
63
|
+
this.mitataCookieExpirySeconds = configureMitataExpiry(mitigationType, mitataCookieExpirySeconds);
|
|
57
64
|
}
|
|
58
65
|
async runMitigation(args) {
|
|
59
66
|
try {
|
|
@@ -194,20 +201,23 @@ class NetaceaBase {
|
|
|
194
201
|
return this.constructV1WebLog(args);
|
|
195
202
|
}
|
|
196
203
|
async check(netaceaCookie, clientIP, userAgent, captchaCookie) {
|
|
204
|
+
var _a, _b;
|
|
197
205
|
let status, match, mitigate, captcha, body, setCookie, eventId;
|
|
198
206
|
if (this.secretKey === undefined) {
|
|
199
207
|
throw new Error('Secret key is required to mitigate');
|
|
200
208
|
}
|
|
201
|
-
const cookieInfo = mitataCookie_1.
|
|
202
|
-
if (!cookieInfo.
|
|
209
|
+
const cookieInfo = mitataCookie_1.checkMitataCookie(netaceaCookie, clientIP, this.secretKey);
|
|
210
|
+
if (!cookieInfo.isPrimaryHashValid || cookieInfo.requiresReissue) {
|
|
203
211
|
// Get latest mitigation information
|
|
204
|
-
const result = await this.makeMitigateAPICall(
|
|
212
|
+
const result = await this.makeMitigateAPICall((_a = cookieInfo.mitata) === null || _a === void 0 ? void 0 : _a.userId, clientIP, userAgent, captchaCookie);
|
|
205
213
|
status = result.status;
|
|
206
214
|
match = result.match;
|
|
207
215
|
mitigate = result.mitigate;
|
|
208
216
|
captcha = result.captcha;
|
|
209
217
|
body = result.body;
|
|
210
|
-
setCookie =
|
|
218
|
+
setCookie = [
|
|
219
|
+
this.createMitata(clientIP, (_b = cookieInfo.mitata) === null || _b === void 0 ? void 0 : _b.userId, match, mitigate, captcha, result.mitataMaxAge)
|
|
220
|
+
];
|
|
211
221
|
eventId = result.eventId;
|
|
212
222
|
}
|
|
213
223
|
else {
|
|
@@ -220,38 +230,40 @@ class NetaceaBase {
|
|
|
220
230
|
}
|
|
221
231
|
return this.composeResult(body, setCookie, status, match, mitigate, captcha, false, eventId);
|
|
222
232
|
}
|
|
233
|
+
createMitata(clientIP, userId, match, mitigate, captcha, maxAge = 86400, expiry = Math.floor(Date.now() / 1000) + this.mitataCookieExpirySeconds) {
|
|
234
|
+
if (this.secretKey === undefined) {
|
|
235
|
+
throw new Error('Cannot build cookie without secret key.');
|
|
236
|
+
}
|
|
237
|
+
const mitataCode = [match, mitigate, captcha].join('');
|
|
238
|
+
const mitataValue = mitataCookie_1.createMitataCookie(clientIP, userId, expiry, this.secretKey, mitataCode);
|
|
239
|
+
return this.buildCookieFromValues('_mitata', mitataValue, maxAge, '/');
|
|
240
|
+
}
|
|
223
241
|
async processCaptcha(netaceaCookie, clientIP, userAgent, captchaData) {
|
|
224
242
|
const { status, match, mitigate, captcha, body, setCookie } = await this.makeCaptchaAPICall(netaceaCookie, clientIP, userAgent, captchaData);
|
|
225
243
|
return this.composeResult(body, setCookie, status, match, mitigate, captcha, true);
|
|
226
244
|
}
|
|
227
|
-
|
|
228
|
-
const setCookie = [];
|
|
229
|
-
const mitata = headers[dictionary_1.netaceaHeaders.mitata];
|
|
230
|
-
const mitataExpiry = parseInt(headers[dictionary_1.netaceaHeaders.mitataExpiry]);
|
|
231
|
-
const mitataCookie = this.buildCookieFromValues('_mitata', mitata, mitataExpiry);
|
|
232
|
-
if (mitataCookie !== undefined) {
|
|
233
|
-
setCookie.push(mitataCookie);
|
|
234
|
-
}
|
|
245
|
+
getMitataCaptchaFromHeaders(headers) {
|
|
235
246
|
if (Object.prototype.hasOwnProperty.call(headers, dictionary_1.netaceaHeaders.mitataCaptcha)) {
|
|
236
247
|
const mitataCaptcha = headers[dictionary_1.netaceaHeaders.mitataCaptcha];
|
|
237
248
|
const mitataCaptchaExpiry = parseInt(headers[dictionary_1.netaceaHeaders.mitataCaptchaExpiry]);
|
|
238
249
|
const mitataCaptchaCookie = this.buildCookieFromValues('_mitatacaptcha', mitataCaptcha, mitataCaptchaExpiry);
|
|
239
250
|
if (mitataCaptchaCookie !== undefined) {
|
|
240
|
-
|
|
251
|
+
return mitataCaptchaCookie;
|
|
241
252
|
}
|
|
242
253
|
}
|
|
243
|
-
return
|
|
254
|
+
return undefined;
|
|
244
255
|
}
|
|
245
256
|
async makeCaptchaAPICall(netaceaCookie, clientIP, userAgent, captchaData) {
|
|
246
257
|
const headers = {
|
|
247
258
|
'X-Netacea-API-Key': this.apiKey,
|
|
248
259
|
'X-Netacea-Client-IP': clientIP,
|
|
249
260
|
'user-agent': userAgent,
|
|
250
|
-
'cookie': this.buildCookieHeader({
|
|
251
|
-
_mitata: netaceaCookie
|
|
252
|
-
}),
|
|
253
261
|
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
|
|
254
262
|
};
|
|
263
|
+
const mitata = mitataCookie_1.matchMitataCookie(netaceaCookie);
|
|
264
|
+
if (mitata !== undefined) {
|
|
265
|
+
headers['X-Netacea-UserId'] = mitata.userId;
|
|
266
|
+
}
|
|
255
267
|
if (this.captchaSiteKey !== undefined && this.captchaSecretKey !== undefined) {
|
|
256
268
|
headers['X-Netacea-Captcha-Site-Key'] = this.captchaSiteKey;
|
|
257
269
|
headers['X-Netacea-Captcha-Secret-Key'] = this.captchaSecretKey;
|
|
@@ -264,16 +276,25 @@ class NetaceaBase {
|
|
|
264
276
|
body: captchaData,
|
|
265
277
|
timeout: this.timeout
|
|
266
278
|
});
|
|
267
|
-
return this.getApiCallResponseFromResponse(res);
|
|
279
|
+
return this.getApiCallResponseFromResponse(res, mitata === null || mitata === void 0 ? void 0 : mitata.userId, clientIP);
|
|
268
280
|
}
|
|
269
|
-
getApiCallResponseFromResponse(response) {
|
|
281
|
+
getApiCallResponseFromResponse(response, userId, clientIP) {
|
|
270
282
|
if (response.status !== 200) {
|
|
271
283
|
throw this.APIError(response);
|
|
272
284
|
}
|
|
273
285
|
const match = parseInt(response.headers[dictionary_1.netaceaHeaders.match]);
|
|
274
286
|
const mitigate = parseInt(response.headers[dictionary_1.netaceaHeaders.mitigate]);
|
|
275
287
|
const captcha = parseInt(response.headers[dictionary_1.netaceaHeaders.captcha]);
|
|
276
|
-
|
|
288
|
+
let mitataMaxAge = parseInt(response.headers[dictionary_1.netaceaHeaders.mitataExpiry]);
|
|
289
|
+
if (isNaN(mitataMaxAge)) {
|
|
290
|
+
mitataMaxAge = 86400;
|
|
291
|
+
}
|
|
292
|
+
const mitata = this.createMitata(clientIP, userId, match, mitigate, captcha);
|
|
293
|
+
const mitataCaptcha = this.getMitataCaptchaFromHeaders(response.headers);
|
|
294
|
+
const setCookie = [
|
|
295
|
+
mitata,
|
|
296
|
+
mitataCaptcha
|
|
297
|
+
].filter(c => c !== undefined);
|
|
277
298
|
const eventId = response.headers[dictionary_1.netaceaHeaders.eventId];
|
|
278
299
|
return {
|
|
279
300
|
status: response.status,
|
|
@@ -282,14 +303,12 @@ class NetaceaBase {
|
|
|
282
303
|
captcha,
|
|
283
304
|
setCookie,
|
|
284
305
|
body: response.body,
|
|
285
|
-
eventId
|
|
306
|
+
eventId,
|
|
307
|
+
mitataMaxAge
|
|
286
308
|
};
|
|
287
309
|
}
|
|
288
310
|
buildCookieFromValues(cookieName, value, maxAge, path = '/') {
|
|
289
|
-
|
|
290
|
-
return `${cookieName}=${value}; Max-Age=${maxAge}; Path=${path}`;
|
|
291
|
-
}
|
|
292
|
-
return undefined;
|
|
311
|
+
return `${cookieName}=${value}; Max-Age=${maxAge}; Path=${path}`;
|
|
293
312
|
}
|
|
294
313
|
buildCookieHeader(cookies) {
|
|
295
314
|
let cookiestr = '';
|
|
@@ -303,16 +322,18 @@ class NetaceaBase {
|
|
|
303
322
|
}
|
|
304
323
|
return cookiestr;
|
|
305
324
|
}
|
|
306
|
-
async makeMitigateAPICall(
|
|
325
|
+
async makeMitigateAPICall(userId, clientIP, userAgent, captchaCookie) {
|
|
307
326
|
const headers = {
|
|
308
327
|
'X-Netacea-API-Key': this.apiKey,
|
|
309
328
|
'X-Netacea-Client-IP': clientIP,
|
|
310
329
|
'user-agent': userAgent,
|
|
311
330
|
'cookie': this.buildCookieHeader({
|
|
312
|
-
_mitata: netaceaCookie,
|
|
313
331
|
_mitatacaptcha: captchaCookie
|
|
314
332
|
})
|
|
315
333
|
};
|
|
334
|
+
if (userId !== undefined) {
|
|
335
|
+
headers['X-Netacea-UserId'] = userId;
|
|
336
|
+
}
|
|
316
337
|
if (this.captchaSiteKey !== undefined && this.captchaSecretKey !== undefined) {
|
|
317
338
|
headers['X-Netacea-Captcha-Site-Key'] = this.captchaSiteKey;
|
|
318
339
|
headers['X-Netacea-Captcha-Secret-Key'] = this.captchaSecretKey;
|
|
@@ -324,7 +345,7 @@ class NetaceaBase {
|
|
|
324
345
|
method: 'GET',
|
|
325
346
|
timeout: this.timeout
|
|
326
347
|
});
|
|
327
|
-
return this.getApiCallResponseFromResponse(res);
|
|
348
|
+
return this.getApiCallResponseFromResponse(res, userId, clientIP);
|
|
328
349
|
}
|
|
329
350
|
composeResult(body, setCookie, status, match, mitigate, captcha, isCaptchaPost, eventId) {
|
|
330
351
|
const bestMitigation = this.findBestMitigation(match, mitigate, captcha, isCaptchaPost);
|
|
@@ -410,35 +431,26 @@ class NetaceaBase {
|
|
|
410
431
|
? this.processCaptcha(args.mitata, args.clientIp, args.userAgent, await args.getBodyFn())
|
|
411
432
|
: this.check(args.mitata, args.clientIp, args.userAgent, args.mitataCaptcha));
|
|
412
433
|
}
|
|
413
|
-
|
|
414
|
-
const
|
|
415
|
-
const userCookie = mitataCookie_1.createWorkerCookie(userId, expiryTime, saltKey);
|
|
416
|
-
const mitataCookie = this.buildCookieFromValues('_mitata', userCookie, ONE_DAY_IN_SECONDS);
|
|
417
|
-
const setCookie = [];
|
|
418
|
-
if (mitataCookie !== undefined) {
|
|
419
|
-
setCookie.push(mitataCookie);
|
|
420
|
-
}
|
|
434
|
+
setIngestOnlyMitataCookie(userId) {
|
|
435
|
+
const mitataCookie = this.createMitata(mitataCookie_1.ingestIgnoredIpValue, userId, 0, 0, 0, ONE_DAY_IN_SECONDS);
|
|
421
436
|
return {
|
|
422
437
|
sessionStatus: '',
|
|
423
|
-
setCookie
|
|
438
|
+
setCookie: [mitataCookie]
|
|
424
439
|
};
|
|
425
440
|
}
|
|
426
441
|
processIngest(args) {
|
|
442
|
+
var _a;
|
|
427
443
|
if (this.secretKey === undefined) {
|
|
428
444
|
throw new Error('Secret key is required for ingest');
|
|
429
445
|
}
|
|
430
446
|
const cookies = this.getCookieHeader(args);
|
|
431
447
|
const netaceaCookie = this.readCookie('_mitata', cookies);
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
const cookieInfo = mitataCookie_1.checkCookie(netaceaCookie, this.secretKey);
|
|
436
|
-
if (!cookieInfo.valid) {
|
|
437
|
-
return this.setWorkerCookie(undefined, this.secretKey);
|
|
448
|
+
const cookieInfo = mitataCookie_1.checkMitataCookie(netaceaCookie, mitataCookie_1.ingestIgnoredIpValue, this.secretKey);
|
|
449
|
+
if (!cookieInfo.isPrimaryHashValid) {
|
|
450
|
+
return this.setIngestOnlyMitataCookie(undefined);
|
|
438
451
|
}
|
|
439
|
-
if (cookieInfo.
|
|
440
|
-
|
|
441
|
-
return this.setWorkerCookie(mitata === null || mitata === void 0 ? void 0 : mitata.userId, this.secretKey);
|
|
452
|
+
if (cookieInfo.requiresReissue) {
|
|
453
|
+
return this.setIngestOnlyMitataCookie((_a = cookieInfo.mitata) === null || _a === void 0 ? void 0 : _a.userId);
|
|
442
454
|
}
|
|
443
455
|
return {
|
|
444
456
|
sessionStatus: '',
|
package/dist/NetaceaBase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetaceaBase.js","sourceRoot":"","sources":["../src/NetaceaBase.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NetaceaBase.js","sourceRoot":"","sources":["../src/NetaceaBase.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import NetaceaBase from './NetaceaBase';
|
|
2
2
|
export * from './NetaceaBase.enums';
|
|
3
3
|
export * from './NetaceaBase.types';
|
|
4
|
-
export { MitataCookie, matchMitataCookie } from './mitataCookie';
|
|
4
|
+
export { MitataCookie, CheckCookieResponse, matchMitataCookie, checkMitataCookie, createMitataCookie, hexSha256, ingestIgnoredIpValue } from './mitataCookie';
|
|
5
5
|
export default NetaceaBase;
|
package/dist/index.js
CHANGED
|
@@ -15,5 +15,9 @@ __exportStar(require("./NetaceaBase.enums"), exports);
|
|
|
15
15
|
__exportStar(require("./NetaceaBase.types"), exports);
|
|
16
16
|
var mitataCookie_1 = require("./mitataCookie");
|
|
17
17
|
Object.defineProperty(exports, "matchMitataCookie", { enumerable: true, get: function () { return mitataCookie_1.matchMitataCookie; } });
|
|
18
|
+
Object.defineProperty(exports, "checkMitataCookie", { enumerable: true, get: function () { return mitataCookie_1.checkMitataCookie; } });
|
|
19
|
+
Object.defineProperty(exports, "createMitataCookie", { enumerable: true, get: function () { return mitataCookie_1.createMitataCookie; } });
|
|
20
|
+
Object.defineProperty(exports, "hexSha256", { enumerable: true, get: function () { return mitataCookie_1.hexSha256; } });
|
|
21
|
+
Object.defineProperty(exports, "ingestIgnoredIpValue", { enumerable: true, get: function () { return mitataCookie_1.ingestIgnoredIpValue; } });
|
|
18
22
|
exports.default = NetaceaBase_1.default;
|
|
19
23
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAuC;AACvC,sDAAmC;AACnC,sDAAmC;AACnC,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAuC;AACvC,sDAAmC;AACnC,sDAAmC;AACnC,+CAQuB;AALrB,iHAAA,iBAAiB,OAAA;AACjB,iHAAA,iBAAiB,OAAA;AACjB,kHAAA,kBAAkB,OAAA;AAClB,yGAAA,SAAS,OAAA;AACT,oHAAA,oBAAoB,OAAA;AAGtB,kBAAe,qBAAW,CAAA"}
|
package/dist/mitataCookie.d.ts
CHANGED
|
@@ -1,22 +1,26 @@
|
|
|
1
|
+
export declare const ingestIgnoredIpValue = "ignored";
|
|
1
2
|
export interface MitataCookie {
|
|
2
3
|
signature: string;
|
|
3
4
|
expiry: string;
|
|
4
5
|
userId: string;
|
|
6
|
+
ipHash: string;
|
|
5
7
|
mitigationType: string;
|
|
6
8
|
match: number;
|
|
7
9
|
mitigate: number;
|
|
8
10
|
captcha: number;
|
|
9
11
|
}
|
|
10
|
-
interface CheckCookieResponse {
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
export interface CheckCookieResponse {
|
|
13
|
+
mitata: MitataCookie | undefined;
|
|
14
|
+
requiresReissue: boolean;
|
|
15
|
+
isExpired: boolean;
|
|
16
|
+
isSameIP: boolean;
|
|
17
|
+
isPrimaryHashValid: boolean;
|
|
13
18
|
match: number;
|
|
14
19
|
mitigate: number;
|
|
15
20
|
captcha: number;
|
|
16
21
|
}
|
|
17
22
|
export declare function matchMitataCookie(netaceaCookie: string | undefined): MitataCookie | undefined;
|
|
18
23
|
export declare function generateId(length?: number, charset?: string[]): string;
|
|
19
|
-
export declare function
|
|
24
|
+
export declare function createMitataCookie(clientIP: string, userId: string | undefined, expiryTime: number, saltKey: string, mitCode?: string): string;
|
|
20
25
|
export declare function hexSha256(value: string, saltKey: string): string;
|
|
21
|
-
export declare function
|
|
22
|
-
export {};
|
|
26
|
+
export declare function checkMitataCookie(netaceaCookie: string | undefined, clientIP: string, secretKey: string): CheckCookieResponse;
|
package/dist/mitataCookie.js
CHANGED
|
@@ -1,21 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.checkMitataCookie = exports.hexSha256 = exports.createMitataCookie = exports.generateId = exports.matchMitataCookie = exports.ingestIgnoredIpValue = void 0;
|
|
4
4
|
const crypto_1 = require("crypto");
|
|
5
5
|
const dictionary_1 = require("./dictionary");
|
|
6
|
+
// Using clientIP has no advantage when setting cookies in Ingest Only mode.
|
|
7
|
+
// We therefore use a dummy value in place of the IP.
|
|
8
|
+
// This brings its own advantage in that if the integration is switched
|
|
9
|
+
// from INGEST to MITIGATE, then the INGEST cookie will be treated as expired
|
|
10
|
+
// & a new MITIGATE cookie will be set
|
|
11
|
+
exports.ingestIgnoredIpValue = 'ignored';
|
|
6
12
|
const BASE_62_CHARSET = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');
|
|
7
|
-
const mitataCookieRegExp =
|
|
13
|
+
const mitataCookieRegExp = /^(.*)_\/@#\/(.*)_\/@#\/(.*)_\/@#\/(.*)_\/@#\/((\d)(\d)(\d))$/;
|
|
8
14
|
function matchMitataCookie(netaceaCookie) {
|
|
9
15
|
if (netaceaCookie === undefined) {
|
|
10
16
|
return undefined;
|
|
11
17
|
}
|
|
12
18
|
const matches = netaceaCookie.match(mitataCookieRegExp);
|
|
13
19
|
if (matches !== null && matches !== undefined) {
|
|
14
|
-
const [, signature, expiry, userId, mitigationType, match, mitigate, captcha] = matches;
|
|
20
|
+
const [, signature, expiry, userId, ipHash, mitigationType, match, mitigate, captcha] = matches;
|
|
15
21
|
return {
|
|
16
22
|
signature,
|
|
17
23
|
expiry,
|
|
18
24
|
userId,
|
|
25
|
+
ipHash,
|
|
19
26
|
mitigationType,
|
|
20
27
|
match: parseInt(match),
|
|
21
28
|
mitigate: parseInt(mitigate),
|
|
@@ -33,27 +40,35 @@ function generateId(length = 16, charset = BASE_62_CHARSET) {
|
|
|
33
40
|
return `c${randomString}`;
|
|
34
41
|
}
|
|
35
42
|
exports.generateId = generateId;
|
|
36
|
-
function
|
|
37
|
-
const ingestCookieValue = '000';
|
|
43
|
+
function createMitataCookie(clientIP, userId, expiryTime, saltKey, mitCode = '000') {
|
|
38
44
|
if (userId === undefined) {
|
|
39
45
|
userId = generateId();
|
|
40
46
|
}
|
|
41
|
-
const
|
|
47
|
+
const ipHash = hexSha256(clientIP + '|' + String(expiryTime), saltKey);
|
|
48
|
+
const originCookieValue = [
|
|
49
|
+
expiryTime,
|
|
50
|
+
userId,
|
|
51
|
+
ipHash,
|
|
52
|
+
mitCode
|
|
53
|
+
].join(dictionary_1.COOKIEDELIMITER);
|
|
42
54
|
const value = hexSha256(originCookieValue, saltKey);
|
|
43
55
|
const cookieValue = `${value}${dictionary_1.COOKIEDELIMITER}${originCookieValue}`;
|
|
44
56
|
return cookieValue;
|
|
45
57
|
}
|
|
46
|
-
exports.
|
|
58
|
+
exports.createMitataCookie = createMitataCookie;
|
|
47
59
|
function hexSha256(value, saltKey) {
|
|
48
60
|
const hash = crypto_1.createHmac('sha256', saltKey);
|
|
49
61
|
hash.update(value);
|
|
50
62
|
return Buffer.from(hash.digest('hex')).toString('base64');
|
|
51
63
|
}
|
|
52
64
|
exports.hexSha256 = hexSha256;
|
|
53
|
-
function
|
|
65
|
+
function checkMitataCookie(netaceaCookie, clientIP, secretKey) {
|
|
54
66
|
const defaultInvalidResponse = {
|
|
55
|
-
|
|
56
|
-
|
|
67
|
+
mitata: undefined,
|
|
68
|
+
requiresReissue: false,
|
|
69
|
+
isExpired: false,
|
|
70
|
+
isSameIP: false,
|
|
71
|
+
isPrimaryHashValid: false,
|
|
57
72
|
captcha: 0,
|
|
58
73
|
match: 0,
|
|
59
74
|
mitigate: 0
|
|
@@ -65,16 +80,19 @@ function checkCookie(netaceaCookie, secretKey) {
|
|
|
65
80
|
if (mitata !== undefined) {
|
|
66
81
|
// Check cookie signature
|
|
67
82
|
const mitSvcStringValue = [
|
|
68
|
-
mitata.expiry, mitata.userId, mitata.mitigationType
|
|
83
|
+
mitata.expiry, mitata.userId, mitata.ipHash, mitata.mitigationType
|
|
69
84
|
].join(dictionary_1.COOKIEDELIMITER);
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const
|
|
74
|
-
const valid = mitata.signature ===
|
|
85
|
+
const currentUnixTime = Math.floor(Date.now() / 1000);
|
|
86
|
+
const isExpired = parseInt(mitata.expiry) < currentUnixTime;
|
|
87
|
+
const currentIPHash = hexSha256(clientIP + '|' + mitata.expiry, secretKey);
|
|
88
|
+
const isSameIP = mitata.ipHash === currentIPHash;
|
|
89
|
+
const valid = mitata.signature === hexSha256(mitSvcStringValue, secretKey);
|
|
75
90
|
return {
|
|
76
|
-
|
|
77
|
-
|
|
91
|
+
mitata,
|
|
92
|
+
requiresReissue: isExpired || !isSameIP,
|
|
93
|
+
isExpired,
|
|
94
|
+
isSameIP,
|
|
95
|
+
isPrimaryHashValid: valid,
|
|
78
96
|
match: mitata.match,
|
|
79
97
|
mitigate: mitata.mitigate,
|
|
80
98
|
captcha: mitata.captcha
|
|
@@ -82,5 +100,5 @@ function checkCookie(netaceaCookie, secretKey) {
|
|
|
82
100
|
}
|
|
83
101
|
return defaultInvalidResponse;
|
|
84
102
|
}
|
|
85
|
-
exports.
|
|
103
|
+
exports.checkMitataCookie = checkMitataCookie;
|
|
86
104
|
//# sourceMappingURL=mitataCookie.js.map
|
package/dist/mitataCookie.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mitataCookie.js","sourceRoot":"","sources":["../src/mitataCookie.ts"],"names":[],"mappings":";;;AAAA,mCAAgD;AAChD,6CAEqB;AAErB,MAAM,eAAe,GAAG,gEAAgE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"mitataCookie.js","sourceRoot":"","sources":["../src/mitataCookie.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@netacea/netaceaintegrationbase",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "Base package for Netacea CDN integrations.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@netacea/kinesisingest": "^1.2.0"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "6d74abf51f87a9b2cf94c4e0443df06eb5995bf5"
|
|
33
33
|
}
|