diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 7b344ee5b..ead0253d0 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.15.13", + "version": "2.15.14", "bin": "bin/hydrooj.js", "main": "dist/loader.js", "typings": "dist/loader.d.ts", diff --git a/packages/hydrooj/src/handler/home.ts b/packages/hydrooj/src/handler/home.ts index 5118b24c7..dc4f97746 100644 --- a/packages/hydrooj/src/handler/home.ts +++ b/packages/hydrooj/src/handler/home.ts @@ -158,7 +158,7 @@ class HomeSecurityHandler extends Handler { if (udoc) throw new UserAlreadyExistError(email); const [code] = await token.add( token.TYPE_CHANGEMAIL, - system.get('changemail_token_expire_seconds'), + system.get('session.unsaved_expire_seconds'), { uid: this.user._id, email }, ); const m = await this.renderHTML('user_changemail_mail.html', { diff --git a/packages/hydrooj/src/handler/user.ts b/packages/hydrooj/src/handler/user.ts index f6266ffc4..008bc0c9b 100644 --- a/packages/hydrooj/src/handler/user.ts +++ b/packages/hydrooj/src/handler/user.ts @@ -97,10 +97,10 @@ class UserRegisterWithCodeHandler extends Handler { domainId: string, password: string, verify: string, uname: string, code: string, ) { - const { mail } = await token.get(code, token.TYPE_REGISTRATION); - if (!mail) throw new InvalidTokenError(token.TYPE_REGISTRATION, code); + const tdoc = await token.get(code, token.TYPE_REGISTRATION); + if (!tdoc || !tdoc.mail) throw new InvalidTokenError(token.TYPE_REGISTRATION, code); if (password !== verify) throw new VerifyPasswordError(); - const uid = await user.create(mail, uname, password, undefined, this.request.ip); + const uid = await user.create(tdoc.mail, uname, password, undefined, this.request.ip); await token.del(code, token.TYPE_REGISTRATION); this.session.uid = uid; this.session.scpoe = PERM.PERM_ALL; diff --git a/packages/hydrooj/src/interface.ts b/packages/hydrooj/src/interface.ts index 03dff4309..65f307577 100644 --- a/packages/hydrooj/src/interface.ts +++ b/packages/hydrooj/src/interface.ts @@ -36,9 +36,6 @@ export interface SystemKeys { 'session.secure': boolean, 'session.expire_seconds': number, 'session.unsaved_expire_seconds': number, - 'lostpass_token_expire_seconds': number, - 'registration_token_expire_seconds': number, - 'changemail_token_expire_seconds': number, 'user.quota': number, }