diff --git a/include/api.php b/include/api.php index 8e89895ded..935bd11d63 100644 --- a/include/api.php +++ b/include/api.php @@ -44,6 +44,7 @@ use Friendica\Model\Photo; use Friendica\Model\Post; use Friendica\Model\User; use Friendica\Model\Verb; +use Friendica\Module\BaseApi; use Friendica\Network\HTTPException; use Friendica\Network\HTTPException\BadRequestException; use Friendica\Network\HTTPException\ExpectationFailedException; @@ -88,6 +89,11 @@ $called_api = []; */ function api_user() { + $user = BaseApi::getCurrentUserID(true); + if (!empty($user)) { + return $user; + } + if (!empty($_SESSION['allow_api'])) { return local_user(); } diff --git a/src/Module/BaseApi.php b/src/Module/BaseApi.php index 7735b9802c..015324569b 100644 --- a/src/Module/BaseApi.php +++ b/src/Module/BaseApi.php @@ -238,7 +238,7 @@ class BaseApi extends BaseModule * * @return int User ID */ - protected static function getCurrentUserID() + public static function getCurrentUserID(bool $nologin = false) { if (empty(self::$current_user_id)) { self::$current_token = self::getTokenByBearer(); @@ -247,7 +247,10 @@ class BaseApi extends BaseModule } else { self::$current_user_id = 0; } + } + if ($nologin) { + return (int)self::$current_user_id; } if (empty(self::$current_user_id)) {