Stop requiring verifyUserEmails for password reset functionality (#2166)

This commit is contained in:
Tyler Brock
2016-06-28 19:25:44 -07:00
committed by Florent Vilmart
parent a73f150a1a
commit 799e59618c
3 changed files with 14 additions and 13 deletions

View File

@@ -56,17 +56,17 @@ export class Config {
static validate({
verifyUserEmails,
userController,
appName,
publicServerURL,
revokeSessionOnPasswordReset,
expireInactiveSessions,
sessionLength,
}) {
this.validateEmailConfiguration({
verifyUserEmails: verifyUserEmails,
appName: appName,
publicServerURL: publicServerURL
})
const emailAdapter = userController.adapter;
if (verifyUserEmails) {
this.validateEmailConfiguration({emailAdapter, appName, publicServerURL});
}
if (typeof revokeSessionOnPasswordReset !== 'boolean') {
throw 'revokeSessionOnPasswordReset must be a boolean value';
@@ -81,13 +81,13 @@ export class Config {
this.validateSessionConfiguration(sessionLength, expireInactiveSessions);
}
static validateEmailConfiguration({verifyUserEmails, appName, publicServerURL}) {
if (verifyUserEmails) {
static validateEmailConfiguration({emailAdapter, appName, publicServerURL}) {
if (emailAdapter) {
if (typeof appName !== 'string') {
throw 'An app name is required when using email verification.';
throw 'An app name is required for e-mail verification and password resets.';
}
if (typeof publicServerURL !== 'string') {
throw 'A public server url is required when using email verification.';
throw 'A public server url is required for e-mail verification and password resets.';
}
}
}

View File

@@ -158,7 +158,7 @@ export class UsersRouter extends ClassesRouter {
handleResetRequest(req) {
try {
Config.validateEmailConfiguration({
verifyUserEmails: true, //A bit of a hack, as this isn't the intended purpose of this parameter
emailAdapter: req.config.userController,
appName: req.config.appName,
publicServerURL: req.config.publicServerURL,
});