diff --git a/api/modules/oauth/controllers/IdentityController.php b/api/modules/oauth/controllers/IdentityController.php index 034e8c5..57e5281 100644 --- a/api/modules/oauth/controllers/IdentityController.php +++ b/api/modules/oauth/controllers/IdentityController.php @@ -1,4 +1,6 @@ ['index'], 'allow' => true, 'roles' => [P::OBTAIN_ACCOUNT_INFO], - 'roleParams' => function() { - /** @noinspection NullPointerExceptionInspection */ - return [ - 'accountId' => Yii::$app->user->getIdentity()->getAccount()->id, - ]; + 'roleParams' => function(): array { + /** @var \api\components\User\IdentityInterface $identity */ + $identity = Yii::$app->user->getIdentity(); + $account = $identity->getAccount(); + if ($account === null) { + Yii::$app->sentry->captureMessage('Unexpected lack of account', [ + 'identityType' => get_class($identity), + 'userId' => $identity->getId(), + 'assignedPermissions' => $identity->getAssignedPermissions(), + ], [ + 'level' => 'warning', + ]); + + return ['accountId' => 0]; + } + + return ['accountId' => $account->id]; }, ], ],