@prosopo/provider 5.19.1 → 5.19.3
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/.turbo/turbo-build$colon$cjs.log +4 -4
- package/.turbo/turbo-build$colon$tsc.log +28 -28
- package/.turbo/turbo-build.log +4 -4
- package/CHANGELOG.md +66 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +69 -21
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +69 -21
- package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +7 -4
- package/dist/cjs/tasks/frictionless/ipMatch.cjs +25 -4
- package/dist/tasks/frictionless/frictionlessTasks.d.ts +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.js +8 -5
- package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
- package/dist/tasks/frictionless/ipMatch.d.ts +1 -1
- package/dist/tasks/frictionless/ipMatch.d.ts.map +1 -1
- package/dist/tasks/frictionless/ipMatch.js +25 -4
- package/dist/tasks/frictionless/ipMatch.js.map +1 -1
- package/dist/tests/integration/webBotAuthAuthenticated.integration.test.js +103 -5
- package/dist/tests/integration/webBotAuthAuthenticated.integration.test.js.map +1 -1
- package/dist/tests/unit/tasks/frictionless/ipMatch.unit.test.js +18 -0
- package/dist/tests/unit/tasks/frictionless/ipMatch.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.js +18 -0
- package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.js +5 -0
- package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.js.map +1 -1
- package/package.json +18 -18
|
@@ -127,7 +127,6 @@ dist/cjs/api/handshakeTimingMiddleware.cjs 1
|
|
|
127
127
|
dist/cjs/tasks/iconOrder/iconOrderRenderer.cjs 1.95 kB │ gzip: 0.72 kB
|
|
128
128
|
dist/cjs/api/requestBodySummary.cjs 1.96 kB │ gzip: 0.88 kB
|
|
129
129
|
dist/cjs/api/admin/apiClearAllCountersEndpoint.cjs 2.01 kB │ gzip: 0.78 kB
|
|
130
|
-
dist/cjs/tasks/frictionless/ipMatch.cjs 2.03 kB │ gzip: 1.03 kB
|
|
131
130
|
dist/cjs/api/captcha/getAudioCaptchaChallenge.cjs 2.10 kB │ gzip: 0.74 kB
|
|
132
131
|
dist/cjs/tasks/spam/updateSpamEmailDomains.cjs 2.12 kB │ gzip: 0.85 kB
|
|
133
132
|
dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/constants.cjs 2.17 kB │ gzip: 0.91 kB
|
|
@@ -147,6 +146,7 @@ dist/cjs/tasks/puzzle/puzzleDifficulty.cjs 2
|
|
|
147
146
|
dist/cjs/api/captcha/checkSpamEmail.cjs 2.73 kB │ gzip: 0.95 kB
|
|
148
147
|
dist/cjs/tasks/iconOrderCaptcha/iconOrderTasks.cjs 2.75 kB │ gzip: 1.00 kB
|
|
149
148
|
dist/cjs/api/public.cjs 2.79 kB │ gzip: 1.07 kB
|
|
149
|
+
dist/cjs/tasks/frictionless/ipMatch.cjs 2.80 kB │ gzip: 1.36 kB
|
|
150
150
|
dist/cjs/api/captcha/submitImageCaptchaSolution.cjs 3.09 kB │ gzip: 1.06 kB
|
|
151
151
|
dist/cjs/api/admin/apiDnsEventEndpoint.cjs 3.20 kB │ gzip: 1.22 kB
|
|
152
152
|
dist/cjs/tasks/detection/getBotScore.cjs 3.37 kB │ gzip: 1.33 kB
|
|
@@ -194,13 +194,13 @@ dist/cjs/api/blacklistRequestInspector.cjs 13
|
|
|
194
194
|
dist/cjs/api/metrics.cjs 13.94 kB │ gzip: 4.32 kB
|
|
195
195
|
dist/cjs/tasks/interactiveCaptcha/interactiveCaptchaManager.cjs 19.37 kB │ gzip: 4.90 kB
|
|
196
196
|
dist/cjs/api/verify.cjs 20.80 kB │ gzip: 3.69 kB
|
|
197
|
-
dist/cjs/tasks/frictionless/frictionlessTasks.cjs 21.
|
|
198
|
-
dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs
|
|
197
|
+
dist/cjs/tasks/frictionless/frictionlessTasks.cjs 21.33 kB │ gzip: 5.59 kB
|
|
198
|
+
dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs 23.38 kB │ gzip: 5.27 kB
|
|
199
199
|
dist/cjs/tasks/powCaptcha/powTasks.cjs 25.94 kB │ gzip: 6.23 kB
|
|
200
200
|
dist/cjs/tasks/captchaManager.cjs 26.25 kB │ gzip: 7.65 kB
|
|
201
201
|
dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs 28.74 kB │ gzip: 6.51 kB
|
|
202
202
|
|
|
203
|
-
[32m✓ built in
|
|
203
|
+
[32m✓ built in 125ms[39m
|
|
204
204
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeBehavior.js to /home/runner/work/captcha/captcha/packages/provider/dist/cjs/tasks/detection/decodeBehavior.js
|
|
205
205
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodePayload.js to /home/runner/work/captcha/captcha/packages/provider/dist/cjs/tasks/detection/decodePayload.js
|
|
206
206
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeSimd.js to /home/runner/work/captcha/captcha/packages/provider/dist/cjs/tasks/detection/decodeSimd.js
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
$ tsc --build --verbose
|
|
2
|
-
|
|
2
|
+
2:44:16 PM - Projects in this build:
|
|
3
3
|
* ../../dev/config/tsconfig.json
|
|
4
4
|
* ../util/tsconfig.json
|
|
5
5
|
* ../locale/tsconfig.json
|
|
@@ -27,57 +27,57 @@ $ tsc --build --verbose
|
|
|
27
27
|
* ../web-bot-auth/tsconfig.json
|
|
28
28
|
* tsconfig.json
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
2:44:16 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
2:44:16 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
2:44:16 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/process.ts' is older than output '../locale/tsconfig.tsbuildinfo'
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
2:44:16 PM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
2:44:16 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
2:44:16 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/tests/apiHarness.ts' is older than output '../api/tsconfig.tsbuildinfo'
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
2:44:16 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
2:44:16 PM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/apiRoutes.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
2:44:16 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
2:44:16 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
2:44:16 PM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/index.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
2:44:16 PM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/transformRule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
2:44:16 PM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/index.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
2:44:16 PM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/mongoGlobalSetup.ts' is older than output '../database/tsconfig.tsbuildinfo'
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
2:44:16 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/keyring/keyring.test.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
2:44:16 PM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/env.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
2:44:16 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/tests/env.maintenance.unit.test.ts' is older than output '../env/tsconfig.tsbuildinfo'
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
2:44:16 PM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/tests/unit/apiExpressDefaultEndpointAdapter.unit.test.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
2:44:16 PM - Project '../puzzle-assets/tsconfig.json' is up to date because newest input '../puzzle-assets/src/background.ts' is older than output '../puzzle-assets/tsconfig.tsbuildinfo'
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
2:44:16 PM - Project '../audio-assets/tsconfig.json' is up to date because newest input '../audio-assets/src/distort.ts' is older than output '../audio-assets/tsconfig.tsbuildinfo'
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
2:44:16 PM - Project '../captcha-severity/tsconfig.json' is up to date because newest input '../captcha-severity/src/index.test.ts' is older than output '../captcha-severity/tsconfig.tsbuildinfo'
|
|
71
71
|
|
|
72
|
-
|
|
72
|
+
2:44:16 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/tests/captcha.unit.test.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
2:44:16 PM - Project '../icon-order-assets/tsconfig.json' is up to date because newest input '../icon-order-assets/src/background.ts' is older than output '../icon-order-assets/tsconfig.tsbuildinfo'
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
2:44:16 PM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/balancer.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
2:44:16 PM - Project '../web-bot-auth/tsconfig.json' is up to date because newest input '../web-bot-auth/src/index.ts' is older than output '../web-bot-auth/tsconfig.tsbuildinfo'
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
2:44:16 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
2:44:16 PM - Building project '/home/runner/work/captcha/captcha/packages/provider/tsconfig.json'...
|
|
83
83
|
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -130,7 +130,6 @@ dist/tasks/spam/updateSpamEmailDomains.js 1.87 k
|
|
|
130
130
|
dist/api/captcha/getAudioCaptchaChallenge.js 1.87 kB │ gzip: 0.72 kB
|
|
131
131
|
dist/api/admin/apiClearAllCountersEndpoint.js 1.89 kB │ gzip: 0.76 kB
|
|
132
132
|
dist/api/requestBodySummary.js 1.94 kB │ gzip: 0.88 kB
|
|
133
|
-
dist/tasks/frictionless/ipMatch.js 1.98 kB │ gzip: 1.02 kB
|
|
134
133
|
dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js 1.98 kB │ gzip: 0.89 kB
|
|
135
134
|
dist/api/captcha/signedAssetsResolver.js 2.08 kB │ gzip: 0.98 kB
|
|
136
135
|
dist/migrations/frictionlessLadder.js 2.12 kB │ gzip: 0.93 kB
|
|
@@ -149,6 +148,7 @@ dist/tasks/puzzle/puzzleDifficulty.js 2.50 k
|
|
|
149
148
|
dist/api/forwardVerify.js 2.59 kB │ gzip: 1.10 kB
|
|
150
149
|
dist/tasks/iconOrderCaptcha/iconOrderTasks.js 2.59 kB │ gzip: 0.98 kB
|
|
151
150
|
dist/api/captcha/submitImageCaptchaSolution.js 2.69 kB │ gzip: 1.03 kB
|
|
151
|
+
dist/tasks/frictionless/ipMatch.js 2.72 kB │ gzip: 1.34 kB
|
|
152
152
|
dist/api/admin/apiAdminRoutesProvider.js 2.78 kB │ gzip: 0.55 kB
|
|
153
153
|
dist/index.js 2.99 kB │ gzip: 0.82 kB
|
|
154
154
|
dist/api/admin/apiDnsEventEndpoint.js 3.05 kB │ gzip: 1.18 kB
|
|
@@ -195,13 +195,13 @@ dist/api/blacklistRequestInspector.js 12.97 k
|
|
|
195
195
|
dist/api/metrics.js 13.17 kB │ gzip: 4.27 kB
|
|
196
196
|
dist/tasks/interactiveCaptcha/interactiveCaptchaManager.js 18.40 kB │ gzip: 4.85 kB
|
|
197
197
|
dist/api/verify.js 18.64 kB │ gzip: 3.57 kB
|
|
198
|
-
dist/
|
|
199
|
-
dist/
|
|
198
|
+
dist/tasks/frictionless/frictionlessTasks.js 20.58 kB │ gzip: 5.55 kB
|
|
199
|
+
dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js 21.70 kB │ gzip: 5.16 kB
|
|
200
200
|
dist/tasks/powCaptcha/powTasks.js 24.47 kB │ gzip: 6.18 kB
|
|
201
201
|
dist/tasks/captchaManager.js 25.68 kB │ gzip: 7.58 kB
|
|
202
202
|
dist/tasks/imgCaptcha/imgCaptchaTasks.js 27.18 kB │ gzip: 6.46 kB
|
|
203
203
|
|
|
204
|
-
[32m✓ built in
|
|
204
|
+
[32m✓ built in 151ms[39m
|
|
205
205
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeBehavior.js to /home/runner/work/captcha/captcha/packages/provider/dist/tasks/detection/decodeBehavior.js
|
|
206
206
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodePayload.js to /home/runner/work/captcha/captcha/packages/provider/dist/tasks/detection/decodePayload.js
|
|
207
207
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeSimd.js to /home/runner/work/captcha/captcha/packages/provider/dist/tasks/detection/decodeSimd.js
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,71 @@
|
|
|
1
1
|
# @prosopo/provider
|
|
2
2
|
|
|
3
|
+
## 5.19.3
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- ebcd4ed: Bound automatic puzzle difficulty escalation, and record the level a session was
|
|
7
|
+
given so it can be read back from the session record.
|
|
8
|
+
- 3c5d196: Make the Web Bot Auth agent pass work end to end. Driving a signing agent through the demo site turned up six things that stopped an allowed agent getting through, or let a blocked one past:
|
|
9
|
+
|
|
10
|
+
- A site set to a fixed captcha type (PoW, image, puzzle, icon order), or a provider with no detector bundles, served its challenge before the signature was checked. A verified agent's Allow and Block rules are now applied first.
|
|
11
|
+
- An agent with an existing challenge session for the same user, IP and site got that session back. A matching Allow rule now replaces it with a fresh authenticated session.
|
|
12
|
+
- An agent whose page sent no detector token failed with "Failed to store session". The session now gets a generated token, the way the other no-detector paths do.
|
|
13
|
+
- A provider that sees clients as IPv4-mapped IPv6 (`::ffff:1.2.3.4`) rejected every verify, because the site forwards the plain `1.2.3.4`. The IP check now treats the two as the same address.
|
|
14
|
+
- Deleting or filtering access rules by `webBotAuthAgent` sent Redis an unescaped URL, which is a query syntax error, so nothing was deleted. Removing an Agent Trust rule in the portal left it in force.
|
|
15
|
+
- The widget issued the token at page load and never refreshed it. In invisible mode it drew the badge and fired the callback before the user did anything; it now draws nothing and issues the token on execute(). In both modes the pass now expires and renews like a solved PoW, so an agent that takes more than three minutes to fill a form no longer fails with "not recent".
|
|
16
|
+
|
|
17
|
+
Rejected signatures are now logged with the reason.
|
|
18
|
+
- Updated dependencies [ebcd4ed]
|
|
19
|
+
- Updated dependencies [b6e9459]
|
|
20
|
+
- Updated dependencies [3c5d196]
|
|
21
|
+
- @prosopo/captcha-severity@1.3.1
|
|
22
|
+
- @prosopo/locale@3.11.1
|
|
23
|
+
- @prosopo/user-access-policy@3.15.4
|
|
24
|
+
- @prosopo/api-express-router@3.2.9
|
|
25
|
+
- @prosopo/common@3.2.3
|
|
26
|
+
- @prosopo/types@5.16.3
|
|
27
|
+
- @prosopo/types-database@5.10.6
|
|
28
|
+
- @prosopo/database@4.2.7
|
|
29
|
+
- @prosopo/api@4.7.3
|
|
30
|
+
- @prosopo/api-route@2.6.64
|
|
31
|
+
- @prosopo/audio-assets@0.2.1
|
|
32
|
+
- @prosopo/datasets@3.2.8
|
|
33
|
+
- @prosopo/env@3.6.77
|
|
34
|
+
- @prosopo/icon-order-assets@0.2.1
|
|
35
|
+
- @prosopo/ipinfo@0.4.21
|
|
36
|
+
- @prosopo/keyring@2.10.8
|
|
37
|
+
- @prosopo/load-balancer@2.11.12
|
|
38
|
+
- @prosopo/logger@2.1.4
|
|
39
|
+
- @prosopo/puzzle-assets@0.2.2
|
|
40
|
+
- @prosopo/redis-client@1.0.41
|
|
41
|
+
- @prosopo/types-env@2.11.23
|
|
42
|
+
- @prosopo/util@3.3.15
|
|
43
|
+
- @prosopo/util-crypto@13.6.0
|
|
44
|
+
- @prosopo/web-bot-auth@0.1.3
|
|
45
|
+
|
|
46
|
+
## 5.19.2
|
|
47
|
+
### Patch Changes
|
|
48
|
+
|
|
49
|
+
- 24e89e1: The provider's Rust puzzle background generator now applies the same colour-blindness contrast check as the JS reference: when a palette is too flat for colour-blind users, it redraws it with a wider lightness range. It used to skip this, so about 1 in 60 backgrounds came out differently from the JS version. Those puzzles couldn't be replayed in the portal, and they missed the contrast floor. It's also why the puzzleRenderer replay test failed now and then.
|
|
50
|
+
- Updated dependencies [24e89e1]
|
|
51
|
+
- Updated dependencies [49e9385]
|
|
52
|
+
- Updated dependencies [03df637]
|
|
53
|
+
- @prosopo/native-puzzle@0.1.2
|
|
54
|
+
- @prosopo/locale@3.11.0
|
|
55
|
+
- @prosopo/api-express-router@3.2.8
|
|
56
|
+
- @prosopo/types@5.16.2
|
|
57
|
+
- @prosopo/common@3.2.2
|
|
58
|
+
- @prosopo/types-database@5.10.5
|
|
59
|
+
- @prosopo/api@4.7.2
|
|
60
|
+
- @prosopo/database@4.2.6
|
|
61
|
+
- @prosopo/datasets@3.2.7
|
|
62
|
+
- @prosopo/env@3.6.76
|
|
63
|
+
- @prosopo/ipinfo@0.4.20
|
|
64
|
+
- @prosopo/keyring@2.10.7
|
|
65
|
+
- @prosopo/load-balancer@2.11.11
|
|
66
|
+
- @prosopo/types-env@2.11.22
|
|
67
|
+
- @prosopo/user-access-policy@3.15.3
|
|
68
|
+
|
|
3
69
|
## 5.19.1
|
|
4
70
|
### Patch Changes
|
|
5
71
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/handler.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;8BAoDtD,mBAAmB,0BACA,kBAAkB,WAGpC,OAAO,GAAG,gBAAgB,OAC1B,QAAQ,QACP,YAAY;AAPpB,
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/handler.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;8BAoDtD,mBAAmB,0BACA,kBAAkB,WAGpC,OAAO,GAAG,gBAAgB,OAC1B,QAAQ,QACP,YAAY;AAPpB,wBAo/BG"}
|
|
@@ -115,6 +115,19 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
115
115
|
tasks.frictionlessManager.setAudioAlternativeEnabled(audioAlternativeEnabled);
|
|
116
116
|
const allowedCaptchaTypes = resolveSiteAllowedCaptchaTypes(clientRecord.settings);
|
|
117
117
|
tasks.frictionlessManager.setAllowedCaptchaTypes(allowedCaptchaTypes);
|
|
118
|
+
const webBotAuth = await verifyWebBotAuth({
|
|
119
|
+
method: req.method,
|
|
120
|
+
url: `https://${req.headers.host ?? ""}${req.originalUrl ?? req.url}`,
|
|
121
|
+
headers: flatten(req.headers)
|
|
122
|
+
}, { allowLocalSigners: process.env.NODE_ENV === "test" || process.env.NODE_ENV === "development" });
|
|
123
|
+
if (!webBotAuth.verified && webBotAuth.reason !== "no-signature-headers") req.logger.info(() => ({
|
|
124
|
+
msg: "Web Bot Auth signature rejected",
|
|
125
|
+
data: {
|
|
126
|
+
reason: webBotAuth.reason,
|
|
127
|
+
signatureAgent: req.headers["signature-agent"]
|
|
128
|
+
}
|
|
129
|
+
}));
|
|
130
|
+
const verifiedSignerUrl = webBotAuth.verified ? webBotAuth.signerUrl : void 0;
|
|
118
131
|
if (dedup) {
|
|
119
132
|
const dedupCountryCode = req.ipInfo && "isValid" in req.ipInfo && req.ipInfo.isValid ? req.ipInfo.countryCode : void 0;
|
|
120
133
|
const dedupAsn = req.ipInfo && "isValid" in req.ipInfo && req.ipInfo.isValid ? req.ipInfo.asnNumber : void 0;
|
|
@@ -122,9 +135,9 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
122
135
|
const dedupFlatHeaders = flatten(req.headers);
|
|
123
136
|
const dedupUserAgent = String(req.headers["user-agent"] ?? "");
|
|
124
137
|
const dedupTrafficPolicies = deriveTrafficPolicies(clientRecord.settings?.trafficFilter);
|
|
125
|
-
const dedupUserScope = getRequestUserScope(dedupFlatHeaders, req.ja4, normalizedIp, user, void 0, void 0, dedupCountryCode, dedupAsn);
|
|
138
|
+
const dedupUserScope = getRequestUserScope(dedupFlatHeaders, req.ja4, normalizedIp, user, void 0, void 0, dedupCountryCode, dedupAsn, verifiedSignerUrl);
|
|
126
139
|
const dedupAccessPolicy = (await tasks.frictionlessManager.getPrioritisedAccessPolicies(userAccessRulesStorage, dapp, dedupUserScope, normalizeHeadersForMatching(req.headers))).find((p) => !p.deferToVerify);
|
|
127
|
-
const dedupConflictsWithPolicy = dedupAccessPolicy !== void 0 && (dedupAccessPolicy.type === AccessPolicyType.Block || dedupAccessPolicy.captchaType !== void 0 && dedupAccessPolicy.captchaType !== dedup.captchaType);
|
|
140
|
+
const dedupConflictsWithPolicy = dedupAccessPolicy !== void 0 && (dedupAccessPolicy.type === AccessPolicyType.Block || dedupAccessPolicy.type === AccessPolicyType.Allow || dedupAccessPolicy.captchaType !== void 0 && dedupAccessPolicy.captchaType !== dedup.captchaType);
|
|
128
141
|
const cachedCaptchaType = dedup.captchaType;
|
|
129
142
|
const dedupRouted = normalizedIp ? await tasks.frictionlessManager.applyRoutingMachine({
|
|
130
143
|
captchaType: cachedCaptchaType,
|
|
@@ -240,26 +253,12 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
240
253
|
};
|
|
241
254
|
const refresh = await resolveRefreshLineage(tasks.db, refreshOf, dapp, /* @__PURE__ */ new Date());
|
|
242
255
|
tasks.frictionlessManager.setImageSwitchRequested(isImageSwitchRequestValid(switchToImage, refresh, isPuzzleImageSwitchAvailable(clientRecord.settings)));
|
|
243
|
-
const shortCircuitResponse = await runConfiguredCaptchaTypeShortCircuit(shortCircuitInput, res);
|
|
244
|
-
if (shortCircuitResponse) return shortCircuitResponse;
|
|
245
|
-
const emptyPoolResponse = await runEmptyDetectorPoolPowFallback(shortCircuitInput, res);
|
|
246
|
-
if (emptyPoolResponse) return emptyPoolResponse;
|
|
247
|
-
const lScore = tasks.frictionlessManager.checkLangRules(req.headers["accept-language"] || "");
|
|
248
|
-
const verified = await verifyWebBotAuth({
|
|
249
|
-
method: req.method,
|
|
250
|
-
url: `https://${req.headers.host ?? ""}${req.originalUrl ?? req.url}`,
|
|
251
|
-
headers: flatten(req.headers)
|
|
252
|
-
}, { allowLocalSigners: process.env.NODE_ENV === "test" || process.env.NODE_ENV === "development" });
|
|
253
|
-
const verifiedSignerUrl = verified.verified ? verified.signerUrl : void 0;
|
|
254
256
|
const userScope = getRequestUserScope(flatten(req.headers), req.ja4, normalizedIp, user, void 0, void 0, countryCode, asn, verifiedSignerUrl);
|
|
255
|
-
const
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
const allowingPolicy = accessPolicies.find((p) => !p.deferToVerify && (p.type === AccessPolicyType.Block || p.type === AccessPolicyType.Restrict)) ? void 0 : accessPolicies.find((p) => !p.deferToVerify && p.type === AccessPolicyType.Allow);
|
|
261
|
-
if (allowingPolicy) {
|
|
262
|
-
const authenticatedSession = await tasks.frictionlessManager.createAuthenticatedSession(token, ipAddress, verifiedSignerUrl ?? "", dapp, userSitekeyIpHash, flatHeaders, req.ipInfo && "isValid" in req.ipInfo && req.ipInfo.isValid ? req.ipInfo : void 0, clientSessionId);
|
|
257
|
+
const lookupAccessPolicies = () => tasks.frictionlessManager.getPrioritisedAccessPolicies(userAccessRulesStorage, dapp, userScope, normalizeHeadersForMatching(req.headers));
|
|
258
|
+
const respondIfAllowed = async (accessPolicies) => {
|
|
259
|
+
const allowingPolicy = accessPolicies.find((p) => !p.deferToVerify && (p.type === AccessPolicyType.Block || p.type === AccessPolicyType.Restrict)) ? void 0 : accessPolicies.find((p) => !p.deferToVerify && p.type === AccessPolicyType.Allow);
|
|
260
|
+
if (!allowingPolicy) return null;
|
|
261
|
+
const authenticatedSession = await tasks.frictionlessManager.createAuthenticatedSession(sessionToken, ipAddress, verifiedSignerUrl, dapp, userSitekeyIpHash, flatHeaders, req.ipInfo && "isValid" in req.ipInfo && req.ipInfo.isValid ? req.ipInfo : void 0, clientSessionId);
|
|
263
262
|
req.logger.info(() => ({
|
|
264
263
|
msg: "Frictionless decision",
|
|
265
264
|
data: {
|
|
@@ -279,7 +278,56 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
279
278
|
dns_url: buildDnsEventUrl(authenticatedSession.sessionId),
|
|
280
279
|
...verifiedSignerUrl && { agent: verifiedSignerUrl }
|
|
281
280
|
});
|
|
281
|
+
};
|
|
282
|
+
const signerAccessPolicies = verifiedSignerUrl ? await lookupAccessPolicies() : void 0;
|
|
283
|
+
if (signerAccessPolicies) {
|
|
284
|
+
const signerBlockPolicy = signerAccessPolicies.find((p) => !p.deferToVerify && p.type === AccessPolicyType.Block);
|
|
285
|
+
if (signerBlockPolicy) {
|
|
286
|
+
tasks.frictionlessManager.setSessionParams({
|
|
287
|
+
token: sessionToken,
|
|
288
|
+
score: 0,
|
|
289
|
+
threshold: 0,
|
|
290
|
+
scoreComponents: { baseScore: 0 },
|
|
291
|
+
ipAddress,
|
|
292
|
+
webView: false,
|
|
293
|
+
iFrame: false,
|
|
294
|
+
decryptedHeadHash: "",
|
|
295
|
+
siteKey: dapp,
|
|
296
|
+
ipInfo: req.ipInfo,
|
|
297
|
+
headers: flatHeaders,
|
|
298
|
+
mode: sessionMode
|
|
299
|
+
});
|
|
300
|
+
const blockOutcome = await handleAccessPolicy({
|
|
301
|
+
tasks,
|
|
302
|
+
clientRecord,
|
|
303
|
+
userAccessPolicy: signerBlockPolicy,
|
|
304
|
+
baseBotScore: 0,
|
|
305
|
+
botScore: 0,
|
|
306
|
+
scoreComponents: { baseScore: 0 },
|
|
307
|
+
userSitekeyIpHash,
|
|
308
|
+
dapp,
|
|
309
|
+
ipInfo: req.ipInfo,
|
|
310
|
+
flatHeaders,
|
|
311
|
+
logger: req.logger,
|
|
312
|
+
userScope
|
|
313
|
+
}, res);
|
|
314
|
+
if (blockOutcome.handled) return blockOutcome.response;
|
|
315
|
+
}
|
|
316
|
+
const allowedSignerResponse = await respondIfAllowed(signerAccessPolicies);
|
|
317
|
+
if (allowedSignerResponse) return allowedSignerResponse;
|
|
282
318
|
}
|
|
319
|
+
const shortCircuitResponse = await runConfiguredCaptchaTypeShortCircuit(shortCircuitInput, res);
|
|
320
|
+
if (shortCircuitResponse) return shortCircuitResponse;
|
|
321
|
+
const emptyPoolResponse = await runEmptyDetectorPoolPowFallback(shortCircuitInput, res);
|
|
322
|
+
if (emptyPoolResponse) return emptyPoolResponse;
|
|
323
|
+
const lScore = tasks.frictionlessManager.checkLangRules(req.headers["accept-language"] || "");
|
|
324
|
+
const [decryptedPayload, validation, accessPolicies] = await Promise.all([
|
|
325
|
+
tasks.frictionlessManager.decryptPayload(token, headHash, detectorSessionId),
|
|
326
|
+
tasks.frictionlessManager.isValidRequest(clientRecord, CaptchaType.frictionless, env),
|
|
327
|
+
signerAccessPolicies ?? lookupAccessPolicies()
|
|
328
|
+
]);
|
|
329
|
+
const allowedResponse = await respondIfAllowed(accessPolicies);
|
|
330
|
+
if (allowedResponse) return allowedResponse;
|
|
283
331
|
const { baseBotScore: rawBaseBotScore, timestamp: rawTimestamp, userId: rawUserId, userAgent: rawUserAgent, webView, iFrame, decryptedHeadHash, decryptionFailed: rawDecryptionFailed, triggeredDetectors, shadowDomPenalty, d, bundleId } = decryptedPayload;
|
|
284
332
|
const detectorOverride = process.env.PROSOPO_TEST_FRICTIONLESS_DETECTOR_OVERRIDE === "1";
|
|
285
333
|
const baseBotScore = detectorOverride ? 0 : rawBaseBotScore;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -115,6 +115,19 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
115
115
|
tasks.frictionlessManager.setAudioAlternativeEnabled(audioAlternativeEnabled);
|
|
116
116
|
const allowedCaptchaTypes = require_constants.resolveSiteAllowedCaptchaTypes(clientRecord.settings);
|
|
117
117
|
tasks.frictionlessManager.setAllowedCaptchaTypes(allowedCaptchaTypes);
|
|
118
|
+
const webBotAuth = await (0, _prosopo_web_bot_auth.verifyWebBotAuth)({
|
|
119
|
+
method: req.method,
|
|
120
|
+
url: `https://${req.headers.host ?? ""}${req.originalUrl ?? req.url}`,
|
|
121
|
+
headers: (0, _prosopo_util.flatten)(req.headers)
|
|
122
|
+
}, { allowLocalSigners: process.env.NODE_ENV === "test" || process.env.NODE_ENV === "development" });
|
|
123
|
+
if (!webBotAuth.verified && webBotAuth.reason !== "no-signature-headers") req.logger.info(() => ({
|
|
124
|
+
msg: "Web Bot Auth signature rejected",
|
|
125
|
+
data: {
|
|
126
|
+
reason: webBotAuth.reason,
|
|
127
|
+
signatureAgent: req.headers["signature-agent"]
|
|
128
|
+
}
|
|
129
|
+
}));
|
|
130
|
+
const verifiedSignerUrl = webBotAuth.verified ? webBotAuth.signerUrl : void 0;
|
|
118
131
|
if (dedup) {
|
|
119
132
|
const dedupCountryCode = req.ipInfo && "isValid" in req.ipInfo && req.ipInfo.isValid ? req.ipInfo.countryCode : void 0;
|
|
120
133
|
const dedupAsn = req.ipInfo && "isValid" in req.ipInfo && req.ipInfo.isValid ? req.ipInfo.asnNumber : void 0;
|
|
@@ -122,9 +135,9 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
122
135
|
const dedupFlatHeaders = (0, _prosopo_util.flatten)(req.headers);
|
|
123
136
|
const dedupUserAgent = String(req.headers["user-agent"] ?? "");
|
|
124
137
|
const dedupTrafficPolicies = require_devicePlatform.deriveTrafficPolicies(clientRecord.settings?.trafficFilter);
|
|
125
|
-
const dedupUserScope = require_blacklistRequestInspector.getRequestUserScope(dedupFlatHeaders, req.ja4, normalizedIp, user, void 0, void 0, dedupCountryCode, dedupAsn);
|
|
138
|
+
const dedupUserScope = require_blacklistRequestInspector.getRequestUserScope(dedupFlatHeaders, req.ja4, normalizedIp, user, void 0, void 0, dedupCountryCode, dedupAsn, verifiedSignerUrl);
|
|
126
139
|
const dedupAccessPolicy = (await tasks.frictionlessManager.getPrioritisedAccessPolicies(userAccessRulesStorage, dapp, dedupUserScope, require_blacklistRequestInspector.normalizeHeadersForMatching(req.headers))).find((p) => !p.deferToVerify);
|
|
127
|
-
const dedupConflictsWithPolicy = dedupAccessPolicy !== void 0 && (dedupAccessPolicy.type === _prosopo_user_access_policy.AccessPolicyType.Block || dedupAccessPolicy.captchaType !== void 0 && dedupAccessPolicy.captchaType !== dedup.captchaType);
|
|
140
|
+
const dedupConflictsWithPolicy = dedupAccessPolicy !== void 0 && (dedupAccessPolicy.type === _prosopo_user_access_policy.AccessPolicyType.Block || dedupAccessPolicy.type === _prosopo_user_access_policy.AccessPolicyType.Allow || dedupAccessPolicy.captchaType !== void 0 && dedupAccessPolicy.captchaType !== dedup.captchaType);
|
|
128
141
|
const cachedCaptchaType = dedup.captchaType;
|
|
129
142
|
const dedupRouted = normalizedIp ? await tasks.frictionlessManager.applyRoutingMachine({
|
|
130
143
|
captchaType: cachedCaptchaType,
|
|
@@ -240,26 +253,12 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
240
253
|
};
|
|
241
254
|
const refresh = await require_refreshLineage.resolveRefreshLineage(tasks.db, refreshOf, dapp, /* @__PURE__ */ new Date());
|
|
242
255
|
tasks.frictionlessManager.setImageSwitchRequested(require_refreshLineage.isImageSwitchRequestValid(switchToImage, refresh, require_constants.isPuzzleImageSwitchAvailable(clientRecord.settings)));
|
|
243
|
-
const shortCircuitResponse = await require_shortCircuit.runConfiguredCaptchaTypeShortCircuit(shortCircuitInput, res);
|
|
244
|
-
if (shortCircuitResponse) return shortCircuitResponse;
|
|
245
|
-
const emptyPoolResponse = await require_shortCircuit.runEmptyDetectorPoolPowFallback(shortCircuitInput, res);
|
|
246
|
-
if (emptyPoolResponse) return emptyPoolResponse;
|
|
247
|
-
const lScore = tasks.frictionlessManager.checkLangRules(req.headers["accept-language"] || "");
|
|
248
|
-
const verified = await (0, _prosopo_web_bot_auth.verifyWebBotAuth)({
|
|
249
|
-
method: req.method,
|
|
250
|
-
url: `https://${req.headers.host ?? ""}${req.originalUrl ?? req.url}`,
|
|
251
|
-
headers: (0, _prosopo_util.flatten)(req.headers)
|
|
252
|
-
}, { allowLocalSigners: process.env.NODE_ENV === "test" || process.env.NODE_ENV === "development" });
|
|
253
|
-
const verifiedSignerUrl = verified.verified ? verified.signerUrl : void 0;
|
|
254
256
|
const userScope = require_blacklistRequestInspector.getRequestUserScope((0, _prosopo_util.flatten)(req.headers), req.ja4, normalizedIp, user, void 0, void 0, countryCode, asn, verifiedSignerUrl);
|
|
255
|
-
const
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
const allowingPolicy = accessPolicies.find((p) => !p.deferToVerify && (p.type === _prosopo_user_access_policy.AccessPolicyType.Block || p.type === _prosopo_user_access_policy.AccessPolicyType.Restrict)) ? void 0 : accessPolicies.find((p) => !p.deferToVerify && p.type === _prosopo_user_access_policy.AccessPolicyType.Allow);
|
|
261
|
-
if (allowingPolicy) {
|
|
262
|
-
const authenticatedSession = await tasks.frictionlessManager.createAuthenticatedSession(token, ipAddress, verifiedSignerUrl ?? "", dapp, userSitekeyIpHash, flatHeaders, req.ipInfo && "isValid" in req.ipInfo && req.ipInfo.isValid ? req.ipInfo : void 0, clientSessionId);
|
|
257
|
+
const lookupAccessPolicies = () => tasks.frictionlessManager.getPrioritisedAccessPolicies(userAccessRulesStorage, dapp, userScope, require_blacklistRequestInspector.normalizeHeadersForMatching(req.headers));
|
|
258
|
+
const respondIfAllowed = async (accessPolicies) => {
|
|
259
|
+
const allowingPolicy = accessPolicies.find((p) => !p.deferToVerify && (p.type === _prosopo_user_access_policy.AccessPolicyType.Block || p.type === _prosopo_user_access_policy.AccessPolicyType.Restrict)) ? void 0 : accessPolicies.find((p) => !p.deferToVerify && p.type === _prosopo_user_access_policy.AccessPolicyType.Allow);
|
|
260
|
+
if (!allowingPolicy) return null;
|
|
261
|
+
const authenticatedSession = await tasks.frictionlessManager.createAuthenticatedSession(sessionToken, ipAddress, verifiedSignerUrl, dapp, userSitekeyIpHash, flatHeaders, req.ipInfo && "isValid" in req.ipInfo && req.ipInfo.isValid ? req.ipInfo : void 0, clientSessionId);
|
|
263
262
|
req.logger.info(() => ({
|
|
264
263
|
msg: "Frictionless decision",
|
|
265
264
|
data: {
|
|
@@ -279,7 +278,56 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
279
278
|
dns_url: require_dnsEventUrl.buildDnsEventUrl(authenticatedSession.sessionId),
|
|
280
279
|
...verifiedSignerUrl && { agent: verifiedSignerUrl }
|
|
281
280
|
});
|
|
281
|
+
};
|
|
282
|
+
const signerAccessPolicies = verifiedSignerUrl ? await lookupAccessPolicies() : void 0;
|
|
283
|
+
if (signerAccessPolicies) {
|
|
284
|
+
const signerBlockPolicy = signerAccessPolicies.find((p) => !p.deferToVerify && p.type === _prosopo_user_access_policy.AccessPolicyType.Block);
|
|
285
|
+
if (signerBlockPolicy) {
|
|
286
|
+
tasks.frictionlessManager.setSessionParams({
|
|
287
|
+
token: sessionToken,
|
|
288
|
+
score: 0,
|
|
289
|
+
threshold: 0,
|
|
290
|
+
scoreComponents: { baseScore: 0 },
|
|
291
|
+
ipAddress,
|
|
292
|
+
webView: false,
|
|
293
|
+
iFrame: false,
|
|
294
|
+
decryptedHeadHash: "",
|
|
295
|
+
siteKey: dapp,
|
|
296
|
+
ipInfo: req.ipInfo,
|
|
297
|
+
headers: flatHeaders,
|
|
298
|
+
mode: sessionMode
|
|
299
|
+
});
|
|
300
|
+
const blockOutcome = await require_accessPolicy.handleAccessPolicy({
|
|
301
|
+
tasks,
|
|
302
|
+
clientRecord,
|
|
303
|
+
userAccessPolicy: signerBlockPolicy,
|
|
304
|
+
baseBotScore: 0,
|
|
305
|
+
botScore: 0,
|
|
306
|
+
scoreComponents: { baseScore: 0 },
|
|
307
|
+
userSitekeyIpHash,
|
|
308
|
+
dapp,
|
|
309
|
+
ipInfo: req.ipInfo,
|
|
310
|
+
flatHeaders,
|
|
311
|
+
logger: req.logger,
|
|
312
|
+
userScope
|
|
313
|
+
}, res);
|
|
314
|
+
if (blockOutcome.handled) return blockOutcome.response;
|
|
315
|
+
}
|
|
316
|
+
const allowedSignerResponse = await respondIfAllowed(signerAccessPolicies);
|
|
317
|
+
if (allowedSignerResponse) return allowedSignerResponse;
|
|
282
318
|
}
|
|
319
|
+
const shortCircuitResponse = await require_shortCircuit.runConfiguredCaptchaTypeShortCircuit(shortCircuitInput, res);
|
|
320
|
+
if (shortCircuitResponse) return shortCircuitResponse;
|
|
321
|
+
const emptyPoolResponse = await require_shortCircuit.runEmptyDetectorPoolPowFallback(shortCircuitInput, res);
|
|
322
|
+
if (emptyPoolResponse) return emptyPoolResponse;
|
|
323
|
+
const lScore = tasks.frictionlessManager.checkLangRules(req.headers["accept-language"] || "");
|
|
324
|
+
const [decryptedPayload, validation, accessPolicies] = await Promise.all([
|
|
325
|
+
tasks.frictionlessManager.decryptPayload(token, headHash, detectorSessionId),
|
|
326
|
+
tasks.frictionlessManager.isValidRequest(clientRecord, _prosopo_types.CaptchaType.frictionless, env),
|
|
327
|
+
signerAccessPolicies ?? lookupAccessPolicies()
|
|
328
|
+
]);
|
|
329
|
+
const allowedResponse = await respondIfAllowed(accessPolicies);
|
|
330
|
+
if (allowedResponse) return allowedResponse;
|
|
283
331
|
const { baseBotScore: rawBaseBotScore, timestamp: rawTimestamp, userId: rawUserId, userAgent: rawUserAgent, webView, iFrame, decryptedHeadHash, decryptionFailed: rawDecryptionFailed, triggeredDetectors, shadowDomPenalty, d, bundleId } = decryptedPayload;
|
|
284
332
|
const detectorOverride = process.env.PROSOPO_TEST_FRICTIONLESS_DETECTOR_OVERRIDE === "1";
|
|
285
333
|
const baseBotScore = detectorOverride ? 0 : rawBaseBotScore;
|