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(), 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 { if authResp.NeedVerifyEmail {
return authResp, nil return authResp, nil
} }
+2
View File
@@ -1,4 +1,5 @@
const defaultTimeout = 10000; // 10s const defaultTimeout = 10000; // 10s
const requestVerifyEmailTimeout = 30000; // 30s
const requestForgetPasswordTimeout = 30000; // 30s const requestForgetPasswordTimeout = 30000; // 30s
const baseApiUrlPath = '/api'; const baseApiUrlPath = '/api';
const baseQrcodePath = '/qrcode'; const baseQrcodePath = '/qrcode';
@@ -10,6 +11,7 @@ const amapJavascriptUrl = 'https://webapi.amap.com/maps?v=2.0';
export default { export default {
defaultTimeout: defaultTimeout, defaultTimeout: defaultTimeout,
requestVerifyEmailTimeout: requestVerifyEmailTimeout,
requestForgetPasswordTimeout: requestForgetPasswordTimeout, requestForgetPasswordTimeout: requestForgetPasswordTimeout,
baseApiUrlPath: baseApiUrlPath, baseApiUrlPath: baseApiUrlPath,
baseQrcodePath: baseQrcodePath, baseQrcodePath: baseQrcodePath,
+4 -2
View File
@@ -100,6 +100,8 @@ export default {
language, language,
defaultCurrency, defaultCurrency,
firstDayOfWeek firstDayOfWeek
}, {
timeout: api.requestVerifyEmailTimeout
}); });
}, },
verifyEmail: ({ token, requestNewToken }) => { verifyEmail: ({ token, requestNewToken }) => {
@@ -115,7 +117,7 @@ export default {
email, email,
password password
}, { }, {
timeout: api.requestForgetPasswordTimeout timeout: api.requestVerifyEmailTimeout
}); });
}, },
requestResetPassword: ({ email }) => { requestResetPassword: ({ email }) => {
@@ -191,7 +193,7 @@ export default {
}, },
resendVerifyEmailByLoginedUser: () => { resendVerifyEmailByLoginedUser: () => {
return axios.post('v1/users/verify_email/resend.json', {}, { return axios.post('v1/users/verify_email/resend.json', {}, {
timeout: api.requestForgetPasswordTimeout timeout: api.requestVerifyEmailTimeout
}); });
}, },
get2FAStatus: () => { get2FAStatus: () => {