PHP-CS-Fixer run
This commit is contained in:
@ -357,6 +357,7 @@ class AdminController extends Controller
|
||||
|
||||
/**
|
||||
* Display list session history
|
||||
* @param mixed $id
|
||||
*/
|
||||
public function actionSessionHistory($id)
|
||||
{
|
||||
@ -376,6 +377,7 @@ class AdminController extends Controller
|
||||
|
||||
/**
|
||||
* Terminate all session user
|
||||
* @param mixed $id
|
||||
*/
|
||||
public function actionTerminateSessions($id)
|
||||
{
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
/*
|
||||
* This file is part of the 2amigos/yii2-usuario project.
|
||||
*
|
||||
* (c) 2amigOS! <http://2amigos.us/>
|
||||
@ -15,6 +15,7 @@ use Da\User\Contracts\AuthClientInterface;
|
||||
use Da\User\Event\FormEvent;
|
||||
use Da\User\Event\UserEvent;
|
||||
use Da\User\Form\LoginForm;
|
||||
use Da\User\Model\User;
|
||||
use Da\User\Query\SocialNetworkAccountQuery;
|
||||
use Da\User\Service\SocialNetworkAccountConnectService;
|
||||
use Da\User\Service\SocialNetworkAuthenticateService;
|
||||
@ -22,7 +23,6 @@ use Da\User\Traits\ContainerAwareTrait;
|
||||
use Da\User\Traits\ModuleAwareTrait;
|
||||
use Da\User\Validator\TwoFactorEmailValidator;
|
||||
use Da\User\Validator\TwoFactorTextMessageValidator;
|
||||
use Da\User\Model\User;
|
||||
use Yii;
|
||||
use yii\authclient\AuthAction;
|
||||
use yii\base\InvalidConfigException;
|
||||
@ -30,10 +30,10 @@ use yii\base\InvalidParamException;
|
||||
use yii\base\Module;
|
||||
use yii\filters\AccessControl;
|
||||
use yii\filters\VerbFilter;
|
||||
use yii\helpers\ArrayHelper;
|
||||
use yii\web\Controller;
|
||||
use yii\web\Response;
|
||||
use yii\widgets\ActiveForm;
|
||||
use yii\helpers\ArrayHelper;
|
||||
|
||||
class SecurityController extends Controller
|
||||
{
|
||||
@ -121,12 +121,12 @@ class SecurityController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* @var LoginForm $form
|
||||
* @var LoginForm $form
|
||||
*/
|
||||
$form = $this->make(LoginForm::class);
|
||||
|
||||
/**
|
||||
* @var FormEvent $event
|
||||
* @var FormEvent $event
|
||||
*/
|
||||
$event = $this->make(FormEvent::class, [$form]);
|
||||
|
||||
@ -144,7 +144,7 @@ class SecurityController extends Controller
|
||||
if ($form->load(Yii::$app->request->post())) {
|
||||
if ($this->module->enableTwoFactorAuthentication && $form->validate()) {
|
||||
$user = $form->getUser();
|
||||
|
||||
|
||||
if ($user->auth_tf_enabled) {
|
||||
Yii::$app->session->set('credentials', ['login' => $form->login, 'pwd' => $form->password]);
|
||||
return $this->redirect(['confirm']);
|
||||
@ -162,7 +162,7 @@ class SecurityController extends Controller
|
||||
|
||||
return $this->goBack();
|
||||
}
|
||||
$this->trigger(FormEvent::EVENT_FAILED_LOGIN, $event);
|
||||
$this->trigger(FormEvent::EVENT_FAILED_LOGIN, $event);
|
||||
}
|
||||
|
||||
return $this->render(
|
||||
@ -186,7 +186,7 @@ class SecurityController extends Controller
|
||||
|
||||
$credentials = Yii::$app->session->get('credentials');
|
||||
/**
|
||||
* @var LoginForm $form
|
||||
* @var LoginForm $form
|
||||
*/
|
||||
$form = $this->make(LoginForm::class);
|
||||
$form->login = $credentials['login'];
|
||||
@ -194,7 +194,7 @@ class SecurityController extends Controller
|
||||
$form->setScenario('2fa');
|
||||
|
||||
/**
|
||||
* @var FormEvent $event
|
||||
* @var FormEvent $event
|
||||
*/
|
||||
$event = $this->make(FormEvent::class, [$form]);
|
||||
|
||||
@ -216,26 +216,24 @@ class SecurityController extends Controller
|
||||
|
||||
return $this->goBack();
|
||||
}
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
$module = Yii::$app->getModule('user');
|
||||
$validators = $module->twoFactorAuthenticationValidators;
|
||||
$credentials=Yii::$app->session->get('credentials');
|
||||
$login= $credentials['login'];
|
||||
$user = User::findOne(['email'=>$login]);
|
||||
if( $user==null){
|
||||
$user = User::findOne(['username'=>$login]);
|
||||
$validators = $module->twoFactorAuthenticationValidators;
|
||||
$credentials = Yii::$app->session->get('credentials');
|
||||
$login = $credentials['login'];
|
||||
$user = User::findOne(['email' => $login]);
|
||||
if ($user == null) {
|
||||
$user = User::findOne(['username' => $login]);
|
||||
}
|
||||
$tfType = $user->getAuthTfType();
|
||||
|
||||
$class = ArrayHelper::getValue($validators,$tfType.'.class');
|
||||
|
||||
$class = ArrayHelper::getValue($validators, $tfType.'.class');
|
||||
$object = $this
|
||||
->make($class, [$user, null, $this->module->twoFactorAuthenticationCycles]);
|
||||
|
||||
$object->generateCode();
|
||||
|
||||
}
|
||||
|
||||
|
||||
return $this->render(
|
||||
'confirm',
|
||||
[
|
||||
@ -273,5 +271,4 @@ class SecurityController extends Controller
|
||||
|
||||
$this->make(SocialNetworkAccountConnectService::class, [$this, $client])->run();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
/*
|
||||
* This file is part of the 2amigos/yii2-usuario project.
|
||||
*
|
||||
* (c) 2amigOS! <http://2amigos.us/>
|
||||
@ -29,8 +29,8 @@ use Da\User\Query\UserQuery;
|
||||
use Da\User\Search\SessionHistorySearch;
|
||||
use Da\User\Service\EmailChangeService;
|
||||
use Da\User\Service\SessionHistory\TerminateUserSessionsService;
|
||||
use Da\User\Service\TwoFactorQrCodeUriGeneratorService;
|
||||
use Da\User\Service\TwoFactorEmailCodeGeneratorService;
|
||||
use Da\User\Service\TwoFactorQrCodeUriGeneratorService;
|
||||
use Da\User\Service\TwoFactorSmsCodeGeneratorService;
|
||||
use Da\User\Traits\ContainerAwareTrait;
|
||||
use Da\User\Traits\ModuleAwareTrait;
|
||||
@ -453,7 +453,7 @@ class SettingsController extends Controller
|
||||
|
||||
public function actionTwoFactor($id)
|
||||
{
|
||||
$choice=Yii::$app->request->post('choice');
|
||||
$choice = Yii::$app->request->post('choice');
|
||||
/** @var User $user */
|
||||
$user = $this->userQuery->whereId($id)->one();
|
||||
|
||||
@ -470,7 +470,7 @@ class SettingsController extends Controller
|
||||
return $this->renderAjax('two-factor-email', ['id' => $id, 'code' => $emailCode]);
|
||||
case 'sms':
|
||||
// get mobile phone, if exists
|
||||
$mobilePhone=$user->getAuthTfMobilePhone();
|
||||
$mobilePhone = $user->getAuthTfMobilePhone();
|
||||
$smsCode = $this->make(TwoFactorSmsCodeGeneratorService::class, [$user])->run();
|
||||
return $this->renderAjax('two-factor-sms', ['id' => $id, 'code' => $smsCode, 'mobilePhone' => $mobilePhone]);
|
||||
}
|
||||
@ -564,6 +564,41 @@ class SettingsController extends Controller
|
||||
return $this->redirect(['session-history']);
|
||||
}
|
||||
|
||||
public function actionTwoFactorMobilePhone($id)
|
||||
{
|
||||
Yii::$app->response->format = Response::FORMAT_JSON;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @var User $user
|
||||
*/
|
||||
$user = $this->userQuery->whereId($id)->one();
|
||||
|
||||
if (null === $user) {
|
||||
return [
|
||||
'success' => false,
|
||||
'message' => Yii::t('usuario', 'User not found.')
|
||||
];
|
||||
}
|
||||
$mobilePhone = Yii::$app->request->get('mobilephone');
|
||||
$currentMobilePhone = $user->getAuthTfMobilePhone();
|
||||
$success = false;
|
||||
if ($currentMobilePhone == $mobilePhone) {
|
||||
$success = true;
|
||||
} else {
|
||||
$success = $user->updateAttributes(['auth_tf_mobile_phone' => $mobilePhone]);
|
||||
$success = $success && $this->make(TwoFactorSmsCodeGeneratorService::class, [$user])->run();
|
||||
}
|
||||
|
||||
return [
|
||||
'success' => $success,
|
||||
'message' => $success
|
||||
? Yii::t('usuario', 'Mobile phone number successfully enabled.')
|
||||
: Yii::t('usuario', 'Error while enabling SMS two factor authentication. Please reload the page.'),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @throws ForbiddenHttpException
|
||||
@ -593,39 +628,4 @@ class SettingsController extends Controller
|
||||
$account->delete();
|
||||
$this->trigger(SocialNetworkConnectEvent::EVENT_AFTER_DISCONNECT, $event);
|
||||
}
|
||||
|
||||
public function actionTwoFactorMobilePhone($id)
|
||||
{
|
||||
Yii::$app->response->format = Response::FORMAT_JSON;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @var User $user
|
||||
*/
|
||||
$user = $this->userQuery->whereId($id)->one();
|
||||
|
||||
if (null === $user) {
|
||||
return [
|
||||
'success' => false,
|
||||
'message' => Yii::t('usuario', 'User not found.')
|
||||
];
|
||||
}
|
||||
$mobilePhone = Yii::$app->request->get('mobilephone');
|
||||
$currentMobilePhone = $user->getAuthTfMobilePhone();
|
||||
$success=false;
|
||||
if ($currentMobilePhone==$mobilePhone) {
|
||||
$success=true;
|
||||
} else {
|
||||
$success = $user->updateAttributes(['auth_tf_mobile_phone' => $mobilePhone]);
|
||||
$success = $success && $this->make(TwoFactorSmsCodeGeneratorService::class, [$user])->run();
|
||||
}
|
||||
|
||||
return [
|
||||
'success' => $success,
|
||||
'message' => $success
|
||||
? Yii::t('usuario', 'Mobile phone number successfully enabled.')
|
||||
: Yii::t('usuario', 'Error while enabling SMS two factor authentication. Please reload the page.'),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user