kreait/firebase-php
Unofficial Firebase Admin SDK for PHP. Manage authentication, users, custom tokens, and verify ID tokens; send Cloud Messaging notifications; work with Realtime Database, Cloud Storage, and Remote Config. Built on Google APIs with Laravel-friendly support.
guzzlehttp/guzzle:^8.0, guzzlehttp/psr7:^3.0 and guzzlehttp/promises:^3.0.firebase/php-jwt constraint to ^7.0.2. Although
CVE-2025-45769 is rated as low severity, it has been
disputed on the basis that applications, rather than
the library, are responsible for choosing appropriate key lengths. Nevertheless, a review of the library's
most-downloaded dependents
showed that most already support version 7.x.mtdowling/jmespath.php to 2.9.2 to address CVE-2026-54133verifyTokenWithReplayProtection().
The response now includes alreadyConsumed when replay protection is used.Kreait\Firebase\Contract\AppCheckWithReplayProtection.
This was introduced to preserve backwards compatibility by avoiding a signature change to
Kreait\Firebase\Contract\AppCheck::verifyToken() in the current major release.Kreait\Firebase\Exception\AppCheck\FailedToVerifyAppCheckReplayProtection
for replay-protection verification failures. It extends
Kreait\Firebase\Exception\AppCheck\FailedToVerifyAppCheckToken for backwards compatibility.firebase/php-jwt:^7.0.2#[SensitiveParameter] attributes to methods handling sensitive data (passwords, tokens, private keys)
to prevent them from appearing in stack traces and error logs.Stringable|string to string).Kreait\Firebase\Contract\Transitional\FederatedUserFetcher::getUserByProviderUid() method
has been moved into the Kreait\Firebase\Contract\Auth interfacepsr/log has been moved from runtime dependencies to development dependenciesKreait\Firebase\Contract\Messaging::BATCH_MESSAGE_LIMIT constant has been removedKreait\Firebase\Messaging\CloudMessage builder methods have been renamed to follow the with* pattern:
toToken() -> withToken(), toTopic() -> withTopic(), toCondition() -> withCondition().
The old methods are deprecated but still available as aliases.See UPGRADE-8.0 for more details on the changes between 7.x and 8.0.
403 PERMISSION_DENIED responses with the error code SENDER_ID_MISMATCH are now
converted to a dedicated Kreait\Firebase\Exception\Messaging\SenderIdMismatch exception instead of
the more generic AuthenticationError.How can I help you explore Laravel packages today?