@prosopo/server 2.10.59 → 2.11.0

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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @prosopo/server@2.10.59 build:cjs
2
+ > @prosopo/server@2.11.0 build:cjs
3
3
  > NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
4
4
 
5
5
  ViteCommonJSConfig: .
@@ -39,6 +39,6 @@ computing gzip size...
39
39
  dist/cjs/index.cjs 0.65 kB │ gzip: 0.31 kB
40
40
  dist/cjs/config.cjs 0.82 kB │ gzip: 0.41 kB
41
41
  dist/cjs/_virtual/_rolldown/runtime.cjs 1.00 kB │ gzip: 0.50 kB
42
- dist/cjs/server.cjs 5.73 kB │ gzip: 1.78 kB
42
+ dist/cjs/server.cjs 6.14 kB │ gzip: 1.90 kB
43
43
 
44
- ✓ built in 44ms
44
+ ✓ built in 41ms
@@ -1,8 +1,8 @@
1
1
 
2
- > @prosopo/server@2.10.59 build:tsc
2
+ > @prosopo/server@2.11.0 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 12:32:21 PM - Projects in this build:
5
+ 1:43:05 PM - Projects in this build:
6
6
  * ../../dev/config/tsconfig.json
7
7
  * ../locale/tsconfig.json
8
8
  * ../util/tsconfig.json
@@ -15,27 +15,27 @@
15
15
  * ../load-balancer/tsconfig.json
16
16
  * tsconfig.json
17
17
 
18
- 12:32:21 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
18
+ 1:43:05 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
19
19
 
20
- 12:32:21 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
20
+ 1:43:05 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
21
21
 
22
- 12:32:21 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
22
+ 1:43:05 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
23
23
 
24
- 12:32:21 PM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
24
+ 1:43:05 PM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
25
25
 
26
- 12:32:21 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
26
+ 1:43:05 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
27
27
 
28
- 12:32:21 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
28
+ 1:43:05 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/tests/apiHarness.ts' is older than output '../api/tsconfig.tsbuildinfo'
29
29
 
30
- 12:32:21 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/tests/loggerBrowser.unit.test.ts' is older than output '../logger/tsconfig.tsbuildinfo'
30
+ 1:43:05 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
31
31
 
32
- 12:32:21 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/tests/utils/objectUtils.unit.test.ts' is older than output '../common/tsconfig.tsbuildinfo'
32
+ 1:43:05 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
33
33
 
34
- 12:32:21 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/pair/decode.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
34
+ 1:43:05 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/keyring/keyring.test.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
35
35
 
36
- 12:32:21 PM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/tests/providers.unit.test.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
36
+ 1:43:05 PM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/balancer.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
37
37
 
38
- 12:32:21 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
38
+ 1:43:05 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
39
39
 
40
- 12:32:21 PM - Building project '/home/runner/work/captcha/captcha/packages/server/tsconfig.json'...
40
+ 1:43:05 PM - Building project '/home/runner/work/captcha/captcha/packages/server/tsconfig.json'...
41
41
 
@@ -1,9 +1,9 @@
1
1
 
2
- > @prosopo/server@2.10.59 build
2
+ > @prosopo/server@2.11.0 build
3
3
  > npm run build:cross-env -- --mode ${NODE_ENV:-development}
4
4
 
5
5
 
6
- > @prosopo/server@2.10.59 build:cross-env
6
+ > @prosopo/server@2.11.0 build:cross-env
7
7
  > vite build --config vite.esm.config.ts --mode production
8
8
 
9
9
  ViteEsmConfig: .
@@ -43,6 +43,6 @@ computing gzip size...
43
43
  dist/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
44
44
  dist/index.js 0.43 kB │ gzip: 0.23 kB
45
45
  dist/config.js 0.78 kB │ gzip: 0.40 kB
46
- dist/server.js 5.39 kB │ gzip: 1.68 kB
46
+ dist/server.js 5.79 kB │ gzip: 1.81 kB
47
47
 
48
- ✓ built in 56ms
48
+ ✓ built in 123ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @prosopo/server
2
2
 
3
+ ## 2.11.0
4
+ ### Minor Changes
5
+
6
+ - 4b1cb19: Correlate a site-supplied session id across render and verify.
7
+
8
+ A site can now hand the widget its own session identifier — Protect's JTI, or any per-user session id it already holds — and have the provider confirm at verify time that the token was earned in that same session. Render it with `data-sessionid="..."` or `renderOptions.sessionId`, resolved the same way `mode` and `language` already are, so implicit, explicit and invisible-button renders all pick it up. Pass the same value as the new trailing `clientSessionId` argument to `ProsopoServer.isVerified`.
9
+
10
+ The widget attaches it to the solution as `clientMetaData.clientSessionId`. It is persisted on the captcha record (PoW, puzzle and image alike) and mirrored to a new top-level `clientMetaData` key on the session record — an object rather than a flat field, because more render-time metadata is expected to land there. It survives the PoW→image/puzzle escalation handoff, since the escalated widget is mounted with the same config.
11
+
12
+ At verify, when the value is supplied and the solve does not carry exactly that value — including carrying none at all, which is what a token minted outside the site's session looks like — the token is disapproved with the new `ResultReason.CLIENT_SESSION_MISMATCH` (`API.CLIENT_SESSION_MISMATCH`, translated in all 31 locales), recorded on both the captcha record and the session.
13
+
14
+ Omitting the id preserves existing behaviour, so this is opt-in and backward compatible. The verify request field is `clientSessionId` rather than `sessionId` because `VerificationResponse.sessionId` already means the provider's own frictionless session; same-named request and response fields meaning different things would be a trap for integrators.
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies [4b1cb19]
19
+ - @prosopo/types@5.4.0
20
+ - @prosopo/api@4.1.0
21
+ - @prosopo/common@3.1.52
22
+ - @prosopo/keyring@2.9.79
23
+ - @prosopo/load-balancer@2.10.33
24
+
3
25
  ## 2.10.59
4
26
  ### Patch Changes
5
27
 
@@ -40,8 +40,11 @@ var ProsopoServer = class {
40
40
  * @param ip
41
41
  * @param email
42
42
  * @param captchaType
43
+ * @param clientSessionId - the session id the widget was rendered with
44
+ * (`data-sessionid` / `renderOptions.sessionId`). When supplied, the
45
+ * provider only verifies the token if the solve carries the same value.
43
46
  */
44
- async verifyProvider(token, timeouts, providerUrl, timestamp, user, challenge, ip, email, captchaType) {
47
+ async verifyProvider(token, timeouts, providerUrl, timestamp, user, challenge, ip, email, captchaType, clientSessionId) {
45
48
  this.logger.info(() => ({
46
49
  data: {
47
50
  providerUrl,
@@ -56,17 +59,17 @@ var ProsopoServer = class {
56
59
  if (captchaType === _prosopo_types.CaptchaType.puzzle) {
57
60
  const puzzleTimeout = this.config.timeouts.puzzle.cachedTimeout;
58
61
  if (!this.isRecent(timestamp, puzzleTimeout, "Puzzle")) return this.notRecentResponse();
59
- return await providerApi.submitPuzzleCaptchaVerify(token, signatureHex, user, ip, email);
62
+ return await providerApi.submitPuzzleCaptchaVerify(token, signatureHex, user, ip, email, clientSessionId);
60
63
  }
61
64
  if (captchaType === _prosopo_types.CaptchaType.pow) {
62
65
  const powTimeout = this.config.timeouts.pow.cachedTimeout;
63
66
  if (!this.isRecent(timestamp, powTimeout, "PoW")) return this.notRecentResponse();
64
- return await providerApi.submitPowCaptchaVerify(token, signatureHex, user, ip, email);
67
+ return await providerApi.submitPowCaptchaVerify(token, signatureHex, user, ip, email, clientSessionId);
65
68
  }
66
69
  if (captchaType === _prosopo_types.CaptchaType.image) {
67
70
  const imageTimeout = this.config.timeouts.image.cachedTimeout;
68
71
  if (!this.isRecent(timestamp, imageTimeout, "Image")) return this.notRecentResponse();
69
- return await providerApi.verifyDappUser(token, signatureHex, user, timeouts.image.cachedTimeout, ip, email);
72
+ return await providerApi.verifyDappUser(token, signatureHex, user, timeouts.image.cachedTimeout, ip, email, clientSessionId);
70
73
  }
71
74
  this.logger.warn(() => ({
72
75
  data: { challenge: Boolean(challenge) },
@@ -75,11 +78,11 @@ var ProsopoServer = class {
75
78
  if (challenge) {
76
79
  const powTimeout = this.config.timeouts.pow.cachedTimeout;
77
80
  if (!this.isRecent(timestamp, powTimeout, "PoW")) return this.notRecentResponse();
78
- return await providerApi.submitPowCaptchaVerify(token, signatureHex, user, ip, email);
81
+ return await providerApi.submitPowCaptchaVerify(token, signatureHex, user, ip, email, clientSessionId);
79
82
  }
80
83
  const imageTimeout = this.config.timeouts.image.cachedTimeout;
81
84
  if (!this.isRecent(timestamp, imageTimeout, "Image")) return this.notRecentResponse();
82
- return await providerApi.verifyDappUser(token, signatureHex, user, timeouts.image.cachedTimeout, ip, email);
85
+ return await providerApi.verifyDappUser(token, signatureHex, user, timeouts.image.cachedTimeout, ip, email, clientSessionId);
83
86
  }
84
87
  isRecent(timestamp, timeoutMs, label) {
85
88
  if (!timestamp) return false;
@@ -103,8 +106,9 @@ var ProsopoServer = class {
103
106
  * @param token
104
107
  * @param ip
105
108
  * @param email
109
+ * @param clientSessionId - see `verifyProvider`
106
110
  */
107
- async isVerified(token, ip, email) {
111
+ async isVerified(token, ip, email, clientSessionId) {
108
112
  try {
109
113
  const payload = (0, _prosopo_types.decodeProcaptchaOutput)(token);
110
114
  const { providerUrl, challenge, timestamp, user, captchaType } = _prosopo_types.ProcaptchaOutputSchema.parse(payload);
@@ -119,7 +123,7 @@ var ProsopoServer = class {
119
123
  status: i18next.default.t("API.USER_NOT_VERIFIED")
120
124
  };
121
125
  }
122
- const verificationResponse = await this.verifyProvider(token, this.config.timeouts, provider.url, Number(timestamp), user, challenge, ip, email, captchaType);
126
+ const verificationResponse = await this.verifyProvider(token, this.config.timeouts, provider.url, Number(timestamp), user, challenge, ip, email, captchaType, clientSessionId);
123
127
  this.logger.info(() => ({ data: {
124
128
  verificationResponse,
125
129
  providerUrl,
package/dist/server.d.ts CHANGED
@@ -12,9 +12,9 @@ export declare class ProsopoServer {
12
12
  pair: KeyringPair | undefined;
13
13
  constructor(config: ProsopoServerConfigOutput, pair?: KeyringPair);
14
14
  getProviderApi(providerUrl: string): ProviderApi;
15
- verifyProvider(token: string, timeouts: CaptchaTimeoutOutput, providerUrl: string, timestamp: number, user: string, challenge?: string, ip?: string, email?: string, captchaType?: CaptchaType): Promise<VerificationResponse>;
15
+ verifyProvider(token: string, timeouts: CaptchaTimeoutOutput, providerUrl: string, timestamp: number, user: string, challenge?: string, ip?: string, email?: string, captchaType?: CaptchaType, clientSessionId?: string): Promise<VerificationResponse>;
16
16
  private isRecent;
17
17
  private notRecentResponse;
18
- isVerified(token: ProcaptchaToken, ip?: string, email?: string): Promise<VerificationResponse>;
18
+ isVerified(token: ProcaptchaToken, ip?: string, email?: string, clientSessionId?: string): Promise<VerificationResponse>;
19
19
  }
20
20
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAcA,OAAO,EAAa,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAiB,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACN,KAAK,oBAAoB,EACzB,WAAW,EAEX,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EAEzB,MAAM,gBAAgB,CAAC;AAIxB,qBAAa,aAAa;IACzB,MAAM,EAAE,yBAAyB,CAAC;IAClC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;gBAElB,MAAM,EAAE,yBAAyB,EAAE,IAAI,CAAC,EAAE,WAAW;IAcjE,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW;IAwBnC,cAAc,CAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,WAAW,GACvB,OAAO,CAAC,oBAAoB,CAAC;IA+FhC,OAAO,CAAC,QAAQ;IAgBhB,OAAO,CAAC,iBAAiB;IAYZ,UAAU,CACtB,KAAK,EAAE,eAAe,EACtB,EAAE,CAAC,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,oBAAoB,CAAC;CAwDhC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAcA,OAAO,EAAa,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAiB,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACN,KAAK,oBAAoB,EACzB,WAAW,EAEX,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EAEzB,MAAM,gBAAgB,CAAC;AAIxB,qBAAa,aAAa;IACzB,MAAM,EAAE,yBAAyB,CAAC;IAClC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;gBAElB,MAAM,EAAE,yBAAyB,EAAE,IAAI,CAAC,EAAE,WAAW;IAcjE,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW;IA2BnC,cAAc,CAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,WAAW,EACzB,eAAe,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,oBAAoB,CAAC;IAoGhC,OAAO,CAAC,QAAQ;IAgBhB,OAAO,CAAC,iBAAiB;IAaZ,UAAU,CACtB,KAAK,EAAE,eAAe,EACtB,EAAE,CAAC,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,oBAAoB,CAAC;CAyDhC"}
package/dist/server.js CHANGED
@@ -38,8 +38,11 @@ var ProsopoServer = class {
38
38
  * @param ip
39
39
  * @param email
40
40
  * @param captchaType
41
+ * @param clientSessionId - the session id the widget was rendered with
42
+ * (`data-sessionid` / `renderOptions.sessionId`). When supplied, the
43
+ * provider only verifies the token if the solve carries the same value.
41
44
  */
42
- async verifyProvider(token, timeouts, providerUrl, timestamp, user, challenge, ip, email, captchaType) {
45
+ async verifyProvider(token, timeouts, providerUrl, timestamp, user, challenge, ip, email, captchaType, clientSessionId) {
43
46
  this.logger.info(() => ({
44
47
  data: {
45
48
  providerUrl,
@@ -54,17 +57,17 @@ var ProsopoServer = class {
54
57
  if (captchaType === CaptchaType.puzzle) {
55
58
  const puzzleTimeout = this.config.timeouts.puzzle.cachedTimeout;
56
59
  if (!this.isRecent(timestamp, puzzleTimeout, "Puzzle")) return this.notRecentResponse();
57
- return await providerApi.submitPuzzleCaptchaVerify(token, signatureHex, user, ip, email);
60
+ return await providerApi.submitPuzzleCaptchaVerify(token, signatureHex, user, ip, email, clientSessionId);
58
61
  }
59
62
  if (captchaType === CaptchaType.pow) {
60
63
  const powTimeout = this.config.timeouts.pow.cachedTimeout;
61
64
  if (!this.isRecent(timestamp, powTimeout, "PoW")) return this.notRecentResponse();
62
- return await providerApi.submitPowCaptchaVerify(token, signatureHex, user, ip, email);
65
+ return await providerApi.submitPowCaptchaVerify(token, signatureHex, user, ip, email, clientSessionId);
63
66
  }
64
67
  if (captchaType === CaptchaType.image) {
65
68
  const imageTimeout = this.config.timeouts.image.cachedTimeout;
66
69
  if (!this.isRecent(timestamp, imageTimeout, "Image")) return this.notRecentResponse();
67
- return await providerApi.verifyDappUser(token, signatureHex, user, timeouts.image.cachedTimeout, ip, email);
70
+ return await providerApi.verifyDappUser(token, signatureHex, user, timeouts.image.cachedTimeout, ip, email, clientSessionId);
68
71
  }
69
72
  this.logger.warn(() => ({
70
73
  data: { challenge: Boolean(challenge) },
@@ -73,11 +76,11 @@ var ProsopoServer = class {
73
76
  if (challenge) {
74
77
  const powTimeout = this.config.timeouts.pow.cachedTimeout;
75
78
  if (!this.isRecent(timestamp, powTimeout, "PoW")) return this.notRecentResponse();
76
- return await providerApi.submitPowCaptchaVerify(token, signatureHex, user, ip, email);
79
+ return await providerApi.submitPowCaptchaVerify(token, signatureHex, user, ip, email, clientSessionId);
77
80
  }
78
81
  const imageTimeout = this.config.timeouts.image.cachedTimeout;
79
82
  if (!this.isRecent(timestamp, imageTimeout, "Image")) return this.notRecentResponse();
80
- return await providerApi.verifyDappUser(token, signatureHex, user, timeouts.image.cachedTimeout, ip, email);
83
+ return await providerApi.verifyDappUser(token, signatureHex, user, timeouts.image.cachedTimeout, ip, email, clientSessionId);
81
84
  }
82
85
  isRecent(timestamp, timeoutMs, label) {
83
86
  if (!timestamp) return false;
@@ -101,8 +104,9 @@ var ProsopoServer = class {
101
104
  * @param token
102
105
  * @param ip
103
106
  * @param email
107
+ * @param clientSessionId - see `verifyProvider`
104
108
  */
105
- async isVerified(token, ip, email) {
109
+ async isVerified(token, ip, email, clientSessionId) {
106
110
  try {
107
111
  const payload = decodeProcaptchaOutput(token);
108
112
  const { providerUrl, challenge, timestamp, user, captchaType } = ProcaptchaOutputSchema.parse(payload);
@@ -117,7 +121,7 @@ var ProsopoServer = class {
117
121
  status: i18n.t("API.USER_NOT_VERIFIED")
118
122
  };
119
123
  }
120
- const verificationResponse = await this.verifyProvider(token, this.config.timeouts, provider.url, Number(timestamp), user, challenge, ip, email, captchaType);
124
+ const verificationResponse = await this.verifyProvider(token, this.config.timeouts, provider.url, Number(timestamp), user, challenge, ip, email, captchaType, clientSessionId);
121
125
  this.logger.info(() => ({ data: {
122
126
  verificationResponse,
123
127
  providerUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/server",
3
- "version": "2.10.59",
3
+ "version": "2.11.0",
4
4
  "description": "NodeJS package for server side communication with the prosopo captcha client",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -38,12 +38,12 @@
38
38
  "homepage": "https://github.com/prosopo/captcha#readme",
39
39
  "sideEffects": false,
40
40
  "dependencies": {
41
- "@prosopo/api": "4.0.15",
42
- "@prosopo/common": "3.1.51",
41
+ "@prosopo/api": "4.1.0",
42
+ "@prosopo/common": "3.1.52",
43
43
  "@prosopo/logger": "2.0.7",
44
- "@prosopo/keyring": "2.9.78",
45
- "@prosopo/load-balancer": "2.10.32",
46
- "@prosopo/types": "5.3.0",
44
+ "@prosopo/keyring": "2.9.79",
45
+ "@prosopo/load-balancer": "2.10.33",
46
+ "@prosopo/types": "5.4.0",
47
47
  "@prosopo/util": "3.3.7",
48
48
  "i18next": "24.1.0"
49
49
  },