@prosopo/provider 3.2.0 → 3.2.1

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 +39 -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 +0 -3
  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 +117 -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
@@ -1,164 +0,0 @@
1
- import { datasetWithSolutionHashes } from "@prosopo/datasets";
2
- import { generateMnemonic, getPair } from "@prosopo/keyring";
3
- import { ApiParams, CaptchaType, ClientApiPaths, } from "@prosopo/types";
4
- import { randomAsHex } from "@prosopo/util-crypto";
5
- import fetch from "node-fetch";
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
- let siteKeyPair;
14
- let siteKeyMnemonic;
15
- let siteKey;
16
- let userPair;
17
- let userMnemonic;
18
- let userId;
19
- beforeEach(async () => {
20
- const responses = await removeAllUserAccessPolicies(adminPair);
21
- expect(responses.every((response) => response.status === "SUCCESS")).toBe(true);
22
- [siteKeyMnemonic, siteKey] = await generateMnemonic();
23
- siteKeyPair = getPair(siteKeyMnemonic);
24
- await registerSiteKey(siteKey, CaptchaType.image);
25
- [userMnemonic, userId] = await generateMnemonic();
26
- userPair = getPair(userMnemonic);
27
- });
28
- it("should pass", async () => {
29
- expect(true).toBe(true);
30
- });
31
- it("should return a 401 for a blocked user", async () => {
32
- await userAccessPolicy(adminPair, {
33
- block: true,
34
- userId,
35
- description: "Blocked user test",
36
- });
37
- const origin = "http://localhost";
38
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
39
- const getImgCaptchaBody = {
40
- [ApiParams.dapp]: siteKey,
41
- [ApiParams.user]: userId,
42
- [ApiParams.datasetId]: solutions.datasetId,
43
- };
44
- const response = await fetch(getImageCaptchaURL, {
45
- method: "POST",
46
- body: JSON.stringify(getImgCaptchaBody),
47
- headers: {
48
- "Content-Type": "application/json",
49
- Origin: origin,
50
- "Prosopo-Site-Key": siteKey,
51
- "Prosopo-User": userId,
52
- "User-Agent": randomAsHex(16),
53
- },
54
- });
55
- expect(response.status).toBe(401);
56
- });
57
- it("should return a 200 for a non-blocked user", async () => {
58
- const origin = "http://localhost";
59
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
60
- const getImgCaptchaBody = {
61
- [ApiParams.dapp]: siteKey,
62
- [ApiParams.user]: userId,
63
- [ApiParams.datasetId]: solutions.datasetId,
64
- };
65
- console.log("userId", userId);
66
- const response = await fetch(getImageCaptchaURL, {
67
- method: "POST",
68
- body: JSON.stringify(getImgCaptchaBody),
69
- headers: {
70
- "Content-Type": "application/json",
71
- Origin: origin,
72
- "Prosopo-Site-Key": siteKey,
73
- "Prosopo-User": userId,
74
- "User-Agent": randomAsHex(16),
75
- },
76
- });
77
- expect(response.status).toBe(200);
78
- });
79
- it("should return a 200 when a rule expires immediately", async () => {
80
- await userAccessPolicy(adminPair, {
81
- block: true,
82
- userId,
83
- description: "Blocked user test",
84
- expiration: 1,
85
- });
86
- const origin = "http://localhost";
87
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
88
- const getImgCaptchaBody = {
89
- [ApiParams.dapp]: siteKey,
90
- [ApiParams.user]: userId,
91
- [ApiParams.datasetId]: solutions.datasetId,
92
- };
93
- const response = await fetch(getImageCaptchaURL, {
94
- method: "POST",
95
- body: JSON.stringify(getImgCaptchaBody),
96
- headers: {
97
- "Content-Type": "application/json",
98
- Origin: origin,
99
- "Prosopo-Site-Key": siteKey,
100
- "Prosopo-User": userId,
101
- "User-Agent": randomAsHex(16),
102
- },
103
- });
104
- expect(response.status).toBe(200);
105
- });
106
- it("should return a 401 when a user agent is blocked", async () => {
107
- const badUserAgent = "bad-user-agent";
108
- await userAccessPolicy(adminPair, {
109
- block: true,
110
- userAgent: badUserAgent,
111
- description: "Blocked user agent test",
112
- });
113
- const origin = "http://localhost";
114
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
115
- const getImgCaptchaBody = {
116
- [ApiParams.dapp]: siteKey,
117
- [ApiParams.user]: userId,
118
- [ApiParams.datasetId]: solutions.datasetId,
119
- };
120
- const response = await fetch(getImageCaptchaURL, {
121
- method: "POST",
122
- body: JSON.stringify(getImgCaptchaBody),
123
- headers: {
124
- "Content-Type": "application/json",
125
- Origin: origin,
126
- "Prosopo-Site-Key": siteKey,
127
- "Prosopo-User": userId,
128
- "User-Agent": badUserAgent,
129
- },
130
- });
131
- expect(response.status).toBe(401);
132
- });
133
- it("should return 200 when user is blocked for a different client but not the calling client", async () => {
134
- const [_otherSiteKeyMnemonic, otherSiteKey] = await generateMnemonic();
135
- await registerSiteKey(otherSiteKey, CaptchaType.image);
136
- console.log(`Blocking user ${userId} for site key: ${otherSiteKey}`);
137
- await userAccessPolicy(adminPair, {
138
- block: true,
139
- userId: userId,
140
- client: otherSiteKey,
141
- description: "Blocked user for other site key test",
142
- });
143
- const origin = "http://localhost";
144
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
145
- const getImgCaptchaBody = {
146
- [ApiParams.dapp]: siteKey,
147
- [ApiParams.user]: userId,
148
- [ApiParams.datasetId]: solutions.datasetId,
149
- };
150
- const response = await fetch(getImageCaptchaURL, {
151
- method: "POST",
152
- body: JSON.stringify(getImgCaptchaBody),
153
- headers: {
154
- "Content-Type": "application/json",
155
- Origin: origin,
156
- "Prosopo-Site-Key": siteKey,
157
- "Prosopo-User": userId,
158
- "User-Agent": randomAsHex(16),
159
- },
160
- });
161
- expect(response.status).toBe(200);
162
- });
163
- });
164
- //# 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=imgCaptcha.integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"imgCaptcha.integration.test.d.ts","sourceRoot":"","sources":["../../../src/tests/integration/imgCaptcha.integration.test.ts"],"names":[],"mappings":""}
@@ -1,261 +0,0 @@
1
- import { stringToU8a, u8aToHex } from "@polkadot/util";
2
- import { datasetWithSolutionHashes } from "@prosopo/datasets";
3
- import { generateMnemonic, getPair } from "@prosopo/keyring";
4
- import { ApiParams, CaptchaType, ClientApiPaths, } from "@prosopo/types";
5
- import fetch from "node-fetch";
6
- import { beforeEach, describe, expect, it } from "vitest";
7
- import { dummyUserAccount } from "./mocks/solvedTestCaptchas.js";
8
- import { registerSiteKey } from "./registerSitekey.js";
9
- const solutions = datasetWithSolutionHashes;
10
- const baseUrl = "http://localhost:9229";
11
- const userAccount = "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty";
12
- describe("Image Captcha Integration Tests", () => {
13
- let dappAccount;
14
- let mnemonic;
15
- beforeEach(async () => {
16
- [mnemonic, dappAccount] = await generateMnemonic();
17
- await registerSiteKey(dappAccount, CaptchaType.image);
18
- });
19
- describe("GetImageCaptchaChallenge", () => {
20
- it("should supply an image captcha challenge to a Dapp User", async () => {
21
- const origin = "http://localhost";
22
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
23
- const getImgCaptchaBody = {
24
- [ApiParams.dapp]: dappAccount,
25
- [ApiParams.user]: userAccount,
26
- [ApiParams.datasetId]: solutions.datasetId,
27
- };
28
- const response = await fetch(getImageCaptchaURL, {
29
- method: "POST",
30
- body: JSON.stringify(getImgCaptchaBody),
31
- headers: {
32
- "Content-Type": "application/json",
33
- Origin: origin,
34
- "Prosopo-Site-Key": dappAccount,
35
- "Prosopo-User": userAccount,
36
- },
37
- });
38
- console.log(response);
39
- expect(response.status).toBe(200);
40
- const data = await response.json();
41
- expect(data).toHaveProperty("captchas");
42
- });
43
- it("should not supply an image captcha challenge to a Dapp User if the site key is not registered", async () => {
44
- const origin = "http://localhost";
45
- const [_mnemonic, unregisteredAccount] = await generateMnemonic();
46
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
47
- const body = {
48
- [ApiParams.dapp]: unregisteredAccount,
49
- [ApiParams.user]: userAccount,
50
- [ApiParams.datasetId]: solutions.datasetId,
51
- };
52
- const response = await fetch(getImageCaptchaURL, {
53
- method: "POST",
54
- body: JSON.stringify(body),
55
- headers: {
56
- "Content-Type": "application/json",
57
- Origin: origin,
58
- "Prosopo-Site-Key": unregisteredAccount,
59
- "Prosopo-User": userAccount,
60
- },
61
- });
62
- expect(response.status).toBe(400);
63
- const data = (await response.json());
64
- expect(data).toHaveProperty("error");
65
- expect(data.error?.message).toBe("Site key not registered");
66
- });
67
- it("should not supply an image captcha challenge to a Dapp User if an invalid site key is provided", async () => {
68
- const invalidSiteKey = "junk";
69
- const origin = "http://localhost";
70
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
71
- const body = {
72
- [ApiParams.dapp]: invalidSiteKey,
73
- [ApiParams.user]: userAccount,
74
- [ApiParams.datasetId]: solutions.datasetId,
75
- };
76
- const response = await fetch(getImageCaptchaURL, {
77
- method: "POST",
78
- body: JSON.stringify(body),
79
- headers: {
80
- "Content-Type": "application/json",
81
- Origin: origin,
82
- "Prosopo-Site-Key": invalidSiteKey,
83
- "Prosopo-User": userAccount,
84
- },
85
- });
86
- const data = (await response.json());
87
- expect(response.status).toBe(400);
88
- expect(data).toHaveProperty("error");
89
- expect(data.error?.message).toBe("Invalid site key");
90
- });
91
- it("should fail if datasetID is incorrect", async () => {
92
- const datasetId = "thewrongdsetId";
93
- const origin = "http://localhost";
94
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
95
- const body = {
96
- [ApiParams.dapp]: dappAccount,
97
- [ApiParams.user]: userAccount,
98
- [ApiParams.datasetId]: datasetId,
99
- };
100
- const response = await fetch(getImageCaptchaURL, {
101
- method: "POST",
102
- body: JSON.stringify(body),
103
- headers: {
104
- "Content-Type": "application/json",
105
- Origin: origin,
106
- "Prosopo-Site-Key": dappAccount,
107
- "Prosopo-User": userAccount,
108
- },
109
- });
110
- expect(response.status).toBe(500);
111
- });
112
- it("should return an error if the captcha type is set to pow", async () => {
113
- const origin = "http://localhost";
114
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
115
- await registerSiteKey(dappAccount, CaptchaType.pow);
116
- const body = {
117
- [ApiParams.dapp]: dappAccount,
118
- [ApiParams.user]: userAccount,
119
- [ApiParams.datasetId]: solutions.datasetId,
120
- };
121
- const response = await fetch(getImageCaptchaURL, {
122
- method: "POST",
123
- body: JSON.stringify(body),
124
- headers: {
125
- "Content-Type": "application/json",
126
- Origin: origin,
127
- "Prosopo-Site-Key": dappAccount,
128
- "Prosopo-User": userAccount,
129
- },
130
- });
131
- expect(response.status).toBe(400);
132
- const data = (await response.json());
133
- expect(data).toHaveProperty("error");
134
- expect(data.error?.message).toBe("Incorrect CAPTCHA type");
135
- expect(data.error?.code).toBe(400);
136
- });
137
- it("should return a translated error if the captcha type is set to pow and the language is set to es", async () => {
138
- const origin = "http://localhost";
139
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
140
- await registerSiteKey(dappAccount, CaptchaType.pow);
141
- const body = {
142
- [ApiParams.dapp]: dappAccount,
143
- [ApiParams.user]: userAccount,
144
- [ApiParams.datasetId]: solutions.datasetId,
145
- };
146
- const response = await fetch(getImageCaptchaURL, {
147
- method: "POST",
148
- body: JSON.stringify(body),
149
- headers: {
150
- "Content-Type": "application/json",
151
- Origin: origin,
152
- "Prosopo-Site-Key": dappAccount,
153
- "Prosopo-User": userAccount,
154
- "Accept-Language": "es",
155
- },
156
- });
157
- expect(response.status).toBe(400);
158
- const data = (await response.json());
159
- expect(data).toHaveProperty("error");
160
- expect(data.error?.message).toBe("Tipo di CAPTCHA errato");
161
- expect(data.error?.code).toBe(400);
162
- });
163
- });
164
- it("should return an error if the captcha type is set to frictionless and no sessionID is sent", async () => {
165
- const origin = "http://localhost";
166
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
167
- await registerSiteKey(dappAccount, CaptchaType.frictionless);
168
- const body = {
169
- [ApiParams.dapp]: dappAccount,
170
- [ApiParams.user]: userAccount,
171
- [ApiParams.datasetId]: solutions.datasetId,
172
- };
173
- const response = await fetch(getImageCaptchaURL, {
174
- method: "POST",
175
- body: JSON.stringify(body),
176
- headers: {
177
- "Content-Type": "application/json",
178
- Origin: origin,
179
- "Prosopo-Site-Key": dappAccount,
180
- "Prosopo-User": userAccount,
181
- },
182
- });
183
- expect(response.status).toBe(400);
184
- const data = (await response.json());
185
- expect(data).toHaveProperty("error");
186
- expect(data.error?.message).toBe("Incorrect CAPTCHA type");
187
- expect(data.error?.code).toBe(400);
188
- });
189
- describe("SubmitImageCaptchaSolution", () => {
190
- it("should verify a correctly completed image captcha as true", async () => {
191
- const pair = getPair(dummyUserAccount.seed, undefined, "sr25519", 42);
192
- await registerSiteKey(pair.address, CaptchaType.image);
193
- const userAccount = dummyUserAccount.address;
194
- const origin = "http://localhost";
195
- const getImageCaptchaURL = `${baseUrl}${ClientApiPaths.GetImageCaptchaChallenge}`;
196
- const getImgCaptchaBody = {
197
- [ApiParams.dapp]: dappAccount,
198
- [ApiParams.user]: userAccount,
199
- [ApiParams.datasetId]: solutions.datasetId,
200
- };
201
- const response = await fetch(getImageCaptchaURL, {
202
- method: "POST",
203
- body: JSON.stringify(getImgCaptchaBody),
204
- headers: {
205
- "Content-Type": "application/json",
206
- Origin: origin,
207
- "Prosopo-Site-Key": dappAccount,
208
- "Prosopo-User": userAccount,
209
- },
210
- });
211
- expect(response.status).toBe(200);
212
- const data = (await response.json());
213
- const solvedCaptchas = datasetWithSolutionHashes.captchas.map((captcha) => ({
214
- captchaContentId: captcha.captchaContentId,
215
- solution: captcha.solution
216
- ? captcha.solution.map((s) => s.toString())
217
- : captcha.solution,
218
- salt: captcha.salt,
219
- }));
220
- const temp = data.captchas.map((captcha) => {
221
- const solvedCaptcha = solvedCaptchas.find((solvedCaptcha) => solvedCaptcha.captchaContentId === captcha.captchaContentId);
222
- if (!solvedCaptcha || !solvedCaptcha.solution) {
223
- throw new Error("wtf?");
224
- }
225
- return {
226
- captchaContentId: captcha.captchaContentId,
227
- captchaId: captcha.captchaId,
228
- salt: solvedCaptcha.salt,
229
- solution: solvedCaptcha.solution,
230
- };
231
- });
232
- const solveImgCaptchaBody = {
233
- [ApiParams.captchas]: temp,
234
- [ApiParams.dapp]: dappAccount,
235
- [ApiParams.requestHash]: data.requestHash,
236
- [ApiParams.signature]: {
237
- [ApiParams.user]: {
238
- [ApiParams.timestamp]: u8aToHex(pair.sign(stringToU8a(data.timestamp))),
239
- },
240
- [ApiParams.provider]: data[ApiParams.signature][ApiParams.provider],
241
- },
242
- [ApiParams.timestamp]: data.timestamp,
243
- [ApiParams.user]: userAccount,
244
- };
245
- const solveThatCaptcha = await fetch(`${baseUrl}${ClientApiPaths.SubmitImageCaptchaSolution}`, {
246
- method: "POST",
247
- headers: {
248
- "Content-Type": "application/json",
249
- Origin: origin,
250
- "Prosopo-Site-Key": dappAccount,
251
- "Prosopo-User": userAccount,
252
- },
253
- body: JSON.stringify(solveImgCaptchaBody),
254
- });
255
- const jsonRes = await solveThatCaptcha.json();
256
- const res = jsonRes;
257
- expect(res.status).toBe("You correctly answered the captchas");
258
- });
259
- });
260
- });
261
- //# sourceMappingURL=imgCaptcha.integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"imgCaptcha.integration.test.js","sourceRoot":"","sources":["../../../src/tests/integration/imgCaptcha.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- import type { DatasetWithIdsAndTree } from "@prosopo/types";
2
- export declare const dummyUserAccount: {
3
- address: string;
4
- seed: string;
5
- };
6
- export declare const dummyDappAccount: {
7
- address: string;
8
- seed: string;
9
- };
10
- export declare const datasetWithSolutionHashes: DatasetWithIdsAndTree;
11
- export declare const datasetWithIndexSolutions: {
12
- captchas: {
13
- solution: number[] | undefined;
14
- captchaId: string;
15
- captchaContentId: string;
16
- assetURI?: string;
17
- datasetId?: string;
18
- datasetContentId?: string;
19
- unlabelled?: import("@prosopo/types").HashedSolution[] | import("@prosopo/types").RawSolution[];
20
- salt: string;
21
- items: import("@prosopo/types").HashedItem[];
22
- target: string;
23
- solved?: boolean;
24
- timeLimitMs?: number;
25
- }[];
26
- contentTree: string[][];
27
- datasetId: import("@prosopo/types").Hash;
28
- datasetContentId: import("@prosopo/types").Hash;
29
- format: import("@prosopo/types").CaptchaTypes;
30
- solutionTree?: string[][];
31
- };
32
- //# sourceMappingURL=solvedTestCaptchas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"solvedTestCaptchas.d.ts","sourceRoot":"","sources":["../../../../src/tests/integration/mocks/solvedTestCaptchas.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAuiCjC,qBAAqB,CAAC;AAG3B,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;CASrC,CAAC"}