@social-mail/social-mail-web-server 1.7.738 → 1.7.739
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/dist/server/services/captcha/CaptchaService.d.ts +3 -1
- package/dist/server/services/captcha/CaptchaService.d.ts.map +1 -1
- package/dist/server/services/captcha/CaptchaService.js +13 -3
- package/dist/server/services/captcha/CaptchaService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/wwwroot/routes/api/users/captcha/post.d.ts +2 -2
- package/dist/wwwroot/routes/api/users/captcha/post.d.ts.map +1 -1
- package/dist/wwwroot/routes/api/users/captcha/post.js.map +1 -1
- package/package.json +1 -1
- package/src/server/services/captcha/CaptchaService.ts +14 -4
- package/src/wwwroot/routes/api/users/captcha/post.tsx +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Page from "@entity-access/server-pages/dist/Page.js";
|
|
2
2
|
import CaptchaService from "../../../../../server/services/captcha/CaptchaService.js";
|
|
3
|
-
import
|
|
4
|
-
export default class extends Page<
|
|
3
|
+
import VerificationToken from "../../../../../server/model/entities/VerificationToken.js";
|
|
4
|
+
export default class extends Page<VerificationToken> {
|
|
5
5
|
captchaService: CaptchaService;
|
|
6
6
|
run(): Promise<import("@entity-access/server-pages/dist/Content.js").default>;
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/users/captcha/post.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAE5D,OAAO,cAAc,MAAM,0DAA0D,CAAC;AACtF,OAAO,
|
|
1
|
+
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/users/captcha/post.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAE5D,OAAO,cAAc,MAAM,0DAA0D,CAAC;AACtF,OAAO,iBAAiB,MAAM,2DAA2D,CAAC;AAE1F,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI,CAAC,iBAAiB,CAAC;IAGhD,cAAc,EAAE,cAAc,CAAC;IAEzB,GAAG;CAOZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/users/captcha/post.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,cAAc,MAAM,0DAA0D,CAAC;AAGtF,MAAM,CAAC,OAAO,gBAAO,SAAQ,
|
|
1
|
+
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/users/captcha/post.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,cAAc,MAAM,0DAA0D,CAAC;AAGtF,MAAM,CAAC,OAAO,gBAAO,SAAQ,IAAuB;IAKhD,KAAK,CAAC,GAAG;QAEL,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhC,CAAC;CAEJ;AATG;IADC,MAAM;8BACS,cAAc;iDAAC"}
|
package/package.json
CHANGED
|
@@ -10,6 +10,8 @@ import { randomUUID } from "crypto";
|
|
|
10
10
|
import BaseDiskCache from "../../../common/BaseDiskCache.js";
|
|
11
11
|
import { globalEnv } from "../../../common/globalEnv.js";
|
|
12
12
|
import FileSize from "../../../common/FileSize.js";
|
|
13
|
+
import VerificationToken from "../../model/entities/VerificationToken.js";
|
|
14
|
+
import SessionSecurity from "@entity-access/server-pages/dist/services/SessionSecurity.js";
|
|
13
15
|
|
|
14
16
|
const captchaCache = "/cache/captcha";
|
|
15
17
|
ensureDir(captchaCache);
|
|
@@ -47,12 +49,20 @@ export default class CaptchaService {
|
|
|
47
49
|
@Inject
|
|
48
50
|
private tfs: TempFileService;
|
|
49
51
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
@Inject
|
|
53
|
+
private ss: SessionSecurity;
|
|
54
|
+
|
|
55
|
+
async verify(v: VerificationToken) {
|
|
56
|
+
const { verificationID } = this.ss.decryptKey((v as any).$key);
|
|
57
|
+
const { verifyCode } = v;
|
|
58
|
+
const vt = await this.db.verificationTokens.statements.select({}, { verificationID });
|
|
59
|
+
if (vt.verified) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
if (vt?.code !== verifyCode) {
|
|
54
63
|
throw new EntityAccessError(`Invalid code`);
|
|
55
64
|
}
|
|
65
|
+
await this.db.verificationTokens.statements.update({ verified: true}, { verificationID });
|
|
56
66
|
return true;
|
|
57
67
|
}
|
|
58
68
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import Page from "@entity-access/server-pages/dist/Page.js";
|
|
2
2
|
import Inject from "@entity-access/entity-access/dist/di/di.js";
|
|
3
3
|
import CaptchaService from "../../../../../server/services/captcha/CaptchaService.js";
|
|
4
|
-
import
|
|
4
|
+
import VerificationToken from "../../../../../server/model/entities/VerificationToken.js";
|
|
5
5
|
|
|
6
|
-
export default class extends Page<
|
|
6
|
+
export default class extends Page<VerificationToken> {
|
|
7
7
|
|
|
8
8
|
@Inject
|
|
9
9
|
captchaService: CaptchaService;
|