PR #458 - code improvement required by @maxxer

This commit is contained in:
Antonio Cordeddu
2022-08-09 16:56:54 +02:00
parent 97a2de2f48
commit 52f81d431e
5 changed files with 18 additions and 20 deletions

View File

@ -53,6 +53,7 @@ class TwoFactorEmailCodeGeneratorService implements ServiceInterface
// check the sending emailYii::t(
if(!$mailService->run()){
Yii::$app->session->addFlash('error', Yii::t('usuario','The email sending failed, please check your configuration.'));
return false;
}else{
// put key in session
Yii::$app->session->set("email_code_time", date('Y-m-d H:i:s'));

View File

@ -65,21 +65,20 @@ class TwoFactorSmsCodeGeneratorService implements ServiceInterface
$user = $this->user;
$mobilePhone=$user->getAuthTfMobilePhone();
if( !(null===$mobilePhone) && $mobilePhone!='' ){
// send sms
$success = $this->smsSender->send($mobilePhone, $code);
if($success){
// put key in session
Yii::$app->session->set("sms_code_time", date('Y-m-d H:i:s'));
Yii::$app->session->set("sms_code", $code);
}else{
Yii::$app->session->addFlash('error', Yii::t('usuario','The sms sending failed, please check your configuration.'));
return false;
}
} else{
if( null===$mobilePhone || $mobilePhone=='' ){
Yii::$app->session->addFlash('error', Yii::t('usuario','Mobile phone not found, please check your profile'));
return false;
}
// send sms
$success = $this->smsSender->send($mobilePhone, $code);
if($success){
// put key in session
Yii::$app->session->set("sms_code_time", date('Y-m-d H:i:s'));
Yii::$app->session->set("sms_code", $code);
}else{
Yii::$app->session->addFlash('error', Yii::t('usuario','The sms sending failed, please check your configuration.'));
return false;
}
return true;
}
}

View File

@ -60,8 +60,9 @@ class TwoFactorEmailValidator extends TwoFactorCodeValidator
$validators = $module->twoFactorAuthenticationValidators;
$codeDurationTime = ArrayHelper::getValue($validators,$this->type.'.codeDurationTime', 300);
if($interval > $codeDurationTime )
if($interval > $codeDurationTime ){
return false;
}
$emailCode = Yii::$app->session->get("email_code");
return $this->code==$emailCode;
}

View File

@ -59,8 +59,9 @@ class TwoFactorTextMessageValidator extends TwoFactorCodeValidator
$validators = $module->twoFactorAuthenticationValidators;
$codeDurationTime = ArrayHelper::getValue($validators,$this->type.'.codeDurationTime', 300);
if($interval > $codeDurationTime )
if($interval > $codeDurationTime ){
return false;
}
$smsCode = Yii::$app->session->get("sms_code");
return $this->code==$smsCode;
}

View File

@ -126,6 +126,7 @@ return [
'Insert' => 'Inserisci',
'Insert the code you received by SMS.' => 'Inserisci il codice ricevuto tramite SMS.',
'Insert the code you received by email.' => 'Inserisci il codice ricevuto tramite email.',
'Insert the mobile phone number where you want to receive text message in international format' => 'Inserisci il numero di telefono sul quale ricevere il messaggio di testo nel formato internazionale',
'Invalid login or password' => 'Utente o password non validi',
'Invalid or expired link' => 'Collegamento non valido o scaduto',
'Invalid password' => 'Password non valida',
@ -141,6 +142,7 @@ return [
'Login' => 'Accedi',
'Logout' => 'Esci',
'Manage users' => 'Gestisci gli utenti',
'Mobile phone not found, please check your profile' => 'Il numero di telefono non è stato trovato. Verifica il tuo profilo',
'Mobile phone number' => 'Numero di cellulare',
'Mobile phone number successfully enabled.' => 'Il numero di cellulare è stato abilitato',
'Name' => 'Nome',
@ -295,13 +297,7 @@ return [
'{0, date, MMM dd, YYYY HH:mm}' => '{0, date, MMM dd, YYYY HH:mm}',
'{0, date, MMMM dd, YYYY HH:mm}' => '{0, date, dd MMMM YYYY HH:mm}',
'{0} cannot be blank.' => '{0} non può essere vuoto.',
'Insert the mobile phone number where you want to receive text message in international format' => '',
'Mobile phone not found, please check your profile' => '',
'This is the code to insert to enable two factor authentication' => '',
'An email has been sent with instructions for resetting your password' => '@@È stata inviata un\'email con le istruzioni per azzerare la tua password@@',
'Insert the mobile phone number where you want to receive text message in international format.' => '@@Inserisci il numero di telefono sul quale ricevere il messaggio di testo nel formato internazionale@@',
'Insert the mobile phone number where you want to receive the SMS.' => '@@Inserisci il numero del cellulare sul quale ricevere l\'SMS.@@',
'Mobile phone number not registered.' => '@@L\'attivazione del numero di cellulare non è riuscita@@',
'Now you can resume the login process' => '@@Ora puoi riprendere il processo di autenticazione@@',
'Send new code' => '@@Invia un nuovo codice@@',
];