Реорганизована выдача JWT токенов

Добавлен механизм сохранения сессий и refresh_token
This commit is contained in:
ErickSkrauch
2016-05-30 02:44:17 +03:00
parent 98c01625d1
commit bdc96d82c1
34 changed files with 676 additions and 73 deletions

View File

@ -40,7 +40,7 @@ class AuthenticationController extends Controller {
public function actionLogin() {
$model = new LoginForm();
$model->load(Yii::$app->request->post());
if (($jwt = $model->login()) === false) {
if (($result = $model->login()) === false) {
$data = [
'success' => false,
'errors' => $this->normalizeModelErrors($model->getErrors()),
@ -53,10 +53,9 @@ class AuthenticationController extends Controller {
return $data;
}
return [
return array_merge([
'success' => true,
'jwt' => $jwt,
];
], $result->getAsResponse());
}
public function actionForgotPassword() {
@ -98,17 +97,16 @@ class AuthenticationController extends Controller {
public function actionRecoverPassword() {
$model = new RecoverPasswordForm();
$model->load(Yii::$app->request->post());
if (($jwt = $model->recoverPassword()) === false) {
if (($result = $model->recoverPassword()) === false) {
return [
'success' => false,
'errors' => $this->normalizeModelErrors($model->getErrors()),
];
}
return [
return array_merge([
'success' => true,
'jwt' => $jwt,
];
], $result->getAsResponse());
}
}

View File

@ -15,7 +15,7 @@ class Controller extends \yii\rest\Controller {
$parentBehaviors = parent::behaviors();
// Добавляем авторизатор для входа по jwt токенам
$parentBehaviors['authenticator'] = [
'class' => HttpBearerAuth::className(),
'class' => HttpBearerAuth::class,
];
// xml нам не понадобится

View File

@ -79,17 +79,16 @@ class SignupController extends Controller {
public function actionConfirm() {
$model = new ConfirmEmailForm();
$model->load(Yii::$app->request->post());
if (!($jwt = $model->confirm())) {
if (!($result = $model->confirm())) {
return [
'success' => false,
'errors' => $this->normalizeModelErrors($model->getErrors()),
];
}
return [
return array_merge([
'success' => true,
'jwt' => $jwt,
];
], $result->getAsResponse());
}
}