<?php namespace api\modules\oauth\controllers; use api\controllers\Controller; use api\modules\oauth\models\IdentityInfo; use api\rbac\Permissions as P; use Yii; use yii\filters\AccessControl; use yii\helpers\ArrayHelper; class IdentityController extends Controller { public function behaviors(): array { return ArrayHelper::merge(Controller::behaviors(), [ 'access' => [ 'class' => AccessControl::class, 'rules' => [ [ 'actions' => ['index'], 'allow' => true, 'roles' => [P::OBTAIN_ACCOUNT_INFO], 'roleParams' => function() { /** @noinspection NullPointerExceptionInspection */ return [ 'accountId' => Yii::$app->user->getIdentity()->getAccount()->id, ]; }, ], ], ], ]); } public function actionIndex(): array { /** @noinspection NullPointerExceptionInspection */ return (new IdentityInfo(Yii::$app->user->getIdentity()->getAccount()))->info(); } }