@prosopo/provider 3.2.0 → 3.2.2

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.
Files changed (233) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/api/admin/apiAdminRoutesProvider.js +26 -21
  3. package/dist/api/admin/apiRegisterSiteKeyEndpoint.js +21 -20
  4. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js +27 -27
  5. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.js +33 -33
  6. package/dist/api/admin/createApiAdminRoutesProvider.js +8 -5
  7. package/dist/api/blacklistRequestInspector.js +115 -98
  8. package/dist/api/block.js +13 -8
  9. package/dist/api/captcha.js +519 -356
  10. package/dist/api/domainMiddleware.js +75 -68
  11. package/dist/api/headerCheckMiddleware.js +26 -25
  12. package/dist/api/ignoreMiddleware.js +12 -10
  13. package/dist/api/ja4Middleware.js +74 -82
  14. package/dist/api/public.js +26 -23
  15. package/dist/api/robotsMiddleware.js +11 -9
  16. package/dist/api/validateAddress.js +20 -18
  17. package/dist/api/verify.js +133 -95
  18. package/dist/cjs/api/captcha.cjs +45 -36
  19. package/dist/cjs/tasks/captchaManager.cjs +24 -10
  20. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +12 -12
  21. package/dist/cjs/tasks/powCaptcha/powTasksUtils.cjs +1 -1
  22. package/dist/index.js +38 -15
  23. package/dist/rules/lang.js +14 -14
  24. package/dist/schedulers/captchaScheduler.js +28 -23
  25. package/dist/schedulers/getClientList.js +29 -24
  26. package/dist/tasks/captchaManager.js +109 -85
  27. package/dist/tasks/client/clientTasks.js +265 -204
  28. package/dist/tasks/dataset/datasetTasks.js +27 -16
  29. package/dist/tasks/dataset/datasetTasksUtils.js +31 -31
  30. package/dist/tasks/detection/decodePayload.js +378 -208
  31. package/dist/tasks/detection/getBotScore.js +12 -10
  32. package/dist/tasks/frictionless/frictionlessTasks.js +120 -119
  33. package/dist/tasks/frictionless/frictionlessTasksUtils.js +10 -5
  34. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +360 -271
  35. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js +23 -16
  36. package/dist/tasks/index.js +4 -2
  37. package/dist/tasks/powCaptcha/powTasks.js +157 -97
  38. package/dist/tasks/powCaptcha/powTasksUtils.js +24 -20
  39. package/dist/tasks/tasks.js +53 -29
  40. package/dist/util.js +98 -88
  41. package/package.json +31 -27
  42. package/vite.cjs.config.ts +4 -1
  43. package/vite.esm.config.ts +20 -0
  44. package/vite.test.config.ts +15 -3
  45. package/dist/api/admin/apiAdminRoutesProvider.d.ts +0 -9
  46. package/dist/api/admin/apiAdminRoutesProvider.d.ts.map +0 -1
  47. package/dist/api/admin/apiAdminRoutesProvider.js.map +0 -1
  48. package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts +0 -14
  49. package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts.map +0 -1
  50. package/dist/api/admin/apiRegisterSiteKeyEndpoint.js.map +0 -1
  51. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts +0 -14
  52. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts.map +0 -1
  53. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js.map +0 -1
  54. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts +0 -14
  55. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts.map +0 -1
  56. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.js.map +0 -1
  57. package/dist/api/admin/createApiAdminRoutesProvider.d.ts +0 -4
  58. package/dist/api/admin/createApiAdminRoutesProvider.d.ts.map +0 -1
  59. package/dist/api/admin/createApiAdminRoutesProvider.js.map +0 -1
  60. package/dist/api/blacklistRequestInspector.d.ts +0 -39
  61. package/dist/api/blacklistRequestInspector.d.ts.map +0 -1
  62. package/dist/api/blacklistRequestInspector.js.map +0 -1
  63. package/dist/api/block.d.ts +0 -3
  64. package/dist/api/block.d.ts.map +0 -1
  65. package/dist/api/block.js.map +0 -1
  66. package/dist/api/captcha.d.ts +0 -4
  67. package/dist/api/captcha.d.ts.map +0 -1
  68. package/dist/api/captcha.js.map +0 -1
  69. package/dist/api/domainMiddleware.d.ts +0 -4
  70. package/dist/api/domainMiddleware.d.ts.map +0 -1
  71. package/dist/api/domainMiddleware.js.map +0 -1
  72. package/dist/api/headerCheckMiddleware.d.ts +0 -4
  73. package/dist/api/headerCheckMiddleware.d.ts.map +0 -1
  74. package/dist/api/headerCheckMiddleware.js.map +0 -1
  75. package/dist/api/ignoreMiddleware.d.ts +0 -3
  76. package/dist/api/ignoreMiddleware.d.ts.map +0 -1
  77. package/dist/api/ignoreMiddleware.js.map +0 -1
  78. package/dist/api/ja4Middleware.d.ts +0 -10
  79. package/dist/api/ja4Middleware.d.ts.map +0 -1
  80. package/dist/api/ja4Middleware.js.map +0 -1
  81. package/dist/api/public.d.ts +0 -3
  82. package/dist/api/public.d.ts.map +0 -1
  83. package/dist/api/public.js.map +0 -1
  84. package/dist/api/robotsMiddleware.d.ts +0 -3
  85. package/dist/api/robotsMiddleware.d.ts.map +0 -1
  86. package/dist/api/robotsMiddleware.js.map +0 -1
  87. package/dist/api/validateAddress.d.ts +0 -5
  88. package/dist/api/validateAddress.d.ts.map +0 -1
  89. package/dist/api/validateAddress.js.map +0 -1
  90. package/dist/api/verify.d.ts +0 -4
  91. package/dist/api/verify.d.ts.map +0 -1
  92. package/dist/api/verify.js.map +0 -1
  93. package/dist/index.d.ts +0 -15
  94. package/dist/index.d.ts.map +0 -1
  95. package/dist/index.js.map +0 -1
  96. package/dist/rules/lang.d.ts +0 -3
  97. package/dist/rules/lang.d.ts.map +0 -1
  98. package/dist/rules/lang.js.map +0 -1
  99. package/dist/schedulers/captchaScheduler.d.ts +0 -4
  100. package/dist/schedulers/captchaScheduler.d.ts.map +0 -1
  101. package/dist/schedulers/captchaScheduler.js.map +0 -1
  102. package/dist/schedulers/getClientList.d.ts +0 -4
  103. package/dist/schedulers/getClientList.d.ts.map +0 -1
  104. package/dist/schedulers/getClientList.js.map +0 -1
  105. package/dist/tasks/captchaManager.d.ts +0 -48
  106. package/dist/tasks/captchaManager.d.ts.map +0 -1
  107. package/dist/tasks/captchaManager.js.map +0 -1
  108. package/dist/tasks/client/clientTasks.d.ts +0 -21
  109. package/dist/tasks/client/clientTasks.d.ts.map +0 -1
  110. package/dist/tasks/client/clientTasks.js.map +0 -1
  111. package/dist/tasks/dataset/datasetTasks.d.ts +0 -13
  112. package/dist/tasks/dataset/datasetTasks.d.ts.map +0 -1
  113. package/dist/tasks/dataset/datasetTasks.js.map +0 -1
  114. package/dist/tasks/dataset/datasetTasksUtils.d.ts +0 -3
  115. package/dist/tasks/dataset/datasetTasksUtils.d.ts.map +0 -1
  116. package/dist/tasks/dataset/datasetTasksUtils.js.map +0 -1
  117. package/dist/tasks/detection/decodePayload.d.ts +0 -5
  118. package/dist/tasks/detection/decodePayload.d.ts.map +0 -1
  119. package/dist/tasks/detection/decodePayload.js.map +0 -1
  120. package/dist/tasks/detection/getBotScore.d.ts +0 -5
  121. package/dist/tasks/detection/getBotScore.d.ts.map +0 -1
  122. package/dist/tasks/detection/getBotScore.js.map +0 -1
  123. package/dist/tasks/frictionless/frictionlessTasks.d.ts +0 -23
  124. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +0 -1
  125. package/dist/tasks/frictionless/frictionlessTasks.js.map +0 -1
  126. package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts +0 -5
  127. package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts.map +0 -1
  128. package/dist/tasks/frictionless/frictionlessTasksUtils.js.map +0 -1
  129. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts +0 -29
  130. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +0 -1
  131. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +0 -1
  132. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts +0 -7
  133. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts.map +0 -1
  134. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js.map +0 -1
  135. package/dist/tasks/index.d.ts +0 -2
  136. package/dist/tasks/index.d.ts.map +0 -1
  137. package/dist/tasks/index.js.map +0 -1
  138. package/dist/tasks/powCaptcha/powTasks.d.ts +0 -16
  139. package/dist/tasks/powCaptcha/powTasks.d.ts.map +0 -1
  140. package/dist/tasks/powCaptcha/powTasks.js.map +0 -1
  141. package/dist/tasks/powCaptcha/powTasksUtils.d.ts +0 -3
  142. package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +0 -1
  143. package/dist/tasks/powCaptcha/powTasksUtils.js.map +0 -1
  144. package/dist/tasks/tasks.d.ts +0 -25
  145. package/dist/tasks/tasks.d.ts.map +0 -1
  146. package/dist/tasks/tasks.js.map +0 -1
  147. package/dist/tests/index.d.ts +0 -2
  148. package/dist/tests/index.d.ts.map +0 -1
  149. package/dist/tests/index.js +0 -2
  150. package/dist/tests/index.js.map +0 -1
  151. package/dist/tests/integration/accessRules.integration.test.d.ts +0 -2
  152. package/dist/tests/integration/accessRules.integration.test.d.ts.map +0 -1
  153. package/dist/tests/integration/accessRules.integration.test.js +0 -164
  154. package/dist/tests/integration/accessRules.integration.test.js.map +0 -1
  155. package/dist/tests/integration/imgCaptcha.integration.test.d.ts +0 -2
  156. package/dist/tests/integration/imgCaptcha.integration.test.d.ts.map +0 -1
  157. package/dist/tests/integration/imgCaptcha.integration.test.js +0 -261
  158. package/dist/tests/integration/imgCaptcha.integration.test.js.map +0 -1
  159. package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts +0 -32
  160. package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts.map +0 -1
  161. package/dist/tests/integration/mocks/solvedTestCaptchas.js +0 -1046
  162. package/dist/tests/integration/mocks/solvedTestCaptchas.js.map +0 -1
  163. package/dist/tests/integration/powCaptcha.integration.test.d.ts +0 -2
  164. package/dist/tests/integration/powCaptcha.integration.test.d.ts.map +0 -1
  165. package/dist/tests/integration/powCaptcha.integration.test.js +0 -306
  166. package/dist/tests/integration/powCaptcha.integration.test.js.map +0 -1
  167. package/dist/tests/integration/registerSitekey.d.ts +0 -3
  168. package/dist/tests/integration/registerSitekey.d.ts.map +0 -1
  169. package/dist/tests/integration/registerSitekey.js +0 -39
  170. package/dist/tests/integration/registerSitekey.js.map +0 -1
  171. package/dist/tests/integration/userAccessPolicy.d.ts +0 -16
  172. package/dist/tests/integration/userAccessPolicy.d.ts.map +0 -1
  173. package/dist/tests/integration/userAccessPolicy.js +0 -55
  174. package/dist/tests/integration/userAccessPolicy.js.map +0 -1
  175. package/dist/tests/unit/api/ignoreMiddleware.unit.test.d.ts +0 -2
  176. package/dist/tests/unit/api/ignoreMiddleware.unit.test.d.ts.map +0 -1
  177. package/dist/tests/unit/api/ignoreMiddleware.unit.test.js +0 -43
  178. package/dist/tests/unit/api/ignoreMiddleware.unit.test.js.map +0 -1
  179. package/dist/tests/unit/api/ja4Middleware.unit.test.d.ts +0 -2
  180. package/dist/tests/unit/api/ja4Middleware.unit.test.d.ts.map +0 -1
  181. package/dist/tests/unit/api/ja4Middleware.unit.test.js +0 -71
  182. package/dist/tests/unit/api/ja4Middleware.unit.test.js.map +0 -1
  183. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts +0 -2
  184. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts.map +0 -1
  185. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js +0 -75
  186. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js.map +0 -1
  187. package/dist/tests/unit/tasks/captchaManager.unit.test.d.ts +0 -2
  188. package/dist/tests/unit/tasks/captchaManager.unit.test.d.ts.map +0 -1
  189. package/dist/tests/unit/tasks/captchaManager.unit.test.js +0 -236
  190. package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +0 -1
  191. package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts +0 -2
  192. package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts.map +0 -1
  193. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js +0 -277
  194. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +0 -1
  195. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts +0 -2
  196. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts.map +0 -1
  197. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js +0 -93
  198. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js.map +0 -1
  199. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts +0 -2
  200. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts.map +0 -1
  201. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js +0 -75
  202. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js.map +0 -1
  203. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.d.ts +0 -2
  204. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.d.ts.map +0 -1
  205. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +0 -68
  206. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +0 -1
  207. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.d.ts +0 -2
  208. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.d.ts.map +0 -1
  209. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js +0 -37
  210. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js.map +0 -1
  211. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts +0 -2
  212. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts.map +0 -1
  213. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +0 -402
  214. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +0 -1
  215. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts +0 -2
  216. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts.map +0 -1
  217. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js +0 -46
  218. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js.map +0 -1
  219. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts +0 -2
  220. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts.map +0 -1
  221. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +0 -228
  222. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +0 -1
  223. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts +0 -2
  224. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts.map +0 -1
  225. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +0 -68
  226. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +0 -1
  227. package/dist/tests/unit/util.unit.test.d.ts +0 -2
  228. package/dist/tests/unit/util.unit.test.d.ts.map +0 -1
  229. package/dist/tests/unit/util.unit.test.js +0 -148
  230. package/dist/tests/unit/util.unit.test.js.map +0 -1
  231. package/dist/util.d.ts +0 -13
  232. package/dist/util.d.ts.map +0 -1
  233. package/dist/util.js.map +0 -1
@@ -3,29 +3,34 @@ import { ScheduledTaskNames } from "@prosopo/types";
3
3
  import { CronJob } from "cron";
4
4
  import { Tasks } from "../tasks/tasks.js";
5
5
  import { checkIfTaskIsRunning } from "../util.js";
6
- export async function getClientList(pair, cronSchedule, config) {
7
- const env = new ProviderEnvironment(config, pair);
8
- await env.isReady();
9
- const tasks = new Tasks(env);
10
- const job = new CronJob(cronSchedule, async () => {
11
- const taskRunning = await checkIfTaskIsRunning(ScheduledTaskNames.GetClientList, env.getDb());
12
- env.logger.info(() => ({
13
- msg: `${ScheduledTaskNames.GetClientList} task running: ${taskRunning}`,
14
- data: { taskRunning },
6
+ async function getClientList(pair, cronSchedule, config) {
7
+ const env = new ProviderEnvironment(config, pair);
8
+ await env.isReady();
9
+ const tasks = new Tasks(env);
10
+ const job = new CronJob(cronSchedule, async () => {
11
+ const taskRunning = await checkIfTaskIsRunning(
12
+ ScheduledTaskNames.GetClientList,
13
+ env.getDb()
14
+ );
15
+ env.logger.info(() => ({
16
+ msg: `${ScheduledTaskNames.GetClientList} task running: ${taskRunning}`,
17
+ data: { taskRunning }
18
+ }));
19
+ if (!taskRunning) {
20
+ env.logger.info(() => ({
21
+ msg: `${ScheduledTaskNames.GetClientList} task....`,
22
+ data: {}
23
+ }));
24
+ await tasks.clientTaskManager.getClientList().catch((err) => {
25
+ env.logger.error(() => ({
26
+ err,
27
+ msg: "Error getting client list"
15
28
  }));
16
- if (!taskRunning) {
17
- env.logger.info(() => ({
18
- msg: `${ScheduledTaskNames.GetClientList} task....`,
19
- data: {},
20
- }));
21
- await tasks.clientTaskManager.getClientList().catch((err) => {
22
- env.logger.error(() => ({
23
- err,
24
- msg: "Error getting client list",
25
- }));
26
- });
27
- }
28
- });
29
- job.start();
29
+ });
30
+ }
31
+ });
32
+ job.start();
30
33
  }
31
- //# sourceMappingURL=getClientList.js.map
34
+ export {
35
+ getClientList
36
+ };
@@ -1,96 +1,120 @@
1
1
  import { getLogger } from "@prosopo/common";
2
- import { ApiParams, CaptchaType, Tier } from "@prosopo/types";
2
+ import { CaptchaType, ApiParams, Tier } from "@prosopo/types";
3
3
  import { getPrioritisedAccessRule } from "../api/blacklistRequestInspector.js";
4
- export class CaptchaManager {
5
- constructor(db, pair, logger) {
6
- this.pair = pair;
7
- this.db = db;
8
- this.logger = logger || getLogger("info", import.meta.url);
9
- }
10
- async getFrictionlessTokenIdFromSession(sessionRecord) {
11
- const tokenRecord = await this.db.getFrictionlessTokenRecordByTokenId(sessionRecord.tokenId);
12
- return tokenRecord ? tokenRecord._id : undefined;
4
+ class CaptchaManager {
5
+ constructor(db, pair, logger) {
6
+ this.pair = pair;
7
+ this.db = db;
8
+ this.logger = logger || getLogger("info", import.meta.url);
9
+ }
10
+ async getFrictionlessTokenIdFromSession(sessionRecord) {
11
+ const tokenRecord = await this.db.getFrictionlessTokenRecordByTokenId(
12
+ sessionRecord.tokenId
13
+ );
14
+ return tokenRecord ? tokenRecord._id : void 0;
15
+ }
16
+ async isValidRequest(clientSettings, requestedCaptchaType, sessionId, userAccessPolicy) {
17
+ this.logger.debug(() => ({
18
+ msg: "Validating request",
19
+ data: {
20
+ captchaType: requestedCaptchaType,
21
+ sessionId
22
+ }
23
+ }));
24
+ if (userAccessPolicy && userAccessPolicy.captchaType !== requestedCaptchaType) {
25
+ this.logger.warn(() => ({
26
+ msg: "Invalid captcha type for user access policy",
27
+ data: {
28
+ account: clientSettings.account,
29
+ captchaType: userAccessPolicy.captchaType
30
+ }
31
+ }));
32
+ return {
33
+ valid: false,
34
+ reason: "API.INCORRECT_CAPTCHA_TYPE",
35
+ type: requestedCaptchaType
36
+ };
13
37
  }
14
- async isValidRequest(clientSettings, captchaType, sessionId) {
15
- this.logger.debug(() => ({
16
- msg: "Validating request",
38
+ if (sessionId) {
39
+ if (clientSettings?.settings?.captchaType === CaptchaType.frictionless) {
40
+ const sessionRecord = await this.db.checkAndRemoveSession(sessionId);
41
+ if (!sessionRecord) {
42
+ this.logger.warn(() => ({
43
+ msg: "No frictionless session found",
17
44
  data: {
18
- captchaType,
19
- sessionId,
20
- },
21
- }));
22
- if (sessionId) {
23
- if (clientSettings?.settings?.captchaType === CaptchaType.frictionless) {
24
- const sessionRecord = await this.db.checkAndRemoveSession(sessionId);
25
- if (!sessionRecord) {
26
- this.logger.warn(() => ({
27
- msg: "No frictionless session found",
28
- data: {
29
- account: clientSettings.account,
30
- sessionId: sessionId,
31
- },
32
- }));
33
- return {
34
- valid: false,
35
- reason: "CAPTCHA.NO_SESSION_FOUND",
36
- type: captchaType,
37
- };
38
- }
39
- const frictionlessTokenId = await this.getFrictionlessTokenIdFromSession(sessionRecord);
40
- return {
41
- valid: true,
42
- frictionlessTokenId,
43
- type: captchaType,
44
- };
45
+ account: clientSettings.account,
46
+ sessionId
45
47
  }
46
- this.logger.warn(() => ({
47
- msg: "Invalid frictionless request",
48
- data: {
49
- account: clientSettings.account,
50
- sessionId: sessionId,
51
- settingsCaptchaType: clientSettings?.settings?.captchaType,
52
- },
53
- }));
54
- return {
55
- valid: false,
56
- reason: "API.INCORRECT_CAPTCHA_TYPE",
57
- type: captchaType,
58
- };
48
+ }));
49
+ return {
50
+ valid: false,
51
+ reason: "CAPTCHA.NO_SESSION_FOUND",
52
+ type: requestedCaptchaType
53
+ };
59
54
  }
60
- if (clientSettings?.settings?.captchaType !== captchaType) {
61
- this.logger.warn(() => ({
62
- msg: `Invalid ${captchaType} request`,
63
- data: {
64
- account: clientSettings.account,
65
- requestedCaptchaType: captchaType,
66
- settingsCaptchaType: clientSettings?.settings?.captchaType,
67
- },
68
- }));
69
- return {
70
- valid: false,
71
- reason: "API.INCORRECT_CAPTCHA_TYPE",
72
- type: captchaType,
73
- };
74
- }
75
- return { valid: true, type: captchaType };
76
- }
77
- getVerificationResponse(verified, clientRecord, translateFn, score) {
55
+ const frictionlessTokenId = await this.getFrictionlessTokenIdFromSession(sessionRecord);
78
56
  return {
79
- status: translateFn(verified ? "API.USER_VERIFIED" : "API.USER_NOT_VERIFIED"),
80
- [ApiParams.verified]: verified,
81
- ...(CaptchaManager.canClientSeeScore(clientRecord.tier, score) && {
82
- [ApiParams.score]: score,
83
- }),
57
+ valid: true,
58
+ frictionlessTokenId,
59
+ type: requestedCaptchaType
84
60
  };
61
+ }
62
+ this.logger.warn(() => ({
63
+ msg: "Invalid frictionless request",
64
+ data: {
65
+ account: clientSettings.account,
66
+ sessionId,
67
+ settingsCaptchaType: clientSettings?.settings?.captchaType
68
+ }
69
+ }));
70
+ return {
71
+ valid: false,
72
+ reason: "API.INCORRECT_CAPTCHA_TYPE",
73
+ type: requestedCaptchaType
74
+ };
85
75
  }
86
- async getPrioritisedAccessPolicies(userAccessRulesStorage, clientId, userScope) {
87
- return getPrioritisedAccessRule(userAccessRulesStorage, userScope, clientId);
88
- }
89
- async getDetectorKeys() {
90
- return await this.db.getDetectorKeys();
91
- }
92
- static canClientSeeScore(tier, score) {
93
- return score && tier && tier !== Tier.Free;
76
+ if (clientSettings?.settings?.captchaType !== requestedCaptchaType) {
77
+ this.logger.warn(() => ({
78
+ msg: `Invalid ${requestedCaptchaType} request`,
79
+ data: {
80
+ account: clientSettings.account,
81
+ requestedCaptchaType,
82
+ settingsCaptchaType: clientSettings?.settings?.captchaType
83
+ }
84
+ }));
85
+ return {
86
+ valid: false,
87
+ reason: "API.INCORRECT_CAPTCHA_TYPE",
88
+ type: requestedCaptchaType
89
+ };
94
90
  }
91
+ return { valid: true, type: requestedCaptchaType };
92
+ }
93
+ getVerificationResponse(verified, clientRecord, translateFn, score) {
94
+ return {
95
+ status: translateFn(
96
+ verified ? "API.USER_VERIFIED" : "API.USER_NOT_VERIFIED"
97
+ ),
98
+ [ApiParams.verified]: verified,
99
+ ...CaptchaManager.canClientSeeScore(clientRecord.tier, score) && {
100
+ [ApiParams.score]: score
101
+ }
102
+ };
103
+ }
104
+ async getPrioritisedAccessPolicies(userAccessRulesStorage, clientId, userScope) {
105
+ return getPrioritisedAccessRule(
106
+ userAccessRulesStorage,
107
+ userScope,
108
+ clientId
109
+ );
110
+ }
111
+ async getDetectorKeys() {
112
+ return await this.db.getDetectorKeys();
113
+ }
114
+ static canClientSeeScore(tier, score) {
115
+ return score && tier && tier !== Tier.Free;
116
+ }
95
117
  }
96
- //# sourceMappingURL=captchaManager.js.map
118
+ export {
119
+ CaptchaManager
120
+ };