diff options
| author | Mar0xy <marie@kaifa.ch> | 2023-11-03 15:35:12 +0100 |
|---|---|---|
| committer | Mar0xy <marie@kaifa.ch> | 2023-11-03 15:35:12 +0100 |
| commit | 7c480424a60b9ebed52f5f928fb915af659110f0 (patch) | |
| tree | f88524c83bde2611ae5bc95bf66769ca83a000ee /packages/backend/src/server/api/SignupApiService.ts | |
| parent | Merge branch 'develop' of https://github.com/transfem-org/Sharkey into develop (diff) | |
| parent | Update CHANGELOG.md (diff) | |
| download | sharkey-7c480424a60b9ebed52f5f928fb915af659110f0.tar.gz sharkey-7c480424a60b9ebed52f5f928fb915af659110f0.tar.bz2 sharkey-7c480424a60b9ebed52f5f928fb915af659110f0.zip | |
merge: upstream
Diffstat (limited to 'packages/backend/src/server/api/SignupApiService.ts')
| -rw-r--r-- | packages/backend/src/server/api/SignupApiService.ts | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/packages/backend/src/server/api/SignupApiService.ts b/packages/backend/src/server/api/SignupApiService.ts index d3ece10859..f0b3961f94 100644 --- a/packages/backend/src/server/api/SignupApiService.ts +++ b/packages/backend/src/server/api/SignupApiService.ts @@ -149,7 +149,20 @@ export class SignupApiService { return; } - if (ticket.usedAt) { + // メアド認証が有効の場合 + if (instance.emailRequiredForSignup) { + // メアド認証済みならエラー + if (ticket.usedBy) { + reply.code(400); + return; + } + + // 認証しておらず、メール送信から30分以内ならエラー + if (ticket.usedAt && ticket.usedAt.getTime() + (1000 * 60 * 30) > Date.now()) { + reply.code(400); + return; + } + } else if (ticket.usedAt) { reply.code(400); return; } @@ -273,6 +286,10 @@ export class SignupApiService { try { const pendingUser = await this.userPendingsRepository.findOneByOrFail({ code }); + if (this.idService.parse(pendingUser.id).date.getTime() + (1000 * 60 * 30) < Date.now()) { + throw new FastifyReplyError(400, 'EXPIRED'); + } + const { account, secret } = await this.signupService.signup({ username: pendingUser.username, passwordHash: pendingUser.password, |