@prosopo/provider 3.12.14 → 3.13.6

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 (358) hide show
  1. package/CHANGELOG.md +139 -0
  2. package/dist/api/captcha/getFrictionlessCaptchaChallenge.js +345 -0
  3. package/dist/api/captcha/getImageCaptchaChallenge.js +150 -0
  4. package/dist/api/captcha/getPoWCaptchaChallenge.js +156 -0
  5. package/dist/api/captcha/submitImageCaptchaSolution.js +87 -0
  6. package/dist/api/captcha/submitPoWCaptchaSolution.js +77 -0
  7. package/dist/api/captcha.js +18 -696
  8. package/dist/api/verify.js +2 -1
  9. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge.cjs +344 -0
  10. package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +149 -0
  11. package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +155 -0
  12. package/dist/cjs/api/captcha/submitImageCaptchaSolution.cjs +86 -0
  13. package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +76 -0
  14. package/dist/cjs/api/captcha.cjs +17 -695
  15. package/dist/cjs/api/verify.cjs +2 -1
  16. package/dist/cjs/index.cjs +2 -0
  17. package/dist/cjs/schedulers/setClientEntropy.cjs +36 -0
  18. package/dist/cjs/tasks/captchaManager.cjs +2 -1
  19. package/dist/cjs/tasks/client/clientTasks.cjs +54 -1
  20. package/dist/cjs/tasks/detection/decodePayload.cjs +379 -609
  21. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +35 -11
  22. package/dist/cjs/tasks/frictionless/frictionlessTasksUtils.cjs +4 -1
  23. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +8 -2
  24. package/dist/cjs/tasks/powCaptcha/powTasks.cjs +2 -2
  25. package/dist/cjs/tasks/tasks.cjs +1 -0
  26. package/dist/cjs/utils/hashUserIp.cjs +9 -0
  27. package/dist/index.js +2 -0
  28. package/dist/schedulers/setClientEntropy.js +29 -24
  29. package/dist/tasks/captchaManager.js +2 -1
  30. package/dist/tasks/client/clientTasks.js +55 -2
  31. package/dist/tasks/detection/decodePayload.js +379 -609
  32. package/dist/tasks/detection/getBotScore.js +2 -2
  33. package/dist/tasks/frictionless/frictionlessTasks.js +36 -12
  34. package/dist/tasks/frictionless/frictionlessTasksUtils.js +4 -1
  35. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +8 -2
  36. package/dist/tasks/powCaptcha/powTasks.js +2 -2
  37. package/dist/tasks/tasks.js +1 -0
  38. package/dist/utils/hashUserIp.js +9 -0
  39. package/package.json +20 -20
  40. package/coverage/base.css +0 -224
  41. package/coverage/block-navigation.js +0 -87
  42. package/coverage/clover.xml +0 -4278
  43. package/coverage/coverage-final.json +0 -42
  44. package/coverage/favicon.png +0 -0
  45. package/coverage/index.html +0 -311
  46. package/coverage/prettify.css +0 -1
  47. package/coverage/prettify.js +0 -2
  48. package/coverage/sort-arrow-sprite.png +0 -0
  49. package/coverage/sorter.js +0 -210
  50. package/coverage/src/api/admin/apiAdminRoutesProvider.ts.html +0 -214
  51. package/coverage/src/api/admin/apiRegisterSiteKeyEndpoint.ts.html +0 -259
  52. package/coverage/src/api/admin/apiRemoveDetectorKeyEndpoint.ts.html +0 -283
  53. package/coverage/src/api/admin/apiToggleMaintenanceModeEndpoint.ts.html +0 -334
  54. package/coverage/src/api/admin/apiUpdateDetectorKeyEndpoint.ts.html +0 -298
  55. package/coverage/src/api/admin/createApiAdminRoutesProvider.ts.html +0 -163
  56. package/coverage/src/api/admin/index.html +0 -191
  57. package/coverage/src/api/blacklistRequestInspector.ts.html +0 -751
  58. package/coverage/src/api/block.ts.html +0 -187
  59. package/coverage/src/api/captcha.ts.html +0 -2803
  60. package/coverage/src/api/domainMiddleware.ts.html +0 -493
  61. package/coverage/src/api/headerCheckMiddleware.ts.html +0 -256
  62. package/coverage/src/api/ignoreMiddleware.ts.html +0 -181
  63. package/coverage/src/api/index.html +0 -266
  64. package/coverage/src/api/ja4Middleware.ts.html +0 -400
  65. package/coverage/src/api/public.ts.html +0 -343
  66. package/coverage/src/api/robotsMiddleware.ts.html +0 -157
  67. package/coverage/src/api/validateAddress.ts.html +0 -214
  68. package/coverage/src/api/verify.ts.html +0 -871
  69. package/coverage/src/compositeIpAddress.ts.html +0 -340
  70. package/coverage/src/index.html +0 -161
  71. package/coverage/src/index.ts.html +0 -175
  72. package/coverage/src/pairs.ts.html +0 -238
  73. package/coverage/src/rules/index.html +0 -116
  74. package/coverage/src/rules/lang.ts.html +0 -187
  75. package/coverage/src/schedulers/captchaScheduler.ts.html +0 -250
  76. package/coverage/src/schedulers/getClientList.ts.html +0 -271
  77. package/coverage/src/schedulers/index.html +0 -131
  78. package/coverage/src/services/index.html +0 -131
  79. package/coverage/src/services/ipComparison.ts.html +0 -685
  80. package/coverage/src/services/ipInfo.ts.html +0 -490
  81. package/coverage/src/tasks/captchaManager.ts.html +0 -865
  82. package/coverage/src/tasks/client/clientTasks.ts.html +0 -1381
  83. package/coverage/src/tasks/client/index.html +0 -116
  84. package/coverage/src/tasks/dataset/datasetTasks.ts.html +0 -268
  85. package/coverage/src/tasks/dataset/datasetTasksUtils.ts.html +0 -271
  86. package/coverage/src/tasks/dataset/index.html +0 -131
  87. package/coverage/src/tasks/detection/decodePayload.js.html +0 -127
  88. package/coverage/src/tasks/detection/getBotScore.ts.html +0 -244
  89. package/coverage/src/tasks/detection/index.html +0 -131
  90. package/coverage/src/tasks/frictionless/frictionlessTasks.ts.html +0 -1216
  91. package/coverage/src/tasks/frictionless/frictionlessTasksUtils.ts.html +0 -247
  92. package/coverage/src/tasks/frictionless/index.html +0 -131
  93. package/coverage/src/tasks/imgCaptcha/imgCaptchaTasks.ts.html +0 -1972
  94. package/coverage/src/tasks/imgCaptcha/imgCaptchaTasksUtils.ts.html +0 -232
  95. package/coverage/src/tasks/imgCaptcha/index.html +0 -131
  96. package/coverage/src/tasks/index.html +0 -146
  97. package/coverage/src/tasks/index.ts.html +0 -127
  98. package/coverage/src/tasks/powCaptcha/index.html +0 -131
  99. package/coverage/src/tasks/powCaptcha/powTasks.ts.html +0 -961
  100. package/coverage/src/tasks/powCaptcha/powTasksUtils.ts.html +0 -244
  101. package/coverage/src/tasks/tasks.ts.html +0 -388
  102. package/coverage/src/util.ts.html +0 -1627
  103. package/coverage/src/utils/hashUserAgent.ts.html +0 -184
  104. package/coverage/src/utils/index.html +0 -116
  105. package/dist/api/admin/apiAdminRoutesProvider.d.ts +0 -9
  106. package/dist/api/admin/apiAdminRoutesProvider.d.ts.map +0 -1
  107. package/dist/api/admin/apiAdminRoutesProvider.js.map +0 -1
  108. package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts +0 -14
  109. package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts.map +0 -1
  110. package/dist/api/admin/apiRegisterSiteKeyEndpoint.js.map +0 -1
  111. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts +0 -23
  112. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts.map +0 -1
  113. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js.map +0 -1
  114. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts +0 -13
  115. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts.map +0 -1
  116. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js.map +0 -1
  117. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts +0 -14
  118. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts.map +0 -1
  119. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.js.map +0 -1
  120. package/dist/api/admin/createApiAdminRoutesProvider.d.ts +0 -4
  121. package/dist/api/admin/createApiAdminRoutesProvider.d.ts.map +0 -1
  122. package/dist/api/admin/createApiAdminRoutesProvider.js.map +0 -1
  123. package/dist/api/blacklistRequestInspector.d.ts +0 -19
  124. package/dist/api/blacklistRequestInspector.d.ts.map +0 -1
  125. package/dist/api/blacklistRequestInspector.js.map +0 -1
  126. package/dist/api/block.d.ts +0 -3
  127. package/dist/api/block.d.ts.map +0 -1
  128. package/dist/api/block.js.map +0 -1
  129. package/dist/api/captcha.d.ts +0 -4
  130. package/dist/api/captcha.d.ts.map +0 -1
  131. package/dist/api/captcha.js.map +0 -1
  132. package/dist/api/domainMiddleware.d.ts +0 -4
  133. package/dist/api/domainMiddleware.d.ts.map +0 -1
  134. package/dist/api/domainMiddleware.js.map +0 -1
  135. package/dist/api/headerCheckMiddleware.d.ts +0 -4
  136. package/dist/api/headerCheckMiddleware.d.ts.map +0 -1
  137. package/dist/api/headerCheckMiddleware.js.map +0 -1
  138. package/dist/api/ignoreMiddleware.d.ts +0 -3
  139. package/dist/api/ignoreMiddleware.d.ts.map +0 -1
  140. package/dist/api/ignoreMiddleware.js.map +0 -1
  141. package/dist/api/ja4Middleware.d.ts +0 -10
  142. package/dist/api/ja4Middleware.d.ts.map +0 -1
  143. package/dist/api/ja4Middleware.js.map +0 -1
  144. package/dist/api/public.d.ts +0 -4
  145. package/dist/api/public.d.ts.map +0 -1
  146. package/dist/api/public.js.map +0 -1
  147. package/dist/api/robotsMiddleware.d.ts +0 -3
  148. package/dist/api/robotsMiddleware.d.ts.map +0 -1
  149. package/dist/api/robotsMiddleware.js.map +0 -1
  150. package/dist/api/validateAddress.d.ts +0 -5
  151. package/dist/api/validateAddress.d.ts.map +0 -1
  152. package/dist/api/validateAddress.js.map +0 -1
  153. package/dist/api/verify.d.ts +0 -4
  154. package/dist/api/verify.d.ts.map +0 -1
  155. package/dist/api/verify.js.map +0 -1
  156. package/dist/compositeIpAddress.d.ts +0 -5
  157. package/dist/compositeIpAddress.d.ts.map +0 -1
  158. package/dist/compositeIpAddress.js.map +0 -1
  159. package/dist/index.d.ts +0 -17
  160. package/dist/index.d.ts.map +0 -1
  161. package/dist/index.js.map +0 -1
  162. package/dist/pairs.d.ts +0 -3
  163. package/dist/pairs.d.ts.map +0 -1
  164. package/dist/pairs.js.map +0 -1
  165. package/dist/rules/lang.d.ts +0 -3
  166. package/dist/rules/lang.d.ts.map +0 -1
  167. package/dist/rules/lang.js.map +0 -1
  168. package/dist/schedulers/captchaScheduler.d.ts +0 -4
  169. package/dist/schedulers/captchaScheduler.d.ts.map +0 -1
  170. package/dist/schedulers/captchaScheduler.js.map +0 -1
  171. package/dist/schedulers/getClientList.d.ts +0 -4
  172. package/dist/schedulers/getClientList.d.ts.map +0 -1
  173. package/dist/schedulers/getClientList.js.map +0 -1
  174. package/dist/schedulers/setClientEntropy.d.ts +0 -4
  175. package/dist/schedulers/setClientEntropy.d.ts.map +0 -1
  176. package/dist/schedulers/setClientEntropy.js.map +0 -1
  177. package/dist/services/ipComparison.d.ts +0 -3
  178. package/dist/services/ipComparison.d.ts.map +0 -1
  179. package/dist/services/ipComparison.js.map +0 -1
  180. package/dist/services/ipInfo.d.ts +0 -3
  181. package/dist/services/ipInfo.d.ts.map +0 -1
  182. package/dist/services/ipInfo.js.map +0 -1
  183. package/dist/tasks/captchaManager.d.ts +0 -34
  184. package/dist/tasks/captchaManager.d.ts.map +0 -1
  185. package/dist/tasks/captchaManager.js.map +0 -1
  186. package/dist/tasks/client/clientTasks.d.ts +0 -21
  187. package/dist/tasks/client/clientTasks.d.ts.map +0 -1
  188. package/dist/tasks/client/clientTasks.js.map +0 -1
  189. package/dist/tasks/dataset/datasetTasks.d.ts +0 -13
  190. package/dist/tasks/dataset/datasetTasks.d.ts.map +0 -1
  191. package/dist/tasks/dataset/datasetTasks.js.map +0 -1
  192. package/dist/tasks/dataset/datasetTasksUtils.d.ts +0 -3
  193. package/dist/tasks/dataset/datasetTasksUtils.d.ts.map +0 -1
  194. package/dist/tasks/dataset/datasetTasksUtils.js.map +0 -1
  195. package/dist/tasks/detection/decodePayload.d.ts +0 -5
  196. package/dist/tasks/detection/decodePayload.d.ts.map +0 -1
  197. package/dist/tasks/detection/decodePayload.js.map +0 -1
  198. package/dist/tasks/detection/getBotScore.d.ts +0 -20
  199. package/dist/tasks/detection/getBotScore.d.ts.map +0 -1
  200. package/dist/tasks/detection/getBotScore.js.map +0 -1
  201. package/dist/tasks/frictionless/frictionlessTasks.d.ts +0 -67
  202. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +0 -1
  203. package/dist/tasks/frictionless/frictionlessTasks.js.map +0 -1
  204. package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts +0 -6
  205. package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts.map +0 -1
  206. package/dist/tasks/frictionless/frictionlessTasksUtils.js.map +0 -1
  207. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts +0 -30
  208. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +0 -1
  209. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +0 -1
  210. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts +0 -7
  211. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts.map +0 -1
  212. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js.map +0 -1
  213. package/dist/tasks/index.d.ts +0 -2
  214. package/dist/tasks/index.d.ts.map +0 -1
  215. package/dist/tasks/index.js.map +0 -1
  216. package/dist/tasks/powCaptcha/powTasks.d.ts +0 -17
  217. package/dist/tasks/powCaptcha/powTasks.d.ts.map +0 -1
  218. package/dist/tasks/powCaptcha/powTasks.js.map +0 -1
  219. package/dist/tasks/powCaptcha/powTasksUtils.d.ts +0 -3
  220. package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +0 -1
  221. package/dist/tasks/powCaptcha/powTasksUtils.js.map +0 -1
  222. package/dist/tasks/tasks.d.ts +0 -25
  223. package/dist/tasks/tasks.d.ts.map +0 -1
  224. package/dist/tasks/tasks.js.map +0 -1
  225. package/dist/tests/index.d.ts +0 -2
  226. package/dist/tests/index.d.ts.map +0 -1
  227. package/dist/tests/index.js +0 -2
  228. package/dist/tests/index.js.map +0 -1
  229. package/dist/tests/integration/accessRules.integration.test.d.ts +0 -2
  230. package/dist/tests/integration/accessRules.integration.test.d.ts.map +0 -1
  231. package/dist/tests/integration/accessRules.integration.test.js +0 -588
  232. package/dist/tests/integration/accessRules.integration.test.js.map +0 -1
  233. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.d.ts +0 -2
  234. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.d.ts.map +0 -1
  235. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js +0 -60
  236. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js.map +0 -1
  237. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.d.ts +0 -2
  238. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.d.ts.map +0 -1
  239. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.js +0 -368
  240. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.js.map +0 -1
  241. package/dist/tests/integration/imgCaptcha.integration.test.d.ts +0 -2
  242. package/dist/tests/integration/imgCaptcha.integration.test.d.ts.map +0 -1
  243. package/dist/tests/integration/imgCaptcha.integration.test.js +0 -272
  244. package/dist/tests/integration/imgCaptcha.integration.test.js.map +0 -1
  245. package/dist/tests/integration/ipValidation.integration.test.d.ts +0 -2
  246. package/dist/tests/integration/ipValidation.integration.test.d.ts.map +0 -1
  247. package/dist/tests/integration/ipValidation.integration.test.js +0 -75
  248. package/dist/tests/integration/ipValidation.integration.test.js.map +0 -1
  249. package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts +0 -32
  250. package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts.map +0 -1
  251. package/dist/tests/integration/mocks/solvedTestCaptchas.js +0 -1046
  252. package/dist/tests/integration/mocks/solvedTestCaptchas.js.map +0 -1
  253. package/dist/tests/integration/powCaptcha.integration.test.d.ts +0 -2
  254. package/dist/tests/integration/powCaptcha.integration.test.d.ts.map +0 -1
  255. package/dist/tests/integration/powCaptcha.integration.test.js +0 -308
  256. package/dist/tests/integration/powCaptcha.integration.test.js.map +0 -1
  257. package/dist/tests/integration/registerSitekey.d.ts +0 -3
  258. package/dist/tests/integration/registerSitekey.d.ts.map +0 -1
  259. package/dist/tests/integration/registerSitekey.js +0 -24
  260. package/dist/tests/integration/registerSitekey.js.map +0 -1
  261. package/dist/tests/integration/userAccessPolicy.d.ts +0 -2
  262. package/dist/tests/integration/userAccessPolicy.d.ts.map +0 -1
  263. package/dist/tests/integration/userAccessPolicy.js +0 -2
  264. package/dist/tests/integration/userAccessPolicy.js.map +0 -1
  265. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.d.ts +0 -2
  266. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.d.ts.map +0 -1
  267. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js +0 -60
  268. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js.map +0 -1
  269. package/dist/tests/unit/api/ignoreMiddleware.unit.test.d.ts +0 -2
  270. package/dist/tests/unit/api/ignoreMiddleware.unit.test.d.ts.map +0 -1
  271. package/dist/tests/unit/api/ignoreMiddleware.unit.test.js +0 -43
  272. package/dist/tests/unit/api/ignoreMiddleware.unit.test.js.map +0 -1
  273. package/dist/tests/unit/api/ja4Middleware.unit.test.d.ts +0 -2
  274. package/dist/tests/unit/api/ja4Middleware.unit.test.d.ts.map +0 -1
  275. package/dist/tests/unit/api/ja4Middleware.unit.test.js +0 -57
  276. package/dist/tests/unit/api/ja4Middleware.unit.test.js.map +0 -1
  277. package/dist/tests/unit/compositeIpAddress.unit.test.d.ts +0 -2
  278. package/dist/tests/unit/compositeIpAddress.unit.test.d.ts.map +0 -1
  279. package/dist/tests/unit/compositeIpAddress.unit.test.js +0 -86
  280. package/dist/tests/unit/compositeIpAddress.unit.test.js.map +0 -1
  281. package/dist/tests/unit/pairs.unit.test.d.ts +0 -2
  282. package/dist/tests/unit/pairs.unit.test.d.ts.map +0 -1
  283. package/dist/tests/unit/pairs.unit.test.js +0 -83
  284. package/dist/tests/unit/pairs.unit.test.js.map +0 -1
  285. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts +0 -2
  286. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts.map +0 -1
  287. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js +0 -75
  288. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js.map +0 -1
  289. package/dist/tests/unit/services/ipComparison.unit.test.d.ts +0 -2
  290. package/dist/tests/unit/services/ipComparison.unit.test.d.ts.map +0 -1
  291. package/dist/tests/unit/services/ipComparison.unit.test.js +0 -258
  292. package/dist/tests/unit/services/ipComparison.unit.test.js.map +0 -1
  293. package/dist/tests/unit/services/ipInfo.unit.test.d.ts +0 -2
  294. package/dist/tests/unit/services/ipInfo.unit.test.d.ts.map +0 -1
  295. package/dist/tests/unit/services/ipInfo.unit.test.js +0 -210
  296. package/dist/tests/unit/services/ipInfo.unit.test.js.map +0 -1
  297. package/dist/tests/unit/tasks/captchaManager.unit.test.d.ts +0 -2
  298. package/dist/tests/unit/tasks/captchaManager.unit.test.d.ts.map +0 -1
  299. package/dist/tests/unit/tasks/captchaManager.unit.test.js +0 -311
  300. package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +0 -1
  301. package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts +0 -2
  302. package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts.map +0 -1
  303. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js +0 -289
  304. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +0 -1
  305. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts +0 -2
  306. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts.map +0 -1
  307. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js +0 -92
  308. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js.map +0 -1
  309. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts +0 -2
  310. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts.map +0 -1
  311. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js +0 -75
  312. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js.map +0 -1
  313. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.d.ts +0 -2
  314. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.d.ts.map +0 -1
  315. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js +0 -143
  316. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js.map +0 -1
  317. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.d.ts +0 -2
  318. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.d.ts.map +0 -1
  319. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +0 -145
  320. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +0 -1
  321. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.d.ts +0 -2
  322. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.d.ts.map +0 -1
  323. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js +0 -64
  324. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js.map +0 -1
  325. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts +0 -2
  326. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts.map +0 -1
  327. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +0 -388
  328. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +0 -1
  329. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts +0 -2
  330. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts.map +0 -1
  331. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js +0 -46
  332. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js.map +0 -1
  333. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts +0 -2
  334. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts.map +0 -1
  335. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +0 -216
  336. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +0 -1
  337. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts +0 -2
  338. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts.map +0 -1
  339. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +0 -69
  340. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +0 -1
  341. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.d.ts +0 -2
  342. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.d.ts.map +0 -1
  343. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.js +0 -505
  344. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.js.map +0 -1
  345. package/dist/tests/unit/util.ipDistance.unit.test.d.ts +0 -2
  346. package/dist/tests/unit/util.ipDistance.unit.test.d.ts.map +0 -1
  347. package/dist/tests/unit/util.ipDistance.unit.test.js +0 -93
  348. package/dist/tests/unit/util.ipDistance.unit.test.js.map +0 -1
  349. package/dist/tests/unit/util.unit.test.d.ts +0 -2
  350. package/dist/tests/unit/util.unit.test.d.ts.map +0 -1
  351. package/dist/tests/unit/util.unit.test.js +0 -170
  352. package/dist/tests/unit/util.unit.test.js.map +0 -1
  353. package/dist/util.d.ts +0 -24
  354. package/dist/util.d.ts.map +0 -1
  355. package/dist/util.js.map +0 -1
  356. package/dist/utils/hashUserAgent.d.ts +0 -2
  357. package/dist/utils/hashUserAgent.d.ts.map +0 -1
  358. package/dist/utils/hashUserAgent.js.map +0 -1
@@ -1,588 +0,0 @@
1
- import { datasetWithSolutionHashes } from "@prosopo/datasets";
2
- import { generateMnemonic, getDefaultProviders, getPair, } from "@prosopo/keyring";
3
- import { ApiParams, CaptchaType, ClientApiPaths, DEFAULT_SOLVED_COUNT, } from "@prosopo/types";
4
- import { at } from "@prosopo/util";
5
- import { randomAsHex } from "@prosopo/util-crypto";
6
- import { beforeEach, describe, expect, it } from "vitest";
7
- import { registerSiteKey } from "./registerSitekey.js";
8
- import { removeAllUserAccessPolicies, userAccessPolicy, } from "./userAccessPolicy.js";
9
- const baseUrl = "http://localhost:9229";
10
- const solutions = datasetWithSolutionHashes;
11
- describe("Access Rules Integration Tests", () => {
12
- const adminPair = getPair("puppy cream effort carbon despair leg pyramid cotton endorse immense drill peasant");
13
- describe("Site keys registered for image captcha", () => {
14
- let siteKeyPair;
15
- let siteKeyMnemonic;
16
- let siteKey;
17
- let userPair;
18
- let userMnemonic;
19
- let userId;
20
- const adminPair = at(getDefaultProviders(), 0).pair;
21
- beforeEach(async () => {
22
- const responses = await removeAllUserAccessPolicies(adminPair);
23
- expect(responses.every((response) => response.status === "SUCCESS")).toBe(true);
24
- [siteKeyMnemonic, siteKey] = await generateMnemonic();
25
- siteKeyPair = getPair(siteKeyMnemonic);
26
- await registerSiteKey(siteKey, CaptchaType.image, adminPair);
27
- [userMnemonic, userId] = await generateMnemonic();
28
- userPair = getPair(userMnemonic);
29
- });
30
- it("should pass", async () => {
31
- expect(true).toBe(true);
32
- });
33
- it("should return a 401 for a blocked user", async () => {
34
- await userAccessPolicy(adminPair, {
35
- block: true,
36
- userId,
37
- description: "Blocked user test",
38
- });
39
- const origin = "http://localhost";
40
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
41
- const getImgCaptchaBody = {
42
- [ApiParams.dapp]: siteKey,
43
- [ApiParams.user]: userId,
44
- [ApiParams.datasetId]: solutions.datasetId,
45
- };
46
- const response = await fetch(getImageCaptchaURL, {
47
- method: "POST",
48
- body: JSON.stringify(getImgCaptchaBody),
49
- headers: {
50
- "Content-Type": "application/json",
51
- Origin: origin,
52
- "Prosopo-Site-Key": siteKey,
53
- "Prosopo-User": userId,
54
- "User-Agent": randomAsHex(16),
55
- },
56
- });
57
- expect(response.status).toBe(401);
58
- const data = await response.json();
59
- expect(data.captchas).toBeUndefined();
60
- });
61
- it("should return a 200 for a non-blocked user", async () => {
62
- const origin = "http://localhost";
63
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
64
- const getImgCaptchaBody = {
65
- [ApiParams.dapp]: siteKey,
66
- [ApiParams.user]: userId,
67
- [ApiParams.datasetId]: solutions.datasetId,
68
- };
69
- const response = await fetch(getImageCaptchaURL, {
70
- method: "POST",
71
- body: JSON.stringify(getImgCaptchaBody),
72
- headers: {
73
- "Content-Type": "application/json",
74
- Origin: origin,
75
- "Prosopo-Site-Key": siteKey,
76
- "Prosopo-User": userId,
77
- "User-Agent": randomAsHex(16),
78
- },
79
- });
80
- expect(response.status).toBe(200);
81
- const data = (await response.json());
82
- expect(data[ApiParams.status]).toBe("ok");
83
- expect(data.captchas.length).toBe(DEFAULT_SOLVED_COUNT);
84
- });
85
- it("should return a 200 when a rule expires immediately", async () => {
86
- await userAccessPolicy(adminPair, {
87
- block: true,
88
- userId,
89
- description: "Blocked user test",
90
- expiration: 1,
91
- });
92
- const origin = "http://localhost";
93
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
94
- const getImgCaptchaBody = {
95
- [ApiParams.dapp]: siteKey,
96
- [ApiParams.user]: userId,
97
- [ApiParams.datasetId]: solutions.datasetId,
98
- };
99
- const response = await fetch(getImageCaptchaURL, {
100
- method: "POST",
101
- body: JSON.stringify(getImgCaptchaBody),
102
- headers: {
103
- "Content-Type": "application/json",
104
- Origin: origin,
105
- "Prosopo-Site-Key": siteKey,
106
- "Prosopo-User": userId,
107
- "User-Agent": randomAsHex(16),
108
- },
109
- });
110
- expect(response.status).toBe(200);
111
- });
112
- it("should return a 401 when a user agent is blocked", async () => {
113
- const badUserAgent = "bad-user-agent";
114
- await userAccessPolicy(adminPair, {
115
- block: true,
116
- userAgent: badUserAgent,
117
- description: "Blocked user agent test",
118
- });
119
- const origin = "http://localhost";
120
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
121
- const getImgCaptchaBody = {
122
- [ApiParams.dapp]: siteKey,
123
- [ApiParams.user]: userId,
124
- [ApiParams.datasetId]: solutions.datasetId,
125
- };
126
- const response = await fetch(getImageCaptchaURL, {
127
- method: "POST",
128
- body: JSON.stringify(getImgCaptchaBody),
129
- headers: {
130
- "Content-Type": "application/json",
131
- Origin: origin,
132
- "Prosopo-Site-Key": siteKey,
133
- "Prosopo-User": userId,
134
- "User-Agent": badUserAgent,
135
- },
136
- });
137
- expect(response.status).toBe(401);
138
- });
139
- it("should return 200 when user is blocked for a different client but not the calling client", async () => {
140
- const [_otherSiteKeyMnemonic, otherSiteKey] = await generateMnemonic();
141
- await registerSiteKey(otherSiteKey, CaptchaType.image, adminPair);
142
- await userAccessPolicy(adminPair, {
143
- block: true,
144
- userId: userId,
145
- client: otherSiteKey,
146
- description: "Blocked user for other site key test",
147
- });
148
- const origin = "http://localhost";
149
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
150
- const getImgCaptchaBody = {
151
- [ApiParams.dapp]: siteKey,
152
- [ApiParams.user]: userId,
153
- [ApiParams.datasetId]: solutions.datasetId,
154
- };
155
- const response = await fetch(getImageCaptchaURL, {
156
- method: "POST",
157
- body: JSON.stringify(getImgCaptchaBody),
158
- headers: {
159
- "Content-Type": "application/json",
160
- Origin: origin,
161
- "Prosopo-Site-Key": siteKey,
162
- "Prosopo-User": userId,
163
- "User-Agent": randomAsHex(16),
164
- },
165
- });
166
- expect(response.status).toBe(200);
167
- });
168
- it("should return the correct number of rounds of image captcha for a user with an image captcha access rule", async () => {
169
- const rounds = 6;
170
- await userAccessPolicy(adminPair, {
171
- solved: 6,
172
- userId,
173
- description: "Image captcha rounds test",
174
- });
175
- const origin = "http://localhost";
176
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
177
- const getImgCaptchaBody = {
178
- [ApiParams.dapp]: siteKey,
179
- [ApiParams.user]: userId,
180
- [ApiParams.datasetId]: solutions.datasetId,
181
- };
182
- const response = await fetch(getImageCaptchaURL, {
183
- method: "POST",
184
- body: JSON.stringify(getImgCaptchaBody),
185
- headers: {
186
- "Content-Type": "application/json",
187
- Origin: origin,
188
- "Prosopo-Site-Key": siteKey,
189
- "Prosopo-User": userId,
190
- "User-Agent": randomAsHex(16),
191
- },
192
- });
193
- expect(response.status).toBe(200);
194
- const data = await response.json();
195
- expect(data.captchas.length).toBe(rounds);
196
- });
197
- });
198
- describe("Site keys registered for frictionless captcha", () => {
199
- let siteKeyPair;
200
- let siteKeyMnemonic;
201
- let siteKey;
202
- let userPair;
203
- let userMnemonic;
204
- let userId;
205
- const adminPair = at(getDefaultProviders(), 0).pair;
206
- beforeEach(async () => {
207
- const responses = await removeAllUserAccessPolicies(adminPair);
208
- expect(responses.every((response) => response.status === "SUCCESS")).toBe(true);
209
- [siteKeyMnemonic, siteKey] = await generateMnemonic();
210
- siteKeyPair = getPair(siteKeyMnemonic);
211
- await registerSiteKey(siteKey, CaptchaType.frictionless, adminPair);
212
- [userMnemonic, userId] = await generateMnemonic();
213
- userPair = getPair(userMnemonic);
214
- });
215
- it("should return a 401 for a blocked user", async () => {
216
- await userAccessPolicy(adminPair, {
217
- block: true,
218
- userId,
219
- description: "Blocked user test",
220
- });
221
- const origin = "http://localhost";
222
- const getFrictionlessCaptchaUrl = `${baseUrl}${ClientApiPaths.GetFrictionlessCaptchaChallenge}`;
223
- const getFrictionlessCaptchaBody = {
224
- [ApiParams.dapp]: siteKey,
225
- [ApiParams.token]: randomAsHex(16),
226
- [ApiParams.user]: userId,
227
- };
228
- const response = await fetch(getFrictionlessCaptchaUrl, {
229
- method: "POST",
230
- body: JSON.stringify(getFrictionlessCaptchaBody),
231
- headers: {
232
- "Content-Type": "application/json",
233
- Origin: origin,
234
- "Prosopo-Site-Key": siteKey,
235
- "Prosopo-User": userId,
236
- "User-Agent": randomAsHex(16),
237
- },
238
- });
239
- expect(response.status).toBe(401);
240
- });
241
- it("should return the correct captcha type for a user with an image captcha access rule", async () => {
242
- const rounds = 6;
243
- await userAccessPolicy(adminPair, {
244
- solved: 6,
245
- userId,
246
- description: "Image captcha rounds test",
247
- });
248
- const origin = "http://localhost";
249
- const getFrictionlessCaptchaUrl = `${baseUrl}${ClientApiPaths.GetFrictionlessCaptchaChallenge}`;
250
- const getFrictionlessCaptchaBody = {
251
- [ApiParams.dapp]: siteKey,
252
- [ApiParams.token]: randomAsHex(16),
253
- [ApiParams.user]: userId,
254
- };
255
- const responseFrictionless = await fetch(getFrictionlessCaptchaUrl, {
256
- method: "POST",
257
- body: JSON.stringify(getFrictionlessCaptchaBody),
258
- headers: {
259
- "Content-Type": "application/json",
260
- Origin: origin,
261
- "Prosopo-Site-Key": siteKey,
262
- "Prosopo-User": userId,
263
- "User-Agent": randomAsHex(16),
264
- },
265
- });
266
- expect(responseFrictionless.status).toBe(200);
267
- const dataFrictionless = await responseFrictionless.json();
268
- expect(dataFrictionless.captchaType).toBe(CaptchaType.image);
269
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
270
- const getImgCaptchaBody = {
271
- [ApiParams.dapp]: siteKey,
272
- [ApiParams.user]: userId,
273
- [ApiParams.datasetId]: solutions.datasetId,
274
- [ApiParams.sessionId]: dataFrictionless.sessionId,
275
- };
276
- const responseImage = await fetch(getImageCaptchaURL, {
277
- method: "POST",
278
- body: JSON.stringify(getImgCaptchaBody),
279
- headers: {
280
- "Content-Type": "application/json",
281
- Origin: origin,
282
- "Prosopo-Site-Key": siteKey,
283
- "Prosopo-User": userId,
284
- "User-Agent": randomAsHex(16),
285
- },
286
- });
287
- expect(responseImage.status).toBe(200);
288
- const data = await responseImage.json();
289
- expect(data.captchas.length).toBe(rounds);
290
- });
291
- it("should return the correct captcha type for a user with a pow captcha access rule", async () => {
292
- const difficulty = 6;
293
- await userAccessPolicy(adminPair, {
294
- userId,
295
- description: "PoW captcha 2 difficulty test",
296
- captchaType: CaptchaType.pow,
297
- powDifficulty: difficulty,
298
- });
299
- const origin = "http://localhost";
300
- const getFrictionlessCaptchaUrl = `${baseUrl}${ClientApiPaths.GetFrictionlessCaptchaChallenge}`;
301
- const getFrictionlessCaptchaBody = {
302
- [ApiParams.dapp]: siteKey,
303
- [ApiParams.token]: randomAsHex(16),
304
- [ApiParams.user]: userId,
305
- };
306
- const responseFrictionless = await fetch(getFrictionlessCaptchaUrl, {
307
- method: "POST",
308
- body: JSON.stringify(getFrictionlessCaptchaBody),
309
- headers: {
310
- "Content-Type": "application/json",
311
- Origin: origin,
312
- "Prosopo-Site-Key": siteKey,
313
- "Prosopo-User": userId,
314
- "User-Agent": randomAsHex(16),
315
- },
316
- });
317
- expect(responseFrictionless.status).toBe(200);
318
- const dataFrictionless = await responseFrictionless.json();
319
- expect(dataFrictionless.captchaType).toBe(CaptchaType.pow);
320
- const getPoWCaptchaUrl = `${baseUrl}${ClientApiPaths.GetPowCaptchaChallenge}`;
321
- const getPoWCaptchaBody = {
322
- [ApiParams.dapp]: siteKey,
323
- [ApiParams.user]: userId,
324
- [ApiParams.sessionId]: dataFrictionless.sessionId,
325
- };
326
- const responsePoW = await fetch(getPoWCaptchaUrl, {
327
- method: "POST",
328
- body: JSON.stringify(getPoWCaptchaBody),
329
- headers: {
330
- "Content-Type": "application/json",
331
- Origin: origin,
332
- "Prosopo-Site-Key": siteKey,
333
- "Prosopo-User": userId,
334
- "User-Agent": randomAsHex(16),
335
- },
336
- });
337
- expect(responsePoW.status).toBe(200);
338
- const data = await responsePoW.json();
339
- expect(data.difficulty).toBe(difficulty);
340
- });
341
- it("should not return an image captcha for a user with a pow captcha access rule", async () => {
342
- const difficulty = 6;
343
- await userAccessPolicy(adminPair, {
344
- userId,
345
- description: "PoW captcha 2 difficulty test",
346
- captchaType: CaptchaType.pow,
347
- powDifficulty: difficulty,
348
- });
349
- const origin = "http://localhost";
350
- const getFrictionlessCaptchaUrl = `${baseUrl}${ClientApiPaths.GetFrictionlessCaptchaChallenge}`;
351
- const getFrictionlessCaptchaBody = {
352
- [ApiParams.dapp]: siteKey,
353
- [ApiParams.token]: randomAsHex(16),
354
- [ApiParams.user]: userId,
355
- };
356
- const responseFrictionless = await fetch(getFrictionlessCaptchaUrl, {
357
- method: "POST",
358
- body: JSON.stringify(getFrictionlessCaptchaBody),
359
- headers: {
360
- "Content-Type": "application/json",
361
- Origin: origin,
362
- "Prosopo-Site-Key": siteKey,
363
- "Prosopo-User": userId,
364
- "User-Agent": randomAsHex(16),
365
- },
366
- });
367
- expect(responseFrictionless.status).toBe(200);
368
- const dataFrictionless = await responseFrictionless.json();
369
- expect(dataFrictionless.captchaType).toBe(CaptchaType.pow);
370
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
371
- const getImgCaptchaBody = {
372
- [ApiParams.dapp]: siteKey,
373
- [ApiParams.user]: userId,
374
- [ApiParams.datasetId]: solutions.datasetId,
375
- [ApiParams.sessionId]: dataFrictionless.sessionId,
376
- };
377
- const responseImage = await fetch(getImageCaptchaURL, {
378
- method: "POST",
379
- body: JSON.stringify(getImgCaptchaBody),
380
- headers: {
381
- "Content-Type": "application/json",
382
- Origin: origin,
383
- "Prosopo-Site-Key": siteKey,
384
- "Prosopo-User": userId,
385
- "User-Agent": randomAsHex(16),
386
- },
387
- });
388
- expect(responseImage.status).toBe(400);
389
- });
390
- it("should not return a pow captcha for a user with an image captcha access rule", async () => {
391
- await userAccessPolicy(adminPair, {
392
- userId,
393
- description: "Image captcha rounds test",
394
- captchaType: CaptchaType.image,
395
- solved: 12,
396
- });
397
- const origin = "http://localhost";
398
- const getFrictionlessCaptchaUrl = `${baseUrl}${ClientApiPaths.GetFrictionlessCaptchaChallenge}`;
399
- const getFrictionlessCaptchaBody = {
400
- [ApiParams.dapp]: siteKey,
401
- [ApiParams.token]: randomAsHex(16),
402
- [ApiParams.user]: userId,
403
- };
404
- const responseFrictionless = await fetch(getFrictionlessCaptchaUrl, {
405
- method: "POST",
406
- body: JSON.stringify(getFrictionlessCaptchaBody),
407
- headers: {
408
- "Content-Type": "application/json",
409
- Origin: origin,
410
- "Prosopo-Site-Key": siteKey,
411
- "Prosopo-User": userId,
412
- "User-Agent": randomAsHex(16),
413
- },
414
- });
415
- expect(responseFrictionless.status).toBe(200);
416
- const dataFrictionless = await responseFrictionless.json();
417
- expect(dataFrictionless.captchaType).toBe(CaptchaType.image);
418
- const getPoWCaptchaUrl = `${baseUrl}${ClientApiPaths.GetPowCaptchaChallenge}`;
419
- const getPoWCaptchaBody = {
420
- [ApiParams.dapp]: siteKey,
421
- [ApiParams.user]: userId,
422
- [ApiParams.sessionId]: dataFrictionless.sessionId,
423
- };
424
- const responsePoW = await fetch(getPoWCaptchaUrl, {
425
- method: "POST",
426
- body: JSON.stringify(getPoWCaptchaBody),
427
- headers: {
428
- "Content-Type": "application/json",
429
- Origin: origin,
430
- "Prosopo-Site-Key": siteKey,
431
- "Prosopo-User": userId,
432
- "User-Agent": randomAsHex(16),
433
- },
434
- });
435
- expect(responsePoW.status).toBe(400);
436
- });
437
- });
438
- describe("Site keys registered for pow captcha", () => {
439
- let siteKeyPair;
440
- let siteKeyMnemonic;
441
- let siteKey;
442
- let userPair;
443
- let userMnemonic;
444
- let userId;
445
- const adminPair = at(getDefaultProviders(), 0).pair;
446
- beforeEach(async () => {
447
- const responses = await removeAllUserAccessPolicies(adminPair);
448
- expect(responses.every((response) => response.status === "SUCCESS")).toBe(true);
449
- [siteKeyMnemonic, siteKey] = await generateMnemonic();
450
- siteKeyPair = getPair(siteKeyMnemonic);
451
- await registerSiteKey(siteKey, CaptchaType.pow, adminPair);
452
- [userMnemonic, userId] = await generateMnemonic();
453
- userPair = getPair(userMnemonic);
454
- });
455
- it("should return a 401 for a blocked user", async () => {
456
- await userAccessPolicy(adminPair, {
457
- block: true,
458
- userId,
459
- description: "Blocked user test",
460
- });
461
- const origin = "http://localhost";
462
- const getPoWCaptchaUrl = `${baseUrl}${ClientApiPaths.GetPowCaptchaChallenge}`;
463
- const getPoWCaptchaBody = {
464
- [ApiParams.dapp]: siteKey,
465
- [ApiParams.user]: userId,
466
- };
467
- const response = await fetch(getPoWCaptchaUrl, {
468
- method: "POST",
469
- body: JSON.stringify(getPoWCaptchaBody),
470
- headers: {
471
- "Content-Type": "application/json",
472
- Origin: origin,
473
- "Prosopo-Site-Key": siteKey,
474
- "Prosopo-User": userId,
475
- "User-Agent": randomAsHex(16),
476
- },
477
- });
478
- expect(response.status).toBe(401);
479
- });
480
- it("should return the correct captcha type for a user with a pow captcha access rule", async () => {
481
- const difficulty = 6;
482
- await userAccessPolicy(adminPair, {
483
- userId,
484
- description: "PoW captcha 2 difficulty test",
485
- captchaType: CaptchaType.pow,
486
- powDifficulty: difficulty,
487
- });
488
- const origin = "http://localhost";
489
- const getPoWCaptchaUrl = `${baseUrl}${ClientApiPaths.GetPowCaptchaChallenge}`;
490
- const getPoWCaptchaBody = {
491
- [ApiParams.dapp]: siteKey,
492
- [ApiParams.user]: userId,
493
- };
494
- const responsePoW = await fetch(getPoWCaptchaUrl, {
495
- method: "POST",
496
- body: JSON.stringify(getPoWCaptchaBody),
497
- headers: {
498
- "Content-Type": "application/json",
499
- Origin: origin,
500
- "Prosopo-Site-Key": siteKey,
501
- "Prosopo-User": userId,
502
- "User-Agent": randomAsHex(16),
503
- },
504
- });
505
- expect(responsePoW.status).toBe(200);
506
- const data = await responsePoW.json();
507
- expect(data.difficulty).toBe(difficulty);
508
- });
509
- it("should not return an image captcha for a user with a pow captcha access rule", async () => {
510
- const difficulty = 6;
511
- await userAccessPolicy(adminPair, {
512
- userId,
513
- description: "PoW captcha 2 difficulty test",
514
- captchaType: CaptchaType.pow,
515
- powDifficulty: difficulty,
516
- });
517
- const origin = "http://localhost";
518
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
519
- const getImgCaptchaBody = {
520
- [ApiParams.dapp]: siteKey,
521
- [ApiParams.user]: userId,
522
- [ApiParams.datasetId]: solutions.datasetId,
523
- };
524
- const responseImage = await fetch(getImageCaptchaURL, {
525
- method: "POST",
526
- body: JSON.stringify(getImgCaptchaBody),
527
- headers: {
528
- "Content-Type": "application/json",
529
- Origin: origin,
530
- "Prosopo-Site-Key": siteKey,
531
- "Prosopo-User": userId,
532
- "User-Agent": randomAsHex(16),
533
- },
534
- });
535
- expect(responseImage.status).toBe(400);
536
- });
537
- it("should return a 400 when a user requests a frictionless captcha, the site key is registered for pow captcha, and an image captcha access rule is set", async () => {
538
- await userAccessPolicy(adminPair, {
539
- userId,
540
- description: "Image captcha rounds test",
541
- captchaType: CaptchaType.image,
542
- solved: 12,
543
- });
544
- const origin = "http://localhost";
545
- const getFrictionlessCaptchaUrl = `${baseUrl}${ClientApiPaths.GetFrictionlessCaptchaChallenge}`;
546
- const getFrictionlessCaptchaBody = {
547
- [ApiParams.dapp]: siteKey,
548
- [ApiParams.token]: randomAsHex(16),
549
- [ApiParams.user]: userId,
550
- };
551
- const response = await fetch(getFrictionlessCaptchaUrl, {
552
- method: "POST",
553
- body: JSON.stringify(getFrictionlessCaptchaBody),
554
- headers: {
555
- "Content-Type": "application/json",
556
- Origin: origin,
557
- "Prosopo-Site-Key": siteKey,
558
- "Prosopo-User": userId,
559
- "User-Agent": randomAsHex(16),
560
- },
561
- });
562
- expect(response.status).toBe(400);
563
- });
564
- it("should return a 400 when a user requests a frictionless captcha and the site key is registered for pow captcha, and no access rule is set", async () => {
565
- const origin = "http://localhost";
566
- const getFrictionlessCaptchaUrl = `${baseUrl}${ClientApiPaths.GetFrictionlessCaptchaChallenge}`;
567
- const getFrictionlessCaptchaBody = {
568
- [ApiParams.dapp]: siteKey,
569
- [ApiParams.token]: randomAsHex(16),
570
- [ApiParams.user]: userId,
571
- };
572
- const response = await fetch(getFrictionlessCaptchaUrl, {
573
- method: "POST",
574
- body: JSON.stringify(getFrictionlessCaptchaBody),
575
- headers: {
576
- "Content-Type": "application/json",
577
- Origin: origin,
578
- "Prosopo-Site-Key": siteKey,
579
- "Prosopo-User": userId,
580
- "User-Agent": randomAsHex(16),
581
- },
582
- });
583
- const data = await response.json();
584
- expect(response.status).toBe(400);
585
- });
586
- });
587
- });
588
- //# sourceMappingURL=accessRules.integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accessRules.integration.test.js","sourceRoot":"","sources":["../../../src/tests/integration/accessRules.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=apiRegisterSiteKeyEndpoint.integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiRegisterSiteKeyEndpoint.integration.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.ts"],"names":[],"mappings":""}