Задать вопрос
@Tiasar
Web Developer

Как отключить сессию в модуле?

Делаю в модуле REST API, надо отключить сессии. Никак не выходит...

Модуль - API
namespace app\modules\api;
class API extends \yii\base\Module
{
    public $controllerNamespace = 'app\modules\api\controllers';

    public function init()
    {
        parent::init();
        $this->layout = false;
        \Yii::$app->user->enableSession = false;
        \Yii::$app->user->enableAutoLogin = false;
        \Yii::$app->setComponents(require(__DIR__ . '/config.php'));
    }
}

К нему config.php

return [
    'response' => [
        'class' => '\yii\web\Response',
        'format' => \yii\web\Response::FORMAT_JSON,
    ],
    'request' => [
        'class' => '\yii\web\Request',
        'enableCsrfValidation' => false,
        'enableCookieValidation' => false,
        'enableCsrfCookie' => false,
    ],
];


И такой контроллер:

namespace app\modules\api\controllers;

class SignalController extends \yii\web\Controller
{

    public function behaviors()
    {
        return [
            'authenticator' => [
                'class' => \yii\filters\auth\HttpBearerAuth::className(),
            ]
        ];
    }

    public function actionIndex()
    {
        return ['enableSession'=>Yii::$app->user->enableSession];
    }

}


При обращении на адрес, передаю токен. Его проверяю в модели User.php

public static function findIdentityByAccessToken($token, $type = null) {
        return static::find()
            ->where(['access_token' => $token])
            ->andWhere(['>=', 'access_token_expires', new Expression('CURRENT_TIMESTAMP')])
            ->one();
    }



Авторизация проходит успешно, но создается сессия с таким содержимым:
__flash|a:0:{}
Как будто где то идет обращение к
Yii::$app->session->setFlash

Все просмотрел не нашел, может есть мысли куда копать? И почему все таки создается сессия, хоть я и указал \Yii::$app->user->enableSession = false;
  • Вопрос задан
  • 152 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
@Tiasar Автор вопроса
Web Developer
Разобрался, сессию запускал кастомный UrlManager менеджер - codemix\localeurls\UrlManager
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы