Мне нужно получить данные пользователя, которые будут использоваться для контроля доступа. У меня аутентификация на предъявителя работает нормально, сеанс пользователя отключен.
public static function findIdentityByAccessToken ($token, $type = null) {
$user = static::findOne(['access_token' => $token, 'status' => self::STATUS_ACTIVE]);
if ( $user ) {
if ( $user->isAccessTokenValid() ) {
$user->last_request = time();
$user->save(false);
return $user;
}
}
return null;
}
Yii::$app->user->id
и Yii::$app->user->getId()
возвращают null
, поскольку сеанс отключен.
Мне нужно использовать его в:
$behaviors['access'] = ['class' => AccessControl::class,
'only' => ['view'],
'rules' => [
[
'actions' => ['view'],
'allow' => false,
'roles' => User::isUserAdmin(Yii::$app->user->getId()),
],
[
'actions' => ['view'],
'allow' => true,
'roles' => User::isUserManager(Yii::$app->user->getId()),
],
],
];
Я пытался сохранить пользовательские данные или токен в общедоступной статической переменной в пользовательском классе, но эта переменная всегда null
.