@netacea/akamai 5.0.73 → 5.0.74
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 +8 -0
- package/dist/package.json +3 -3
- package/dist/src/AkamaiV1.d.ts +0 -2
- package/dist/src/AkamaiV1.js +41 -50
- package/dist/src/AkamaiV1.js.map +1 -1
- package/dist/src/captchaGet.js +4 -4
- package/dist/src/captchaGet.js.map +1 -1
- package/dist/src/helpers/constructWebLog.js +3 -2
- package/dist/src/helpers/constructWebLog.js.map +1 -1
- package/dist/src/helpers/createMitata.d.ts +5 -2
- package/dist/src/helpers/createMitata.js +23 -5
- package/dist/src/helpers/createMitata.js.map +1 -1
- package/dist/src/helpers/logToDataStream.js +3 -3
- package/dist/src/helpers/logToDataStream.js.map +1 -1
- package/dist/src/helpers/matchCookie.d.ts +2 -0
- package/dist/src/helpers/matchCookie.js +8 -0
- package/dist/src/helpers/matchCookie.js.map +1 -0
- package/dist/src/helpers/retrieveCookieInfo.d.ts +2 -0
- package/dist/src/helpers/retrieveCookieInfo.js +9 -0
- package/dist/src/helpers/retrieveCookieInfo.js.map +1 -0
- package/dist/src/helpers/verifyCaptcha.js +3 -3
- package/dist/src/helpers/verifyCaptcha.js.map +1 -1
- package/dist/src/ingest/ingest.js +3 -2
- package/dist/src/ingest/ingest.js.map +1 -1
- package/dist/src/mitataCookie.d.ts +2 -2
- package/dist/src/mitataCookie.js +3 -16
- package/dist/src/mitataCookie.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
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.0.74 (2024-01-23)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @netacea/akamai
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
## 5.0.73 (2024-01-11)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @netacea/akamai
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@netacea/akamai",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.74",
|
|
4
4
|
"description": "Netacea Akamai CDN Integration",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"license": "ISC",
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@netacea/netaceaintegrationbase": "^1.16.
|
|
23
|
+
"@netacea/netaceaintegrationbase": "^1.16.80",
|
|
24
24
|
"buffer": "^6.0.3",
|
|
25
25
|
"jssha": "^3.3.0"
|
|
26
26
|
},
|
|
@@ -67,5 +67,5 @@
|
|
|
67
67
|
"tslib": "^2.0.3",
|
|
68
68
|
"typescript": "^4.0.3"
|
|
69
69
|
},
|
|
70
|
-
"gitHead": "
|
|
70
|
+
"gitHead": "397fe2acf211c0dd54e452d73bc73e2105b0e7ee"
|
|
71
71
|
}
|
package/dist/src/AkamaiV1.d.ts
CHANGED
|
@@ -77,14 +77,12 @@ export default class AkamaiLegacyWorker implements NetaceaWorker<RequestArgs, Re
|
|
|
77
77
|
private getResponseHeaders;
|
|
78
78
|
getCookieHeader(args: EW.IngressClientRequest): string | null | undefined;
|
|
79
79
|
private getProtoMitataFromRequestVar;
|
|
80
|
-
private buildProtoMitataFromNetaceaHeaders;
|
|
81
80
|
responseHandler(request: EW.IngressClientRequest, response: EW.EgressClientResponse): Promise<void>;
|
|
82
81
|
private addHeadersToRequest;
|
|
83
82
|
private getHeaderValueOrDefault;
|
|
84
83
|
private getIP;
|
|
85
84
|
private getMitigationResponse;
|
|
86
85
|
private getMitHeaders;
|
|
87
|
-
private createAkamaiMitata;
|
|
88
86
|
protected createMitata(clientIP: string, userId: string | undefined, match: number, mitigate: number, captcha: number, maxAge?: number, expiry?: number | undefined): Promise<string>;
|
|
89
87
|
protected verifyCaptcha(request: EW.IngressClientRequest): Promise<void>;
|
|
90
88
|
protected removeNetaceaHeaders(response: EW.EgressClientResponse): void;
|
package/dist/src/AkamaiV1.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { NetaceaMitigationType,
|
|
2
|
-
import {
|
|
1
|
+
import { NetaceaMitigationType, NetaceaIngestType, NetaceaLogVersion, correctTimeout, dictionary, safeParseInt, ingestIgnoredIpValue, NetaceaCookieV3IssueReason, createNetaceaCookieV3 } from '@netacea/netaceaintegrationbase';
|
|
2
|
+
import { generateId } from './mitataCookie';
|
|
3
3
|
import { CachedEncryption } from './CachedEncryption';
|
|
4
4
|
import * as pack from '../package.json';
|
|
5
5
|
import { isUrlCaptchaPost, isUrlCaptchaAssetsGet } from './netaceaPaths';
|
|
@@ -7,6 +7,8 @@ import { acceptHeaderToNetaceaContentType, isCaptchaJsonResponse, mitSvcJsonResp
|
|
|
7
7
|
import { setNetaceaCaptchaCookie } from './helpers/setNetaceaCaptchaCookie';
|
|
8
8
|
import { setNetaceaCookie } from './helpers/setNetaceaCookie';
|
|
9
9
|
import { generateHttpFingerprints } from './helpers/generateHttpFingerprints';
|
|
10
|
+
import { matchCookie } from './helpers/matchCookie';
|
|
11
|
+
import { retrieveCookieInfo } from './helpers/retrieveCookieInfo';
|
|
10
12
|
const ONE_HOUR_IN_SECONDS = 60 * 60;
|
|
11
13
|
const ONE_DAY_IN_SECONDS = ONE_HOUR_IN_SECONDS * 24;
|
|
12
14
|
const DEFAULT_MITIGATION_TYPE = NetaceaMitigationType.MITIGATE;
|
|
@@ -83,7 +85,7 @@ export default class AkamaiLegacyWorker {
|
|
|
83
85
|
const protoMitata = this.getProtoMitataFromRequestVar(request);
|
|
84
86
|
const cookieHeader = this.getHeaderValueOrDefault(request, 'cookie');
|
|
85
87
|
const mitataCookie = await this.readCookie(this.netaceaCookieName, cookieHeader);
|
|
86
|
-
const cookieInfo =
|
|
88
|
+
const cookieInfo = matchCookie(mitataCookie);
|
|
87
89
|
const userId = protoMitata?.userId ?? cookieInfo?.userId ?? '';
|
|
88
90
|
const match = protoMitata?.match ?? cookieInfo?.match ?? 0;
|
|
89
91
|
const mitigate = protoMitata?.mitigate ?? cookieInfo?.mitigate ?? 0;
|
|
@@ -188,7 +190,7 @@ export default class AkamaiLegacyWorker {
|
|
|
188
190
|
const cookieString = this.getHeaderValueOrDefault(request, 'cookie');
|
|
189
191
|
mitata = await this.readCookie(this.netaceaCookieName, cookieString) ?? '';
|
|
190
192
|
}
|
|
191
|
-
const { match, mitigate, captcha } =
|
|
193
|
+
const { match, mitigate, captcha } = matchCookie(mitata) ?? {
|
|
192
194
|
match: 0,
|
|
193
195
|
mitigate: 0,
|
|
194
196
|
captcha: 0
|
|
@@ -280,24 +282,6 @@ export default class AkamaiLegacyWorker {
|
|
|
280
282
|
return undefined;
|
|
281
283
|
}
|
|
282
284
|
}
|
|
283
|
-
buildProtoMitataFromNetaceaHeaders(request, response) {
|
|
284
|
-
const readNumberFromResponse = (headerName, defaultValue) => {
|
|
285
|
-
return Number(response.getHeader(headerName)?.[0] ?? defaultValue);
|
|
286
|
-
};
|
|
287
|
-
const clientIP = request.getHeader('x-netacea-client-ip')?.[0];
|
|
288
|
-
if (clientIP === undefined || clientIP === null || clientIP === '') {
|
|
289
|
-
throw new Error('Cannot build proto-mitata without Client IP');
|
|
290
|
-
}
|
|
291
|
-
const userId = request.getHeader('x-netacea-userid')?.[0] ?? '';
|
|
292
|
-
return {
|
|
293
|
-
clientIP,
|
|
294
|
-
userId: userId !== '' ? userId : generateId(),
|
|
295
|
-
match: readNumberFromResponse('x-netacea-match', 0),
|
|
296
|
-
mitigate: readNumberFromResponse('x-netacea-mitigate', 0),
|
|
297
|
-
captcha: readNumberFromResponse('x-netacea-captcha', 0),
|
|
298
|
-
mitataMaxAge: readNumberFromResponse('x-netacea-mitata-expiry', 86400)
|
|
299
|
-
};
|
|
300
|
-
}
|
|
301
285
|
async responseHandler(request, response) {
|
|
302
286
|
this.initConfiguration(request);
|
|
303
287
|
if (isUrlCaptchaPost(request.path, request.method)) {
|
|
@@ -349,7 +333,7 @@ export default class AkamaiLegacyWorker {
|
|
|
349
333
|
}
|
|
350
334
|
async getMitigationResponse(request) {
|
|
351
335
|
const cookies = this.getHeaderValueOrDefault(request, 'cookie');
|
|
352
|
-
const
|
|
336
|
+
const netaceaCookie = await this.readCookie(this.netaceaCookieName, cookies) ?? '';
|
|
353
337
|
const mitataCaptcha = await this.readCookie(this.netaceaCaptchaCookieName, cookies);
|
|
354
338
|
const clientIp = this.getIP(request);
|
|
355
339
|
const userAgent = this.getHeaderValueOrDefault(request, 'user-agent');
|
|
@@ -358,7 +342,7 @@ export default class AkamaiLegacyWorker {
|
|
|
358
342
|
clientIp,
|
|
359
343
|
getBodyFn: async () => '',
|
|
360
344
|
method: request.method,
|
|
361
|
-
mitata:
|
|
345
|
+
mitata: netaceaCookie,
|
|
362
346
|
mitataCaptcha,
|
|
363
347
|
url: request.path,
|
|
364
348
|
userAgent,
|
|
@@ -369,7 +353,7 @@ export default class AkamaiLegacyWorker {
|
|
|
369
353
|
async getMitHeaders(request, mitSvcResponse) {
|
|
370
354
|
const cookieString = this.getHeaderValueOrDefault(request, 'cookie');
|
|
371
355
|
const mitataString = await this.readCookie(this.netaceaCookieName, cookieString) ?? '';
|
|
372
|
-
const mitata =
|
|
356
|
+
const mitata = matchCookie(mitataString);
|
|
373
357
|
const protoMitata = this.getProtoMitataFromRequestVar(request);
|
|
374
358
|
const { match, mitigate, captcha, userId } = protoMitata ?? mitata ?? {
|
|
375
359
|
match: 0,
|
|
@@ -385,17 +369,6 @@ export default class AkamaiLegacyWorker {
|
|
|
385
369
|
'X-Netacea-Integration-Version': pack.version
|
|
386
370
|
};
|
|
387
371
|
}
|
|
388
|
-
async createAkamaiMitata(clientIP, userId, match, mitigate, captcha, maxAge = 86400, expiry = undefined) {
|
|
389
|
-
const isCaptchaServe = [1, 3, 5].includes(captcha);
|
|
390
|
-
const expiryDelta = isCaptchaServe ? -this.netaceaCookieExpirySeconds : this.netaceaCookieExpirySeconds;
|
|
391
|
-
const mitataExpiry = expiry ?? Math.floor(Date.now() / 1000) + expiryDelta;
|
|
392
|
-
if (this.secretKey === undefined) {
|
|
393
|
-
throw new Error('Cannot build cookie without secret key.');
|
|
394
|
-
}
|
|
395
|
-
const mitataCode = [match, mitigate, captcha].join('');
|
|
396
|
-
const mitataValue = await createMitataCookie(clientIP, userId, mitataExpiry, this.secretKey, mitataCode);
|
|
397
|
-
return await this.buildCookieFromValues(this.netaceaCookieName, mitataValue, maxAge, '/');
|
|
398
|
-
}
|
|
399
372
|
async createMitata(clientIP, userId, match, mitigate, captcha, maxAge = 86400, expiry = undefined) {
|
|
400
373
|
const AkamaiCookieObj = {
|
|
401
374
|
clientIP,
|
|
@@ -414,7 +387,7 @@ export default class AkamaiLegacyWorker {
|
|
|
414
387
|
const cookies = this.getHeaderValueOrDefault(request, 'cookie');
|
|
415
388
|
const mitataCookie = await this.readCookie(this.netaceaCookieName, cookies) ?? '';
|
|
416
389
|
let userId = '';
|
|
417
|
-
const cookieInfo = await
|
|
390
|
+
const cookieInfo = await retrieveCookieInfo(mitataCookie, IP, this.secretKey);
|
|
418
391
|
if (cookieInfo.isPrimaryHashValid) {
|
|
419
392
|
userId = cookieInfo.mitata?.userId ?? '';
|
|
420
393
|
}
|
|
@@ -529,7 +502,7 @@ export default class AkamaiLegacyWorker {
|
|
|
529
502
|
actualQuery = `?${splitPath[1]}`;
|
|
530
503
|
}
|
|
531
504
|
const actualPath = splitPath[0];
|
|
532
|
-
const userId =
|
|
505
|
+
const userId = matchCookie(mitataCookie)?.userId;
|
|
533
506
|
const log = {
|
|
534
507
|
status,
|
|
535
508
|
method,
|
|
@@ -581,9 +554,10 @@ export default class AkamaiLegacyWorker {
|
|
|
581
554
|
if (this.secretKey === undefined) {
|
|
582
555
|
throw new Error('Secret key is required to mitigate');
|
|
583
556
|
}
|
|
584
|
-
const cookieInfo = await
|
|
557
|
+
const cookieInfo = await retrieveCookieInfo(netaceaCookie, clientIP, this.secretKey);
|
|
558
|
+
const cookieId = cookieInfo.mitata?.cookieId;
|
|
585
559
|
if (!cookieInfo.isPrimaryHashValid || cookieInfo.requiresReissue) {
|
|
586
|
-
const result = await this.makeMitigateAPICall(cookieInfo.mitata?.userId, clientIP, userAgent, captchaCookie, accept, host);
|
|
560
|
+
const result = await this.makeMitigateAPICall(cookieInfo.mitata?.userId, clientIP, userAgent, captchaCookie, accept, host, cookieId);
|
|
587
561
|
status = result.status;
|
|
588
562
|
match = result.match;
|
|
589
563
|
mitigate = result.mitigate;
|
|
@@ -626,9 +600,9 @@ export default class AkamaiLegacyWorker {
|
|
|
626
600
|
'user-agent': userAgent,
|
|
627
601
|
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
|
|
628
602
|
};
|
|
629
|
-
const
|
|
630
|
-
if (
|
|
631
|
-
headers['X-Netacea-UserId'] =
|
|
603
|
+
const cookie = matchCookie(netaceaCookie);
|
|
604
|
+
if (cookie !== undefined) {
|
|
605
|
+
headers['X-Netacea-UserId'] = cookie.userId;
|
|
632
606
|
}
|
|
633
607
|
if (this.captchaSiteKey !== undefined && this.captchaSecretKey !== undefined) {
|
|
634
608
|
headers['X-Netacea-Captcha-Site-Key'] = this.captchaSiteKey;
|
|
@@ -642,9 +616,10 @@ export default class AkamaiLegacyWorker {
|
|
|
642
616
|
body: captchaData,
|
|
643
617
|
timeout: this.timeout
|
|
644
618
|
});
|
|
645
|
-
|
|
619
|
+
const cookieId = cookie?.cookieId;
|
|
620
|
+
return await this.getApiCallResponseFromResponse(res, cookie?.userId, clientIP, cookieId);
|
|
646
621
|
}
|
|
647
|
-
async getApiCallResponseFromResponse(response, userId, clientIP) {
|
|
622
|
+
async getApiCallResponseFromResponse(response, userId, clientIP, cookieId) {
|
|
648
623
|
if (response.status !== 200) {
|
|
649
624
|
throw this.APIError(response);
|
|
650
625
|
}
|
|
@@ -655,10 +630,26 @@ export default class AkamaiLegacyWorker {
|
|
|
655
630
|
if (isNaN(mitataMaxAge)) {
|
|
656
631
|
mitataMaxAge = 86400;
|
|
657
632
|
}
|
|
658
|
-
|
|
633
|
+
let netaceaCookie;
|
|
634
|
+
if (this.logVersion === NetaceaLogVersion.V2 && this.cachedEncryption !== undefined) {
|
|
635
|
+
netaceaCookie = createNetaceaCookieV3({
|
|
636
|
+
clientIP,
|
|
637
|
+
userId: userId ?? generateId(),
|
|
638
|
+
match,
|
|
639
|
+
mitigate,
|
|
640
|
+
captcha,
|
|
641
|
+
gracePeriod: mitataMaxAge,
|
|
642
|
+
cookieId: cookieId ?? generateId(),
|
|
643
|
+
issueTimestamp: Date.now(),
|
|
644
|
+
issueReason: NetaceaCookieV3IssueReason.NO_SESSION
|
|
645
|
+
});
|
|
646
|
+
}
|
|
647
|
+
else {
|
|
648
|
+
netaceaCookie = await this.createMitata(clientIP, userId, match, mitigate, captcha);
|
|
649
|
+
}
|
|
659
650
|
const mitataCaptcha = await this.getMitataCaptchaFromHeaders(response.headers);
|
|
660
651
|
const setCookie = [
|
|
661
|
-
|
|
652
|
+
netaceaCookie,
|
|
662
653
|
mitataCaptcha
|
|
663
654
|
].filter(c => c !== undefined);
|
|
664
655
|
const eventId = response.headers[dictionary.netaceaHeaders.eventId];
|
|
@@ -692,7 +683,7 @@ export default class AkamaiLegacyWorker {
|
|
|
692
683
|
}
|
|
693
684
|
return cookiestr;
|
|
694
685
|
}
|
|
695
|
-
async makeMitigateAPICall(userId, clientIP, userAgent, captchaCookie, accept, host) {
|
|
686
|
+
async makeMitigateAPICall(userId, clientIP, userAgent, captchaCookie, accept, host, cookieId) {
|
|
696
687
|
const headers = {
|
|
697
688
|
'X-Netacea-API-Key': this.apiKey,
|
|
698
689
|
'X-Netacea-Client-IP': clientIP,
|
|
@@ -722,7 +713,7 @@ export default class AkamaiLegacyWorker {
|
|
|
722
713
|
if (isJsonRequest && this.netaceaCaptchaPath !== undefined) {
|
|
723
714
|
res.body = mitSvcJsonResponseToUrlResponse(res.body, host, this.netaceaCaptchaPath);
|
|
724
715
|
}
|
|
725
|
-
return await this.getApiCallResponseFromResponse(res, userId, clientIP);
|
|
716
|
+
return await this.getApiCallResponseFromResponse(res, userId, clientIP, cookieId);
|
|
726
717
|
}
|
|
727
718
|
composeResult(body, setCookie, status, match, mitigate, captcha, isCaptchaPost, eventId) {
|
|
728
719
|
const bestMitigation = this.findBestMitigation(match, mitigate, captcha, isCaptchaPost);
|
|
@@ -827,7 +818,7 @@ export default class AkamaiLegacyWorker {
|
|
|
827
818
|
}
|
|
828
819
|
const cookies = this.getCookieHeader(args);
|
|
829
820
|
const netaceaCookie = await this.readCookie(this.netaceaCookieName, cookies);
|
|
830
|
-
const cookieInfo = await
|
|
821
|
+
const cookieInfo = await retrieveCookieInfo(netaceaCookie, ingestIgnoredIpValue, this.secretKey);
|
|
831
822
|
if (!cookieInfo.isPrimaryHashValid) {
|
|
832
823
|
return await this.setIngestOnlyMitataCookie(undefined);
|
|
833
824
|
}
|
package/dist/src/AkamaiV1.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AkamaiV1.js","sourceRoot":"","sources":["../../src/AkamaiV1.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AkamaiV1.js","sourceRoot":"","sources":["../../src/AkamaiV1.ts"],"names":[],"mappings":"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"}
|
package/dist/src/captchaGet.js
CHANGED
|
@@ -2,20 +2,20 @@ import { captchaGetAPICall } from './mitigation/mitigationApiCall';
|
|
|
2
2
|
import { readCookie } from './helpers/readCookie';
|
|
3
3
|
import { getHeaderValueOrDefault } from './helpers/getHeaderValueOrDefault';
|
|
4
4
|
import { getVariableOrDefault } from './helpers/getVariable';
|
|
5
|
-
import {
|
|
5
|
+
import { retrieveCookieInfo } from './helpers/retrieveCookieInfo';
|
|
6
6
|
import { getQuery } from './helpers/getQuery';
|
|
7
7
|
export async function handleCaptchaGet(deps, config, request) {
|
|
8
8
|
const cookies = getHeaderValueOrDefault(request, 'cookie');
|
|
9
|
-
const
|
|
9
|
+
const netaceaCookie = await readCookie(deps, config, cookies, config.netaceaCookieName);
|
|
10
10
|
const mitataCaptcha = await readCookie(deps, config, cookies, config.netaceaCaptchaCookieName);
|
|
11
11
|
const clientIP = getVariableOrDefault(request, 'PMUSER_CLIENT_IP');
|
|
12
12
|
const userAgent = getHeaderValueOrDefault(request, 'user-agent');
|
|
13
|
-
const
|
|
13
|
+
const cookieInfo = await retrieveCookieInfo(netaceaCookie, clientIP, config.secretKey);
|
|
14
14
|
const captchaGetResponse = await captchaGetAPICall(deps, config, {
|
|
15
15
|
apiKey: config.apiKey ?? '',
|
|
16
16
|
clientIP,
|
|
17
17
|
userAgent,
|
|
18
|
-
userId:
|
|
18
|
+
userId: cookieInfo.mitata?.userId,
|
|
19
19
|
captchaCookie: mitataCaptcha,
|
|
20
20
|
trackingId: getQuery(request.query, 'trackingId'),
|
|
21
21
|
captchaSiteKey: config.captchaSiteKey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captchaGet.js","sourceRoot":"","sources":["../../src/captchaGet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"captchaGet.js","sourceRoot":"","sources":["../../src/captchaGet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAA+B,EAC/B,MAAoC,EACpC,OAAgC;IAEhC,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC1D,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,iBAA2B,CAAC,CAAA;IACjG,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,wBAAkC,CAAC,CAAA;IACxG,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAA;IAClE,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IAChE,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;IAEtF,MAAM,kBAAkB,GAAG,MAAM,iBAAiB,CAChD,IAAI,EACJ,MAAM,EACN;QACE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,QAAQ;QACR,SAAS;QACT,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM;QACjC,aAAa,EAAE,aAAa;QAC5B,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC;QACjD,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,MAAM,EAAE,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC;QAC/D,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,EACD;QACE,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;KACX,CACF,CAAA;IAED,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IACjG,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAA;KACjE;IAED,MAAM,OAAO,GAA4B,EAAE,CAAA;IAE3C,IAAI,MAAM,CAAC,uBAAuB,KAAK,SAAS,EAAE;QAChD,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,yBAAmC,CAAA;KACrF;IAED,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAA;AAC5D,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { NetaceaLogVersion,
|
|
1
|
+
import { NetaceaLogVersion, safeParseInt } from '@netacea/netaceaintegrationbase';
|
|
2
|
+
import { matchCookie } from './matchCookie';
|
|
2
3
|
export function constructWebLog(config, args) {
|
|
3
4
|
args.bytesSent = args.bytesSent === '' ? '0' : args.bytesSent;
|
|
4
5
|
if (config.logVersion === NetaceaLogVersion.V2) {
|
|
@@ -17,7 +18,7 @@ function constructV2WebLog({ ip, userAgent, status, method, path, protocol, refe
|
|
|
17
18
|
actualQuery = `?${splitPath[1]}`;
|
|
18
19
|
}
|
|
19
20
|
const actualPath = splitPath[0];
|
|
20
|
-
const userId =
|
|
21
|
+
const userId = matchCookie(mitataCookie)?.userId;
|
|
21
22
|
const log = {
|
|
22
23
|
status,
|
|
23
24
|
method,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constructWebLog.js","sourceRoot":"","sources":["../../../src/helpers/constructWebLog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constructWebLog.js","sourceRoot":"","sources":["../../../src/helpers/constructWebLog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { AkamaiRuntimeDependencies, AkamaiWorkerConfig } from '../types';
|
|
1
|
+
import type { AkamaiRuntimeDependencies, AkamaiWorkerConfig } from '../types';
|
|
2
|
+
import { NetaceaCookieV3IssueReason } from '@netacea/netaceaintegrationbase';
|
|
2
3
|
interface CreateMitataOptions {
|
|
3
4
|
clientIP: string;
|
|
4
5
|
userId?: string;
|
|
@@ -7,6 +8,8 @@ interface CreateMitataOptions {
|
|
|
7
8
|
captcha: number;
|
|
8
9
|
maxAge: number;
|
|
9
10
|
expiry?: number;
|
|
11
|
+
cookieId?: string;
|
|
12
|
+
issueReason?: NetaceaCookieV3IssueReason;
|
|
10
13
|
}
|
|
11
|
-
export declare function createMitata(deps: AkamaiRuntimeDependencies, config: Readonly<AkamaiWorkerConfig>, { clientIP, userId, match, mitigate, captcha, maxAge, expiry }: CreateMitataOptions): Promise<string>;
|
|
14
|
+
export declare function createMitata(deps: AkamaiRuntimeDependencies, config: Readonly<AkamaiWorkerConfig>, { clientIP, userId, match, mitigate, captcha, cookieId, issueReason, maxAge, expiry }: CreateMitataOptions): Promise<string>;
|
|
12
15
|
export {};
|
|
@@ -1,15 +1,33 @@
|
|
|
1
|
+
import { NetaceaCookieV3IssueReason, NetaceaIngestType, createNetaceaCookieV3 } from '@netacea/netaceaintegrationbase';
|
|
1
2
|
import { buildCookieFromValues } from './buildCookieFromValues';
|
|
2
|
-
import {
|
|
3
|
-
export async function createMitata(deps, config, { clientIP, userId, match, mitigate, captcha, maxAge = 86400, expiry = undefined }) {
|
|
3
|
+
import { createLegacyMitataCookie, generateId } from '../mitataCookie';
|
|
4
|
+
export async function createMitata(deps, config, { clientIP, userId, match, mitigate, captcha, cookieId, issueReason, maxAge = 86400, expiry = undefined }) {
|
|
4
5
|
const expirySeconds = config.netaceaCookieExpirySeconds;
|
|
5
6
|
const isCaptchaServe = [1, 3, 5].includes(captcha);
|
|
6
7
|
const expiryDelta = isCaptchaServe ? -expirySeconds : expirySeconds;
|
|
7
8
|
const mitataExpiry = expiry ?? Math.floor(Date.now() / 1000) + expiryDelta;
|
|
8
|
-
|
|
9
|
+
const shouldUseNetaceaCookieV3 = config.ingestType !== NetaceaIngestType.HTTP && deps.cachedEncryption !== undefined;
|
|
10
|
+
if (!shouldUseNetaceaCookieV3 && config.secretKey === undefined) {
|
|
9
11
|
throw new Error('Cannot build cookie without secret key.');
|
|
10
12
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
let mitataValue;
|
|
14
|
+
if (shouldUseNetaceaCookieV3) {
|
|
15
|
+
mitataValue = createNetaceaCookieV3({
|
|
16
|
+
clientIP,
|
|
17
|
+
userId: userId ?? '',
|
|
18
|
+
match,
|
|
19
|
+
mitigate,
|
|
20
|
+
captcha,
|
|
21
|
+
gracePeriod: expiryDelta,
|
|
22
|
+
cookieId: cookieId ?? generateId(),
|
|
23
|
+
issueTimestamp: Math.floor(Date.now() / 1000),
|
|
24
|
+
issueReason: issueReason ?? NetaceaCookieV3IssueReason.NO_SESSION
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
const mitataCode = [match, mitigate, captcha].join('');
|
|
29
|
+
mitataValue = await createLegacyMitataCookie(clientIP, userId, mitataExpiry, config.secretKey, mitataCode);
|
|
30
|
+
}
|
|
13
31
|
return await buildCookieFromValues(deps, config, config.netaceaCookieName, mitataValue, maxAge);
|
|
14
32
|
}
|
|
15
33
|
//# sourceMappingURL=createMitata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMitata.js","sourceRoot":"","sources":["../../../src/helpers/createMitata.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createMitata.js","sourceRoot":"","sources":["../../../src/helpers/createMitata.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAetE,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAA+B,EAC/B,MAAoC,EACpC,EACE,QAAQ,EACR,MAAM,EACN,KAAK,EACL,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,WAAW,EACX,MAAM,GAAG,KAAK,EACd,MAAM,GAAG,SAAS,EACE;IAEtB,MAAM,aAAa,GAAG,MAAM,CAAC,0BAAoC,CAAA;IACjE,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAClD,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAA;IACnE,MAAM,YAAY,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAA;IAC1E,MAAM,wBAAwB,GAAG,MAAM,CAAC,UAAU,KAAK,iBAAiB,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAA;IAEpH,IAAI,CAAC,wBAAwB,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;QAC/D,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;KAC3D;IAED,IAAI,WAAmB,CAAA;IAGvB,IAAI,wBAAwB,EAAE;QAC5B,WAAW,GAAG,qBAAqB,CAAC;YAClC,QAAQ;YACR,MAAM,EAAE,MAAM,IAAI,EAAE;YACpB,KAAK;YACL,QAAQ;YACR,OAAO;YACP,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,QAAQ,IAAI,UAAU,EAAE;YAClC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAC7C,WAAW,EAAE,WAAW,IAAI,0BAA0B,CAAC,UAAU;SAClE,CAAC,CAAA;KACH;SAAM;QACL,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtD,WAAW,GAAG,MAAM,wBAAwB,CAC1C,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,MAAM,CAAC,SAAmB,EAC1B,UAAU,CACX,CAAA;KACF;IAED,OAAO,MAAM,qBAAqB,CAChC,IAAI,EACJ,MAAM,EACN,MAAM,CAAC,iBAA2B,EAClC,WAAW,EACX,MAAM,CACP,CAAA;AACH,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { matchMitataCookie } from '@netacea/netaceaintegrationbase';
|
|
2
1
|
import { getHeaderValueOrDefault } from './getHeaderValueOrDefault';
|
|
3
2
|
import { readCookie } from './readCookie';
|
|
3
|
+
import { matchCookie } from './matchCookie';
|
|
4
4
|
import { isUrlCaptchaPost } from '../netaceaPaths';
|
|
5
5
|
import { findBestMitigation } from './findBestMitigation';
|
|
6
6
|
import { getProtoMitataFromRequestVar } from './getProtoMitataFromRequestVar';
|
|
@@ -10,8 +10,8 @@ export async function logToDataStream(deps, config, request) {
|
|
|
10
10
|
try {
|
|
11
11
|
const protoMitata = getProtoMitataFromRequestVar(config, request);
|
|
12
12
|
const cookieHeader = getHeaderValueOrDefault(request, 'cookie');
|
|
13
|
-
const
|
|
14
|
-
const cookieInfo =
|
|
13
|
+
const netaceaCookie = await readCookie(deps, config, cookieHeader, config.netaceaCookieName);
|
|
14
|
+
const cookieInfo = matchCookie(netaceaCookie);
|
|
15
15
|
const userId = protoMitata?.userId ?? cookieInfo?.userId ?? '';
|
|
16
16
|
const match = protoMitata?.match ?? cookieInfo?.match ?? 0;
|
|
17
17
|
const mitigate = protoMitata?.mitigate ?? cookieInfo?.mitigate ?? 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logToDataStream.js","sourceRoot":"","sources":["../../../src/helpers/logToDataStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"logToDataStream.js","sourceRoot":"","sources":["../../../src/helpers/logToDataStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE1C,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAA+B,EAC/B,MAAoC,EACpC,OAAgC;IAGhC,IAAI;QACF,MAAM,WAAW,GAAG,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACjE,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC/D,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,iBAA2B,CAAC,CAAA;QACtG,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC,CAAA;QAE7C,MAAM,MAAM,GAAG,WAAW,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,IAAI,EAAE,CAAA;QAC9D,MAAM,KAAK,GAAG,WAAW,EAAE,KAAK,IAAI,UAAU,EAAE,KAAK,IAAI,CAAC,CAAA;QAC1D,MAAM,QAAQ,GAAG,WAAW,EAAE,QAAQ,IAAI,UAAU,EAAE,QAAQ,IAAI,CAAC,CAAA;QACnE,MAAM,OAAO,GAAG,WAAW,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,IAAI,CAAC,CAAA;QAEhE,MAAM,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAC1C,MAAM,EACN,KAAK,EACL,QAAQ,EACR,OAAO,EACP,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAA;QAED,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAA;QAGtF,MAAM,kBAAkB,GAAG;YACzB,MAAM;YACN,aAAa;YACb,IAAI,CAAC,OAAO;YACZ,iBAAiB;YACjB,iBAAiB;SAClB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEX,OAAO,CAAC,WAAW,CAAC,iCAAiC,EAAE,kBAAkB,CAAC,CAAA;KAC3E;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QAEvB,MAAM,CAAC,GAAG,CAAC,iDAAiD,CAAC,EAAE,CAAC,CAAA;KACjE;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { cookieIsNetaceaV3Format, matchNetaceaCookieV3, matchMitataCookie } from '@netacea/netaceaintegrationbase';
|
|
2
|
+
export function matchCookie(netaceaCookie) {
|
|
3
|
+
if (cookieIsNetaceaV3Format(netaceaCookie)) {
|
|
4
|
+
return matchNetaceaCookieV3(netaceaCookie);
|
|
5
|
+
}
|
|
6
|
+
return matchMitataCookie(netaceaCookie);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=matchCookie.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matchCookie.js","sourceRoot":"","sources":["../../../src/helpers/matchCookie.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAElH,MAAM,UAAU,WAAW,CAAE,aAAiC;IAC5D,IAAI,uBAAuB,CAAC,aAAa,CAAC,EAAE;QAC1C,OAAO,oBAAoB,CAAC,aAAa,CAAC,CAAA;KAC3C;IAED,OAAO,iBAAiB,CAAC,aAAa,CAAC,CAAA;AACzC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { cookieIsNetaceaV3Format, checkNetaceaCookieV3 } from '@netacea/netaceaintegrationbase';
|
|
2
|
+
import { checkLegacyMitataCookie } from '../mitataCookie';
|
|
3
|
+
export async function retrieveCookieInfo(cookie, clientIP, secretKey) {
|
|
4
|
+
if (cookieIsNetaceaV3Format(cookie)) {
|
|
5
|
+
return checkNetaceaCookieV3(cookie, clientIP);
|
|
6
|
+
}
|
|
7
|
+
return await checkLegacyMitataCookie(cookie, clientIP, secretKey ?? '');
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=retrieveCookieInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieveCookieInfo.js","sourceRoot":"","sources":["../../../src/helpers/retrieveCookieInfo.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAA0B,EAC1B,QAAgB,EAChB,SAA6B;IAE7B,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE;QACnC,OAAO,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;KAC9C;IACD,OAAO,MAAM,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC,CAAA;AACzE,CAAC"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { getHeaderValueOrDefault } from './getHeaderValueOrDefault';
|
|
2
2
|
import { readCookie } from './readCookie';
|
|
3
|
-
import { checkMitataCookie } from '../mitataCookie';
|
|
4
3
|
import { routeRequestToNetaceaProxy } from './routeRequestToNetaceaProxy';
|
|
4
|
+
import { retrieveCookieInfo } from './retrieveCookieInfo';
|
|
5
5
|
export async function verifyCaptcha(deps, config, request) {
|
|
6
6
|
const IP = request.getVariable('PMUSER_CLIENT_IP') ?? '';
|
|
7
7
|
request.setHeader('x-netacea-api-key', config.apiKey);
|
|
8
8
|
request.setHeader('x-netacea-client-ip', IP);
|
|
9
9
|
const cookies = getHeaderValueOrDefault(request, 'cookie');
|
|
10
|
-
const
|
|
10
|
+
const netaceaCookie = await readCookie(deps, config, cookies, config.netaceaCookieName) ?? '';
|
|
11
11
|
let userId = '';
|
|
12
|
-
const cookieInfo = await
|
|
12
|
+
const cookieInfo = await retrieveCookieInfo(netaceaCookie, IP, config.secretKey ?? '');
|
|
13
13
|
if (cookieInfo.isPrimaryHashValid) {
|
|
14
14
|
userId = cookieInfo.mitata?.userId ?? '';
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyCaptcha.js","sourceRoot":"","sources":["../../../src/helpers/verifyCaptcha.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"verifyCaptcha.js","sourceRoot":"","sources":["../../../src/helpers/verifyCaptcha.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAA+B,EAC/B,MAAoC,EACpC,OAAgC;IAEhC,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAA;IACxD,OAAO,CAAC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAgB,CAAC,CAAA;IAC/D,OAAO,CAAC,SAAS,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAA;IAE5C,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC1D,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,iBAA2B,CAAC,IAAI,EAAE,CAAA;IAEvG,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;IACtF,IAAI,UAAU,CAAC,kBAAkB,EAAE;QACjC,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAA;KACzC;IACD,OAAO,CAAC,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;IAC7C,0BAA0B,CAAC,OAAO,CAAC,CAAA;AACrC,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { getHeaderValueOrDefault } from '../helpers/getHeaderValueOrDefault';
|
|
2
2
|
import { readCookie } from '../helpers/readCookie';
|
|
3
|
-
import {
|
|
3
|
+
import { NetaceaIngestType } from '@netacea/netaceaintegrationbase';
|
|
4
4
|
import { isUrlCaptchaPost } from '../netaceaPaths';
|
|
5
5
|
import { findBestMitigation } from '../helpers/findBestMitigation';
|
|
6
6
|
import { callIngest } from './makeIngestAPICall';
|
|
7
7
|
import * as pack from '../../package.json';
|
|
8
8
|
import { getVariableOrDefault } from '../helpers/getVariable';
|
|
9
|
+
import { matchCookie } from '../helpers/matchCookie';
|
|
9
10
|
export async function ingestIfHttpIngestType(deps, config, request, response) {
|
|
10
11
|
if (config.ingestType === NetaceaIngestType.HTTP) {
|
|
11
12
|
await ingest(deps, config, request, response);
|
|
@@ -21,7 +22,7 @@ export async function ingest(deps, config, request, response) {
|
|
|
21
22
|
const cookieString = getHeaderValueOrDefault(request, 'cookie');
|
|
22
23
|
mitata = await readCookie(deps, config, cookieString, config.netaceaCookieName) ?? '';
|
|
23
24
|
}
|
|
24
|
-
const { match, mitigate, captcha } =
|
|
25
|
+
const { match, mitigate, captcha } = matchCookie(mitata) ?? {
|
|
25
26
|
match: 0,
|
|
26
27
|
mitigate: 0,
|
|
27
28
|
captcha: 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../src/ingest/ingest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../src/ingest/ingest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CheckCookieResponse } from '@netacea/netaceaintegrationbase';
|
|
2
2
|
export declare const ingestIgnoredIpValue = "ignored";
|
|
3
3
|
export declare const COOKIEDELIMITER: string;
|
|
4
|
-
export declare function
|
|
4
|
+
export declare function createLegacyMitataCookie(clientIP: string, userId: string | undefined, expiryTime: number, saltKey: string, mitCode?: string): Promise<string>;
|
|
5
5
|
export declare function generateId(length?: number, charset?: string[]): string;
|
|
6
|
-
export declare function
|
|
6
|
+
export declare function checkLegacyMitataCookie(netaceaCookie: string | undefined, clientIP: string, secretKey: string): Promise<CheckCookieResponse>;
|
package/dist/src/mitataCookie.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { matchMitataCookie } from '@netacea/netaceaintegrationbase';
|
|
1
|
+
import { matchMitataCookie, defaultInvalidResponse } from '@netacea/netaceaintegrationbase';
|
|
2
2
|
import { sha256Hmac, isValidSha256Hmac } from './hash';
|
|
3
3
|
import crypto from './akamaiCrypto';
|
|
4
4
|
import { Buffer } from 'buffer/';
|
|
5
5
|
export const ingestIgnoredIpValue = 'ignored';
|
|
6
6
|
export const COOKIEDELIMITER = '_/@#/';
|
|
7
7
|
const BASE_62_CHARSET = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');
|
|
8
|
-
export async function
|
|
8
|
+
export async function createLegacyMitataCookie(clientIP, userId, expiryTime, saltKey, mitCode = '000') {
|
|
9
9
|
if (userId === undefined) {
|
|
10
10
|
userId = generateId();
|
|
11
11
|
}
|
|
@@ -28,20 +28,7 @@ export function generateId(length = 16, charset = BASE_62_CHARSET) {
|
|
|
28
28
|
.join('');
|
|
29
29
|
return `c${randomString}`;
|
|
30
30
|
}
|
|
31
|
-
function
|
|
32
|
-
return {
|
|
33
|
-
mitata: undefined,
|
|
34
|
-
requiresReissue: false,
|
|
35
|
-
isExpired: false,
|
|
36
|
-
shouldExpire: false,
|
|
37
|
-
isSameIP: false,
|
|
38
|
-
isPrimaryHashValid: false,
|
|
39
|
-
captcha: 0,
|
|
40
|
-
match: 0,
|
|
41
|
-
mitigate: 0
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
export async function checkMitataCookie(netaceaCookie, clientIP, secretKey) {
|
|
31
|
+
export async function checkLegacyMitataCookie(netaceaCookie, clientIP, secretKey) {
|
|
45
32
|
if (typeof netaceaCookie !== 'string' || netaceaCookie === '') {
|
|
46
33
|
return defaultInvalidResponse();
|
|
47
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mitataCookie.js","sourceRoot":"","sources":["../../src/mitataCookie.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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/akamai",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.74",
|
|
4
4
|
"description": "Netacea Akamai CDN Integration",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"license": "ISC",
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@netacea/netaceaintegrationbase": "^1.16.
|
|
23
|
+
"@netacea/netaceaintegrationbase": "^1.16.80",
|
|
24
24
|
"buffer": "^6.0.3",
|
|
25
25
|
"jssha": "^3.3.0"
|
|
26
26
|
},
|
|
@@ -67,5 +67,5 @@
|
|
|
67
67
|
"tslib": "^2.0.3",
|
|
68
68
|
"typescript": "^4.0.3"
|
|
69
69
|
},
|
|
70
|
-
"gitHead": "
|
|
70
|
+
"gitHead": "397fe2acf211c0dd54e452d73bc73e2105b0e7ee"
|
|
71
71
|
}
|