@prosopo/client-example-server 2.7.146 → 2.7.148
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build$colon$cjs.log +3 -3
- package/.turbo/turbo-build$colon$tsc.log +21 -21
- package/.turbo/turbo-build.log +4 -4
- package/CHANGELOG.md +24 -0
- package/dist/cjs/controllers/auth.cjs +4 -4
- package/dist/controllers/auth.d.ts.map +1 -1
- package/dist/controllers/auth.js +4 -4
- package/dist/controllers/auth.js.map +1 -1
- package/dist/tests/auth.unit.test.js +13 -4
- package/dist/tests/auth.unit.test.js.map +1 -1
- package/package.json +5 -5
- package/src/controllers/auth.ts +16 -1
- package/src/tests/auth.unit.test.ts +29 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/client-example-server@2.7.
|
|
2
|
+
> @prosopo/client-example-server@2.7.148 build:cjs
|
|
3
3
|
> NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
|
|
4
4
|
|
|
5
5
|
ViteCommonJSConfig: .
|
|
@@ -56,6 +56,6 @@ dist/cjs/utils/connection.cjs 0.89 kB │ gzip: 0.44 kB
|
|
|
56
56
|
dist/cjs/routes/routes.cjs 0.94 kB │ gzip: 0.41 kB
|
|
57
57
|
dist/cjs/_virtual/_rolldown/runtime.cjs 1.00 kB │ gzip: 0.50 kB
|
|
58
58
|
dist/cjs/app.cjs 6.62 kB │ gzip: 2.36 kB
|
|
59
|
-
dist/cjs/controllers/auth.cjs 7.
|
|
59
|
+
dist/cjs/controllers/auth.cjs 7.77 kB │ gzip: 2.42 kB
|
|
60
60
|
|
|
61
|
-
[32m✓ built in
|
|
61
|
+
[32m✓ built in 49ms[39m
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/client-example-server@2.7.
|
|
2
|
+
> @prosopo/client-example-server@2.7.148 build:tsc
|
|
3
3
|
> tsc --build --verbose
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
6:42:49 PM - Projects in this build:
|
|
6
6
|
* ../../dev/config/tsconfig.json
|
|
7
7
|
* ../../packages/locale/tsconfig.json
|
|
8
8
|
* ../../packages/util/tsconfig.json
|
|
@@ -22,41 +22,41 @@
|
|
|
22
22
|
* ../../packages/server/tsconfig.json
|
|
23
23
|
* tsconfig.json
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
6:42:49 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'
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
6:42:49 PM - Project '../../packages/locale/tsconfig.json' is up to date because newest input '../../packages/locale/src/translationKey.ts' is older than output '../../packages/locale/tsconfig.tsbuildinfo'
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
6:42:49 PM - Project '../../packages/util/tsconfig.json' is up to date because newest input '../../packages/util/src/url.ts' is older than output '../../packages/util/tsconfig.tsbuildinfo'
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
6:42:49 PM - Project '../../packages/logger/tsconfig.json' is up to date because newest input '../../packages/logger/src/index.ts' is older than output '../../packages/logger/tsconfig.tsbuildinfo'
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
6:42:49 PM - Project '../../packages/util-crypto/tsconfig.json' is up to date because newest input '../../packages/util-crypto/src/types.ts' is older than output '../../packages/util-crypto/tsconfig.tsbuildinfo'
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
6:42:50 PM - Project '../../packages/types/tsconfig.json' is up to date because newest input '../../packages/types/src/types.test-d.ts' is older than output '../../packages/types/tsconfig.tsbuildinfo'
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
6:42:50 PM - Project '../../packages/common/tsconfig.json' is up to date because newest input '../../packages/common/src/error.ts' is older than output '../../packages/common/tsconfig.tsbuildinfo'
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
6:42:50 PM - Project '../../packages/api-route/tsconfig.json' is up to date because newest input '../../packages/api-route/src/apiRoutes.ts' is older than output '../../packages/api-route/tsconfig.tsbuildinfo'
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
6:42:50 PM - Project '../../packages/redis-client/tsconfig.json' is up to date because newest input '../../packages/redis-client/src/index.ts' is older than output '../../packages/redis-client/tsconfig.tsbuildinfo'
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
6:42:50 PM - Project '../../packages/api/tsconfig.json' is up to date because newest input '../../packages/api/src/index.ts' is older than output '../../packages/api/tsconfig.tsbuildinfo'
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
6:42:50 PM - Project '../../packages/user-access-policy/tsconfig.json' is up to date because newest input '../../packages/user-access-policy/src/ruleRecord.ts' is older than output '../../packages/user-access-policy/tsconfig.tsbuildinfo'
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
6:42:50 PM - Project '../../packages/types-database/tsconfig.json' is up to date because newest input '../../packages/types-database/src/index.ts' is older than output '../../packages/types-database/tsconfig.tsbuildinfo'
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
6:42:50 PM - Project '../../packages/database/tsconfig.json' is up to date because newest input '../../packages/database/src/tests/mongoGlobalSetup.ts' is older than output '../../packages/database/tsconfig.tsbuildinfo'
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
6:42:50 PM - Project '../../packages/dotenv/tsconfig.json' is up to date because newest input '../../packages/dotenv/src/env.ts' is older than output '../../packages/dotenv/tsconfig.tsbuildinfo'
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
6:42:50 PM - Project '../../packages/keyring/tsconfig.json' is up to date because newest input '../../packages/keyring/src/keyring/keyring.test.ts' is older than output '../../packages/keyring/tsconfig.tsbuildinfo'
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
6:42:50 PM - Project '../../packages/load-balancer/tsconfig.json' is up to date because newest input '../../packages/load-balancer/src/index.ts' is older than output '../../packages/load-balancer/tsconfig.tsbuildinfo'
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
6:42:50 PM - Project '../../packages/server/tsconfig.json' is up to date because newest input '../../packages/server/src/config.ts' is older than output '../../packages/server/tsconfig.tsbuildinfo'
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
6:42:50 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
6:42:50 PM - Building project '/home/runner/work/captcha/captcha/demos/client-example-server/tsconfig.json'...
|
|
62
62
|
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/client-example-server@2.7.
|
|
2
|
+
> @prosopo/client-example-server@2.7.148 build
|
|
3
3
|
> npm run build:cross-env -- --mode ${NODE_ENV:-development}
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @prosopo/client-example-server@2.7.
|
|
6
|
+
> @prosopo/client-example-server@2.7.148 build:cross-env
|
|
7
7
|
> vite build --config vite.esm.config.ts --mode production
|
|
8
8
|
|
|
9
9
|
ViteEsmConfig: .
|
|
@@ -60,6 +60,6 @@ dist/models/user.js 0.45 kB │ gzip: 0.21 kB
|
|
|
60
60
|
dist/utils/connection.js 0.64 kB │ gzip: 0.35 kB
|
|
61
61
|
dist/routes/routes.js 0.79 kB │ gzip: 0.37 kB
|
|
62
62
|
dist/app.js 5.54 kB │ gzip: 2.16 kB
|
|
63
|
-
dist/controllers/auth.js
|
|
63
|
+
dist/controllers/auth.js 7.06 kB │ gzip: 2.29 kB
|
|
64
64
|
|
|
65
|
-
[32m✓ built in
|
|
65
|
+
[32m✓ built in 57ms[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# @prosopo/client-example-server
|
|
2
2
|
|
|
3
|
+
## 2.7.148
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- Updated dependencies [eb34de6]
|
|
7
|
+
- @prosopo/types@5.5.0
|
|
8
|
+
- @prosopo/database@4.0.22
|
|
9
|
+
- @prosopo/keyring@2.9.80
|
|
10
|
+
- @prosopo/server@2.11.1
|
|
11
|
+
|
|
12
|
+
## 2.7.147
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- 5a17a65: Fix client session id correlation rejecting every token.
|
|
16
|
+
|
|
17
|
+
#3139 added `clientMetaData.clientSessionId` and a verify-time check that the solve carries the same session id the widget was rendered with. The check never passed: `getPowCaptchaRecordByChallenge` and `getPuzzleCaptchaRecordByChallenge` project an explicit field list, and `clientMetaData` was not in it. The verify path therefore read `undefined` and `isClientSessionMismatch(suppliedId, undefined)` returned true for *every* token carrying a session id, disapproving it with `API.CLIENT_SESSION_MISMATCH`.
|
|
18
|
+
|
|
19
|
+
Nothing else was wrong: the widget attached the id, the wire format carried it, and the write path persisted it (the session record — read without a projection — had it all along). Only the read dropped it, which is why unit tests over the comparison helper and the escalation handoff all passed. `getSessionRecordBySessionId` had the same omission and is fixed too.
|
|
20
|
+
|
|
21
|
+
This is the third instance of this class of bug — the projection-contract helper's own docstring already cites #3107 and #3116. The guard existed but its `consumerReads` manifest was not updated when #3139 started reading a new field, so the manifests for the PoW and puzzle contracts now list `clientMetaData` and their fixtures populate it. Reverting the projection fix makes that test fail with "serverVerifyPowCaptchaSolution reads a field that the projection stripped: clientMetaData".
|
|
22
|
+
|
|
23
|
+
Adds an end-to-end Cypress spec (`clientSessionId.cy.ts`) that solves a real PoW captcha rendered with `data-sessionid` and asserts the dapp server's verify succeeds, plus a mismatch case that must be rejected — the half that proves the correlation actually runs rather than being silently skipped. This required wiring `clientSessionId` through the demo server's `/signup` into `isVerified`, which #3139 left unwired; that omission is why no e2e covered the feature.
|
|
24
|
+
- Updated dependencies [5a17a65]
|
|
25
|
+
- @prosopo/database@4.0.21
|
|
26
|
+
|
|
3
27
|
## 2.7.146
|
|
4
28
|
### Patch Changes
|
|
5
29
|
|
|
@@ -86,7 +86,7 @@ var getResponse = async (ip, token, secret, verifyEndpoint, email) => {
|
|
|
86
86
|
body: JSON.stringify(body)
|
|
87
87
|
})).json();
|
|
88
88
|
};
|
|
89
|
-
var verify = async (prosopoServer, verifyType, verifyEndpoint, token, secret, ip, email) => {
|
|
89
|
+
var verify = async (prosopoServer, verifyType, verifyEndpoint, token, secret, ip, email, clientSessionId) => {
|
|
90
90
|
if (verifyType === "api") {
|
|
91
91
|
logger.info(() => ({
|
|
92
92
|
msg: "Verifying using the API endpoint",
|
|
@@ -96,7 +96,7 @@ var verify = async (prosopoServer, verifyType, verifyEndpoint, token, secret, ip
|
|
|
96
96
|
logger.info(() => ({ data: { response } }));
|
|
97
97
|
return response.verified;
|
|
98
98
|
}
|
|
99
|
-
const verified = await prosopoServer.isVerified(token, ip, email);
|
|
99
|
+
const verified = await prosopoServer.isVerified(token, ip, email, clientSessionId);
|
|
100
100
|
logger.info(() => ({ data: { verified } }));
|
|
101
101
|
return verified[_prosopo_types.ApiParams.verified];
|
|
102
102
|
};
|
|
@@ -112,7 +112,7 @@ var signup = async (mongoose, config, verifyEndpoint, verifyType, req, res, next
|
|
|
112
112
|
const prosopoServer = new _prosopo_server.ProsopoServer(config, pair);
|
|
113
113
|
if (dbUser) return res.status(409).json({ message: "email already exists" });
|
|
114
114
|
const email = req.body.email;
|
|
115
|
-
const verified = await verify(prosopoServer, verifyType, verifyEndpoint, token, secret, req.headers["x-client-ip"]?.toString() || "127.0.0.1", email);
|
|
115
|
+
const verified = await verify(prosopoServer, verifyType, verifyEndpoint, token, secret, req.headers["x-client-ip"]?.toString() || "127.0.0.1", email, req.body[_prosopo_types.ApiParams.clientSessionId]);
|
|
116
116
|
if (verified === true) {
|
|
117
117
|
const salt = (0, _polkadot_util_crypto.randomAsHex)(32);
|
|
118
118
|
const passwordHash = hashPassword(`${req.body.password}${salt}`);
|
|
@@ -148,7 +148,7 @@ var login = async (mongoose, config, verifyEndpoint, verifyType, req, res) => {
|
|
|
148
148
|
const siteKey = payload[_prosopo_types.ApiParams.siteKey];
|
|
149
149
|
if (!config.account.secret) throw new _prosopo_common.ProsopoEnvError("GENERAL.SECRET_MISSING", { context: { missingParams: ["PROSOPO_SITE_PRIVATE_KEY"] } });
|
|
150
150
|
const { pair, secret } = getPairAndSecretForSiteKey(config.account.secret, siteKey);
|
|
151
|
-
const verified = await verify(new _prosopo_server.ProsopoServer(config, pair), verifyType, verifyEndpoint, token, secret, req.headers["x-client-ip"]?.toString() || NO_IP);
|
|
151
|
+
const verified = await verify(new _prosopo_server.ProsopoServer(config, pair), verifyType, verifyEndpoint, token, secret, req.headers["x-client-ip"]?.toString() || NO_IP, void 0, req.body[_prosopo_types.ApiParams.clientSessionId]);
|
|
152
152
|
logger.info(() => ({ data: { verified } }));
|
|
153
153
|
if (verified) {
|
|
154
154
|
if (hashPassword(`${req.body.password}${dbUser.salt}`) !== dbUser.password) return res.status(401).json({ message: "invalid credentials" });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/controllers/auth.ts"],"names":[],"mappings":"AAqBA,OAAO,EAMN,KAAK,yBAAyB,EAC9B,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/controllers/auth.ts"],"names":[],"mappings":"AAqBA,OAAO,EAMN,KAAK,yBAAyB,EAC9B,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAgK3C,QAAA,MAAM,MAAM,aACD,UAAU,UACZ,yBAAyB,kBACjB,MAAM,cACV,MAAM,OACb,OAAO,OACP,QAAQ,QACP,YAAY,uDA0ElB,CAAC;AAEF,QAAA,MAAM,KAAK,aACA,UAAU,UACZ,yBAAyB,kBACjB,MAAM,cACV,MAAM,OACb,OAAO,OACP,QAAQ,kBA2Eb,CAAC;AAEF,QAAA,MAAM,MAAM,QAAS,OAAO,OAAO,QAAQ,uCAkC1C,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/controllers/auth.js
CHANGED
|
@@ -84,7 +84,7 @@ var getResponse = async (ip, token, secret, verifyEndpoint, email) => {
|
|
|
84
84
|
body: JSON.stringify(body)
|
|
85
85
|
})).json();
|
|
86
86
|
};
|
|
87
|
-
var verify = async (prosopoServer, verifyType, verifyEndpoint, token, secret, ip, email) => {
|
|
87
|
+
var verify = async (prosopoServer, verifyType, verifyEndpoint, token, secret, ip, email, clientSessionId) => {
|
|
88
88
|
if (verifyType === "api") {
|
|
89
89
|
logger.info(() => ({
|
|
90
90
|
msg: "Verifying using the API endpoint",
|
|
@@ -94,7 +94,7 @@ var verify = async (prosopoServer, verifyType, verifyEndpoint, token, secret, ip
|
|
|
94
94
|
logger.info(() => ({ data: { response } }));
|
|
95
95
|
return response.verified;
|
|
96
96
|
}
|
|
97
|
-
const verified = await prosopoServer.isVerified(token, ip, email);
|
|
97
|
+
const verified = await prosopoServer.isVerified(token, ip, email, clientSessionId);
|
|
98
98
|
logger.info(() => ({ data: { verified } }));
|
|
99
99
|
return verified[ApiParams.verified];
|
|
100
100
|
};
|
|
@@ -110,7 +110,7 @@ var signup = async (mongoose, config, verifyEndpoint, verifyType, req, res, next
|
|
|
110
110
|
const prosopoServer = new ProsopoServer(config, pair);
|
|
111
111
|
if (dbUser) return res.status(409).json({ message: "email already exists" });
|
|
112
112
|
const email = req.body.email;
|
|
113
|
-
const verified = await verify(prosopoServer, verifyType, verifyEndpoint, token, secret, req.headers["x-client-ip"]?.toString() || "127.0.0.1", email);
|
|
113
|
+
const verified = await verify(prosopoServer, verifyType, verifyEndpoint, token, secret, req.headers["x-client-ip"]?.toString() || "127.0.0.1", email, req.body[ApiParams.clientSessionId]);
|
|
114
114
|
if (verified === true) {
|
|
115
115
|
const salt = randomAsHex(32);
|
|
116
116
|
const passwordHash = hashPassword(`${req.body.password}${salt}`);
|
|
@@ -146,7 +146,7 @@ var login = async (mongoose, config, verifyEndpoint, verifyType, req, res) => {
|
|
|
146
146
|
const siteKey = payload[ApiParams.siteKey];
|
|
147
147
|
if (!config.account.secret) throw new ProsopoEnvError("GENERAL.SECRET_MISSING", { context: { missingParams: ["PROSOPO_SITE_PRIVATE_KEY"] } });
|
|
148
148
|
const { pair, secret } = getPairAndSecretForSiteKey(config.account.secret, siteKey);
|
|
149
|
-
const verified = await verify(new ProsopoServer(config, pair), verifyType, verifyEndpoint, token, secret, req.headers["x-client-ip"]?.toString() || NO_IP);
|
|
149
|
+
const verified = await verify(new ProsopoServer(config, pair), verifyType, verifyEndpoint, token, secret, req.headers["x-client-ip"]?.toString() || NO_IP, void 0, req.body[ApiParams.clientSessionId]);
|
|
150
150
|
logger.info(() => ({ data: { verified } }));
|
|
151
151
|
if (verified) {
|
|
152
152
|
if (hashPassword(`${req.body.password}${dbUser.salt}`) !== dbUser.password) return res.status(401).json({ message: "invalid credentials" });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/controllers/auth.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACN,SAAS,EACT,WAAW,EAEX,kBAAkB,GAGlB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEnC,OAAO,GAAwB,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;AAE/D,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,KAAK,CACjD,CAAC,CAAC,MAAM,CAAC;IACR,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;IACzB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CACF,CAAC;AAEF,SAAS,YAAY,CAAC,QAAgB;IACrC,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,KAAK,GAAG,OAAO,CAAC;AAStB,MAAM,0BAA0B,GAAG,CAClC,UAAkB,EAClB,OAAe,EACyB,EAAE;IAC1C,IAAI,IAA6B,CAAC;IAClC,IAAI,MAAM,GAAG,UAAU,CAAC;IAExB,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvB,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAClB,GAAG,EAAE,uEAAuE;YAC5E,IAAI,EAAE;gBACL,cAAc,EAAE,IAAI,EAAE,OAAO;gBAC7B,OAAO;aACP;SACD,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,MAAM,WAAW,IAAI;QACzB,WAAW,CAAC,GAAG;QACf,WAAW,CAAC,KAAK;QACjB,WAAW,CAAC,YAAY;QACxB,WAAW,CAAC,MAAM;KAClB,EAAE,CAAC;QACH,MAAM,SAAS,GAAG,GAAG,UAAU,KAAK,WAAW,EAAE,CAAC;QAClD,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAClB,GAAG,EAAE,eAAe;YACpB,IAAI,EAAE;gBACL,WAAW;gBACX,cAAc,EAAE,IAAI,EAAE,OAAO;gBAC7B,OAAO;aACP;SACD,CAAC,CAAC,CAAC;QACJ,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,GAAG,SAAS,CAAC;YACnB,MAAM;QACP,CAAC;IACF,CAAC;IAED,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACd,8DAA8D,OAAO,cAAc,IAAI,EAAE,OAAO,EAAE,CAClG,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,KAAK,EACxB,EAAU,EACV,KAAsB,EACtB,MAAc,EACd,cAAsB,EACtB,KAAc,EACb,EAAE;IAEH,MAAM,IAAI,GAA2B;QACpC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK;QACxB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM;QAC1B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC;IAEF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAClB,IAAI,EAAE;YACL,IAAI;SACJ;KACD,CAAC,CAAC,CAAC;IAEJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,cAAc,EAAE;QAC5C,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC1B,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,KAAK,EACnB,aAA4B,EAC5B,UAAkB,EAClB,cAAsB,EACtB,KAAsB,EACtB,MAAc,EACd,EAAU,EACV,KAAc,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/controllers/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -143,12 +143,12 @@ describe("signup", () => {
|
|
|
143
143
|
body: signupBody(),
|
|
144
144
|
headers: { "x-client-ip": "203.0.113.9" },
|
|
145
145
|
}), responseStub().response, next);
|
|
146
|
-
expect(mocks.isVerified).toHaveBeenCalledWith("0xtoken", "203.0.113.9", "user@example.com");
|
|
146
|
+
expect(mocks.isVerified).toHaveBeenCalledWith("0xtoken", "203.0.113.9", "user@example.com", undefined);
|
|
147
147
|
});
|
|
148
148
|
test("falls back to localhost when no IP header is present", async () => {
|
|
149
149
|
const { connection } = connectionWith(userModel({}));
|
|
150
150
|
await signup(connection, serverConfig(), VERIFY_ENDPOINT, "local", request({ body: signupBody() }), responseStub().response, next);
|
|
151
|
-
expect(mocks.isVerified).toHaveBeenCalledWith("0xtoken", "127.0.0.1", "user@example.com");
|
|
151
|
+
expect(mocks.isVerified).toHaveBeenCalledWith("0xtoken", "127.0.0.1", "user@example.com", undefined);
|
|
152
152
|
});
|
|
153
153
|
});
|
|
154
154
|
describe("signup: matching the site key to a keyring pair", () => {
|
|
@@ -294,7 +294,7 @@ describe("login", () => {
|
|
|
294
294
|
const user = await storedUser();
|
|
295
295
|
const { connection } = connectionWith(userModel({ found: user }));
|
|
296
296
|
await login(connection, serverConfig(), VERIFY_ENDPOINT, "local", request({ body: signupBody() }), responseStub().response);
|
|
297
|
-
expect(mocks.isVerified).toHaveBeenLastCalledWith("0xtoken", "NO_IP", undefined);
|
|
297
|
+
expect(mocks.isVerified).toHaveBeenLastCalledWith("0xtoken", "NO_IP", undefined, undefined);
|
|
298
298
|
});
|
|
299
299
|
test("passes the caller's IP through", async () => {
|
|
300
300
|
const user = await storedUser();
|
|
@@ -303,7 +303,16 @@ describe("login", () => {
|
|
|
303
303
|
body: signupBody(),
|
|
304
304
|
headers: { "x-client-ip": "203.0.113.9" },
|
|
305
305
|
}), responseStub().response);
|
|
306
|
-
expect(mocks.isVerified).toHaveBeenLastCalledWith("0xtoken", "203.0.113.9", undefined);
|
|
306
|
+
expect(mocks.isVerified).toHaveBeenLastCalledWith("0xtoken", "203.0.113.9", undefined, undefined);
|
|
307
|
+
});
|
|
308
|
+
test("forwards the caller's clientSessionId to the provider", async () => {
|
|
309
|
+
const user = await storedUser();
|
|
310
|
+
const { connection } = connectionWith(userModel({ found: user }));
|
|
311
|
+
await login(connection, serverConfig(), VERIFY_ENDPOINT, "local", request({
|
|
312
|
+
body: { ...signupBody(), clientSessionId: "bumblebee-abc" },
|
|
313
|
+
headers: { "x-client-ip": "203.0.113.9" },
|
|
314
|
+
}), responseStub().response);
|
|
315
|
+
expect(mocks.isVerified).toHaveBeenLastCalledWith("0xtoken", "203.0.113.9", undefined, "bumblebee-abc");
|
|
307
316
|
});
|
|
308
317
|
test("refuses to run without a site private key", async () => {
|
|
309
318
|
const user = await storedUser();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.unit.test.js","sourceRoot":"","sources":["../../src/tests/auth.unit.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.unit.test.js","sourceRoot":"","sources":["../../src/tests/auth.unit.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prosopo/client-example-server",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.148",
|
|
4
4
|
"description": "Backend for client-example",
|
|
5
5
|
"main": "dist/app.js",
|
|
6
6
|
"types": "dist/app.d.ts",
|
|
@@ -49,12 +49,12 @@
|
|
|
49
49
|
"@polkadot/util": "13.5.7",
|
|
50
50
|
"@polkadot/util-crypto": "13.5.7",
|
|
51
51
|
"@prosopo/common": "3.1.52",
|
|
52
|
-
"@prosopo/database": "4.0.
|
|
52
|
+
"@prosopo/database": "4.0.22",
|
|
53
53
|
"@prosopo/logger": "2.0.7",
|
|
54
54
|
"@prosopo/dotenv": "3.0.53",
|
|
55
|
-
"@prosopo/keyring": "2.9.
|
|
56
|
-
"@prosopo/server": "2.11.
|
|
57
|
-
"@prosopo/types": "5.
|
|
55
|
+
"@prosopo/keyring": "2.9.80",
|
|
56
|
+
"@prosopo/server": "2.11.1",
|
|
57
|
+
"@prosopo/types": "5.5.0",
|
|
58
58
|
"@prosopo/util": "3.3.7",
|
|
59
59
|
"@typegoose/auto-increment": "4.13.0",
|
|
60
60
|
"cors": "2.8.6",
|
package/src/controllers/auth.ts
CHANGED
|
@@ -147,6 +147,10 @@ const verify = async (
|
|
|
147
147
|
secret: string,
|
|
148
148
|
ip: string,
|
|
149
149
|
email?: string,
|
|
150
|
+
// The session id the widget was rendered with. Forwarded so the provider
|
|
151
|
+
// can confirm the token was earned in this same session; omitted, no
|
|
152
|
+
// correlation is attempted.
|
|
153
|
+
clientSessionId?: string,
|
|
150
154
|
) => {
|
|
151
155
|
if (verifyType === "api") {
|
|
152
156
|
// verify using the API endpoint
|
|
@@ -172,7 +176,12 @@ const verify = async (
|
|
|
172
176
|
return response.verified;
|
|
173
177
|
}
|
|
174
178
|
// verify using the TypeScript library
|
|
175
|
-
const verified = await prosopoServer.isVerified(
|
|
179
|
+
const verified = await prosopoServer.isVerified(
|
|
180
|
+
token,
|
|
181
|
+
ip,
|
|
182
|
+
email,
|
|
183
|
+
clientSessionId,
|
|
184
|
+
);
|
|
176
185
|
logger.info(() => ({
|
|
177
186
|
data: {
|
|
178
187
|
verified,
|
|
@@ -225,6 +234,7 @@ const signup = async (
|
|
|
225
234
|
secret,
|
|
226
235
|
req.headers["x-client-ip"]?.toString() || "127.0.0.1",
|
|
227
236
|
email,
|
|
237
|
+
req.body[ApiParams.clientSessionId],
|
|
228
238
|
);
|
|
229
239
|
|
|
230
240
|
if (verified === true) {
|
|
@@ -303,6 +313,11 @@ const login = async (
|
|
|
303
313
|
token,
|
|
304
314
|
secret,
|
|
305
315
|
req.headers["x-client-ip"]?.toString() || NO_IP,
|
|
316
|
+
// login carries no email; the session id still has to reach
|
|
317
|
+
// the provider or a widget rendered with data-sessionid is
|
|
318
|
+
// silently unverified against its session.
|
|
319
|
+
undefined,
|
|
320
|
+
req.body[ApiParams.clientSessionId],
|
|
306
321
|
);
|
|
307
322
|
|
|
308
323
|
logger.info(() => ({
|
|
@@ -311,6 +311,7 @@ describe("signup", () => {
|
|
|
311
311
|
"0xtoken",
|
|
312
312
|
"203.0.113.9",
|
|
313
313
|
"user@example.com",
|
|
314
|
+
undefined,
|
|
314
315
|
);
|
|
315
316
|
});
|
|
316
317
|
|
|
@@ -329,6 +330,7 @@ describe("signup", () => {
|
|
|
329
330
|
"0xtoken",
|
|
330
331
|
"127.0.0.1",
|
|
331
332
|
"user@example.com",
|
|
333
|
+
undefined,
|
|
332
334
|
);
|
|
333
335
|
});
|
|
334
336
|
});
|
|
@@ -633,6 +635,7 @@ describe("login", () => {
|
|
|
633
635
|
"0xtoken",
|
|
634
636
|
"NO_IP",
|
|
635
637
|
undefined,
|
|
638
|
+
undefined,
|
|
636
639
|
);
|
|
637
640
|
});
|
|
638
641
|
|
|
@@ -654,6 +657,32 @@ describe("login", () => {
|
|
|
654
657
|
"0xtoken",
|
|
655
658
|
"203.0.113.9",
|
|
656
659
|
undefined,
|
|
660
|
+
undefined,
|
|
661
|
+
);
|
|
662
|
+
});
|
|
663
|
+
|
|
664
|
+
test("forwards the caller's clientSessionId to the provider", async () => {
|
|
665
|
+
const user = await storedUser();
|
|
666
|
+
const { connection } = connectionWith(userModel({ found: user }));
|
|
667
|
+
await login(
|
|
668
|
+
connection,
|
|
669
|
+
serverConfig(),
|
|
670
|
+
VERIFY_ENDPOINT,
|
|
671
|
+
"local",
|
|
672
|
+
request({
|
|
673
|
+
body: { ...signupBody(), clientSessionId: "bumblebee-abc" },
|
|
674
|
+
headers: { "x-client-ip": "203.0.113.9" },
|
|
675
|
+
}),
|
|
676
|
+
responseStub().response,
|
|
677
|
+
);
|
|
678
|
+
// Positional: isVerified(token, ip, email, clientSessionId). Without
|
|
679
|
+
// this the widget can be rendered with data-sessionid and the dapp
|
|
680
|
+
// server silently drops it at verify, so no correlation happens.
|
|
681
|
+
expect(mocks.isVerified).toHaveBeenLastCalledWith(
|
|
682
|
+
"0xtoken",
|
|
683
|
+
"203.0.113.9",
|
|
684
|
+
undefined,
|
|
685
|
+
"bumblebee-abc",
|
|
657
686
|
);
|
|
658
687
|
});
|
|
659
688
|
|