kreait/firebase-php
Firebase Admin SDK for PHP by kreait lets you access Firebase services like Auth, Firestore, Realtime Database, Storage, and Cloud Messaging from privileged server or cloud environments. Install with Composer: kreait/firebase-php ^8.0.
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?