send verify email after account has been registered

This commit is contained in:
MaysWind
2023-09-09 21:28:17 +08:00
parent 48bf8dbc5b
commit d2297b882f
3 changed files with 20 additions and 2 deletions
+14
View File
@@ -78,6 +78,20 @@ func (a *UsersApi) UserRegisterHandler(c *core.Context) (interface{}, *errs.Erro
User: user.ToUserBasicInfo(),
}
if settings.Container.Current.EnableUserVerifyEmail && settings.Container.Current.EnableSMTP {
token, _, err := a.tokens.CreateEmailVerifyToken(c, user)
if err != nil {
log.ErrorfWithRequestId(c, "[users.UserRegisterHandler] failed to create email verify token for user \"uid:%d\", because %s", user.Uid, err.Error())
} else {
err = a.users.SendVerifyEmail(user, token, c.GetClientLocale())
if err != nil {
log.WarnfWithRequestId(c, "[users.UserRegisterHandler] cannot send verify email to \"%s\", because %s", user.Email, err.Error())
}
}
}
if authResp.NeedVerifyEmail {
return authResp, nil
}
+2
View File
@@ -1,4 +1,5 @@
const defaultTimeout = 10000; // 10s
const requestVerifyEmailTimeout = 30000; // 30s
const requestForgetPasswordTimeout = 30000; // 30s
const baseApiUrlPath = '/api';
const baseQrcodePath = '/qrcode';
@@ -10,6 +11,7 @@ const amapJavascriptUrl = 'https://webapi.amap.com/maps?v=2.0';
export default {
defaultTimeout: defaultTimeout,
requestVerifyEmailTimeout: requestVerifyEmailTimeout,
requestForgetPasswordTimeout: requestForgetPasswordTimeout,
baseApiUrlPath: baseApiUrlPath,
baseQrcodePath: baseQrcodePath,
+4 -2
View File
@@ -100,6 +100,8 @@ export default {
language,
defaultCurrency,
firstDayOfWeek
}, {
timeout: api.requestVerifyEmailTimeout
});
},
verifyEmail: ({ token, requestNewToken }) => {
@@ -115,7 +117,7 @@ export default {
email,
password
}, {
timeout: api.requestForgetPasswordTimeout
timeout: api.requestVerifyEmailTimeout
});
},
requestResetPassword: ({ email }) => {
@@ -191,7 +193,7 @@ export default {
},
resendVerifyEmailByLoginedUser: () => {
return axios.post('v1/users/verify_email/resend.json', {}, {
timeout: api.requestForgetPasswordTimeout
timeout: api.requestVerifyEmailTimeout
});
},
get2FAStatus: () => {