Unofficial Firebase Admin SDK for PHP

Overview

Firebase Admin PHP SDK

Current version Supported PHP version Monthly Downloads Total Downloads Tests Integration Tests codecov Discord Sponsor

Table of Contents

Overview

Firebase provides the tools and infrastructure you need to develop your app, grow your user base, and earn money. The Firebase Admin PHP SDK enables access to Firebase services from privileged environments (such as servers or cloud) in PHP.

For more information, visit the Firebase Admin PHP SDK documentation.

Installation

The Firebase Admin PHP SDK is available on Packagist as kreait/firebase-php:

$ composer require kreait/firebase-php

Integrations for Laravel, Lumen and Symfony are available:

Documentation

Support

License

Firebase Admin PHP SDK is licensed under the MIT License.

Your use of Firebase is governed by the Terms of Service for Firebase Services.

Comments
  • feat(app-check): added support for firebase app check

    feat(app-check): added support for firebase app check

    Description

    I added support for Firebase App Check so the SDK can be used to implement a custom provider and can also be used to verify app check tokens.

    I wanted to use App Check to protect custom backend resources for a project of mine and was frustrated to find out that it's only available in the official Node.JS SDK.

    Closes #693

    Checklist:

    • [x] My code follows the style guidelines of this project
    • [x] I have performed a self-review of my own code
    • [x] I have added tests that prove my fix is effective or that my feature works
    • [x] I have made corresponding changes to the documentation
    opened by nhaynes 22
  • can this work in multiple arduino devices and send data simultaneously  to connect in a single php code to firebase?

    can this work in multiple arduino devices and send data simultaneously to connect in a single php code to firebase?

    Please avoid using the issue tracker for questions or help. Submitting issues to this repository are usually reserved for bugs, feature requests, or changes to the source code. We have a help channel at https://gitter.im/kreait/firebase-php (you can sign in with your GitHub account). If nobody can answer your question, tag @jeromegamez in your question.

    Also see past issues and https://firebase-php.readthedocs.io/en/latest/troubleshooting.html to check if your problem has already been covered.

    Please chose a descriptive title for your issue and delete everything before and including this line before submitting the issue.

    The problem

    Briefly describe the issue you are experiencing (or the feature you want to see added).

    Environment

    • PHP Version (php -v):
    • Firebase PHP SDK version (composer show | grep kreait):

    Details

    If necessary, describe the problem you have been experiencing in more detail.

    Code to reproduce issue

    Please remember that with sample code it's easier to reproduce the bug and it's much faster to fix it.

    opened by xiaomy12 21
  • Fatal error: Class 'Firebase\Factory' not found in

    Fatal error: Class 'Firebase\Factory' not found in

    Unable to find Firebase\Factory class composer ran successfully. below code ...

    <?php
    require __DIR__ . '/vendor/autoload.php';
    $firebase = (new Firebase\Factory())->create();
    # If the JSON file is located in a path accessible to your project,
    # or if you want to create multiple dedicated instances
    $firebase = (new Firebase\Factory())
        ->withCredentials(__DIR__.'/path/to/google-service-account.json')
        ->create();
    ?>
    
    

    Can you please add this step install the package and special dependency are required ?

    opened by sunnymumbai25 20
  • Error creating resource, Connection timed out

    Error creating resource, Connection timed out

    1. Which version of kreait/firebase-php are you using?

    kreait/[email protected]

    guzzlehttp/[email protected]

    2. Which version of PHP are you using?

    PHP 7.0.25-0ubuntu0.16.04.1 (cli) ( NTS )

    3. What's the issue?

    My code suddently stopped working with kreait/[email protected] – probably because of Firebase changes/deprecations – so I thought I'll do an update. I updated to 4.1.2 generated new Firebase Service Account credentials. Then I replaced the deprecated asUserWithClaims method with asUser instead. On my local machine everything worked fine, but online I can't seem to be able to request the data.

    After surrounding my code (see section 4) with a try catch block, i receive the following Exception:

    Exception:
    Error creating resource: [message]
    fopen(https://PROJECT_ID.firebaseio.com/PATH_TO_RESSOURCE.json?
    auth_variable_override=%7B%22uid%22%3A%22MY_ADMIN_UID%22%7D): failed to open stream:
    Connection timed out [file]
    /var/www/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php [line] 324
    

    4. Code that lead to the issue

    NOTE that I've replaced some sensitive data:

    <?php
    
    require_once 'vendor/autoload.php';
    require_once 'constants.php';
    
    // debugging
    error_reporting(E_ALL | E_STRICT);
    ini_set('display_errors', 1);
    
    use Kreait\Firebase\Factory;
    use Kreait\Firebase\ServiceAccount;
    
    try {
      // Firebase Admin SDK
      $serviceAccount = ServiceAccount::fromJsonFile(__DIR__.'/__my_private_credentials__.json');
      $firebase = (new Factory)
        ->withServiceAccount($serviceAccount)
        ->asUser(MY_ADMIN_UID) // from constants.php
        ->create();
      $database = $firebase->getDatabase();
    
      $projectPath = PATH_TO_RESSOURCE; // from constants.php
      $projectRef = $database->getReference($projectPath);
      $projectData = json_decode( json_encode($projectRef->getValue()) );
    
      echo '<pre>';
      var_dump($projectData);
      echo '</pre>';
    
    } catch(Exception $e) {
      echo 'Exception:<br>';
      echo $e->getMessage();
    }
    
    exit;
    

    Guesses

    I can only guess what's wrong here... Maybe because we use SSL on the server ? Or do I require an API key from firebase and use withServiceAccountAndApiKey instead ?

    What are your guesses ? It would be awesome to get a lead on this issue, since we use this in production...

    Thanks in advance !

    opened by miclaus 19
  • Internal error encountered. {

    Internal error encountered. {"userId":1,"exception":"[object] (Kreait\\Firebase\\Exception\\Messaging\\ServerError(code: 500)

    For the last three days I have been receiving this error nternal error encountered. {"userId":1,"exception":"[object] (Kreait\\Firebase\\Exception\\Messaging\\ServerError(code: 500) and I don't know what's the issue. I have been using this package for sending notifications for a year without any issue but in the last three days it's not working. I have generated a new credential and changed this library to the laravel-firebase but got no luck and I thought that it's form Firebase servers that they may be down but I checked there servers there's no issue there too. I'm stuck I don't know what to do next? is there nay updates that i"m not aware of it? I'm using the credential json file from google cloud platform as it's written in the documentation "it was working before" and I think not using anything else for the cloud messaging. so is there anything that I need to put for the cloud messaging because it's not written anywhere in this library? Thanks in advance

    opened by Xoshbin 18
  • Multicast and unexisting/expired tokens

    Multicast and unexisting/expired tokens

    Describe the bug We are using the libraries multicast capabilities to sent messages to the devices of a user (a user can have multiple devices, therefor we track multiple device tokens for each user). In an older version of the library it was possible to send single messages to a single device token. With the single message it was possible to identify if the device for a registration token was unregistered or if the message was delivered successfully. With the multicast implementation all messages are reported as successfully delivered - even for registration tokens which are unregistered. It seems that the subResponses are different depending on the registered / unregistered state of the device / deviceToken.

    registered device: { "name": "projects/[project-name]/messages/1584562990026860" }

    probably unregistered device { "name": "projects/[project-name]/messages/0:1584562990029639%3f04f5553f04f555" }

    Are we missing something or is this the intended behavior?

    To Reproduce item 0 = successfully delivered item 1 = old unregistered token

    $report = {Kreait\Firebase\Messaging\MulticastSendReport} [1]
     items = {array} [24]
      0 = {Kreait\Firebase\Messaging\SendReport} [3]
       target = {Kreait\Firebase\Messaging\MessageTarget} [2]
       result = {array} [1]
        name = "projects/[project-name]/messages/1584566014466720"
       error = null
      1 = {Kreait\Firebase\Messaging\SendReport} [3]
       target = {Kreait\Firebase\Messaging\MessageTarget} [2]
       result = {array} [1]
        name = "projects/[project-name]/messages/0:1584566014634780%3f04f5553f04f555"
       error = null
    

    Expected behavior It should be possible to differentiate between successfully sent messages and messages that couldn't be sent because the device got unregistered when using multicastmessage

    Environment (please complete the following information):

    • OS: webdevops/php-nginx-dev:7.2 (debian based docker-image)
    • PHP version: 7.2.26
    • Firebase SDK Version: 4.36.2
    opened by ck84 17
  • Feature Request: Send cloud push notifications to multiple devices

    Feature Request: Send cloud push notifications to multiple devices

    Can we allow push notification to a batch of device IDs, instead of one at a time.

    This seems that it is possible:

    https://firebase.google.com/docs/cloud-messaging/android/device-group and https://firebase.google.com/docs/cloud-messaging/http-server-ref#send-downstream

    opened by yahya-uddin 17
  • Application default credentials don't work

    Application default credentials don't work

    Hi,

    I was looking around the service account discovery file and i saw these methods were used to discover them:

        public function getDefaultMethods(): array
        {
            return [
                new Discovery\FromEnvironmentVariable('FIREBASE_CREDENTIALS'),
                new Discovery\FromEnvironmentVariable(CredentialsLoader::ENV_VAR),
                new Discovery\FromGoogleWellKnownFile(),
                new Discovery\OnGoogleCloudPlatform(),
            ];
        }
    

    The FromGoogleWellKnownFile one seems to imply that it will look for the application default credentials in $HOME/.config/gcloud/application_default_credentials.json. That file exists on my system. However if i don't set GOOGLE_APPLICATION_CREDENTIALS php errors out with

    Kreait\\Firebase\\ServiceAccount\\Discovery\\FromEnvironmentVariable: The environment variable \"FIREBASE_CREDENTIALS\" is not set.\nKreait\\Firebase\\ServiceAccount\\Discovery\\FromEnvironmentVariable: The environment variable \"GOOGLE_APPLICATION_CREDENTIALS\" is not set.\nThe following fields are missing/empty in the Service Account specification: \"project_id\", \"client_email\", \"private_key\". Please make sure you download the Service Account JSON file from the Service Accounts tab in the Firebase Console, as shown in the documentation on https://firebase.google.com/docs/admin/setup#add_firebase_to_your_app\ncURL error 28: Connection timed out after 1001 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)",
    

    Can you fix it so that the application default credentials get picked up properly?

    opened by constantijn 16
  • Unable to read my Google services config file

    Unable to read my Google services config file

    When I run the code I receive the following error (details obfuscated for obvious reasons). The Google services config file is being set correctly as an environment variable (I can echo it fully). But firebase-php is objecting to it for reasons that have now defeated me. Has anyone else experienced this error? Any hints or tips?

    PHP Fatal error: Uncaught Kreait\Firebase\Exception\ServiceAccountDiscoveryFailed: Kreait\Firebase\ServiceAccount\Discovery\FromEnvironmentVariable: The environment variable "FIREBASE_CREDENTIALS" points to "{ "type": "service_account", "project_id": "yadayadayada", "private_key_id": "aaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbb", "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb+ndY21h\ndevzJOTFSMmBvDBON7799zlhuWgmuz7mRFRgAfNHqHK9Q2weHZsQ5wtujyqw/0j1\nyBh6RYhgg1IAKdKyClqr50++kI++O35Jmx2CdSG1SSP1SI09toomulThbTTyROL0\nH in /foo/bar/yada/vendor/kreait/firebase-php/src/Firebase/ServiceAccount/Discoverer.php on line 52

    opened by damianstafford 16
  • Proxy don't work

    Proxy don't work

    The problem

    Proxy don't work.

    Environment

    • PHP 7.2.6
    • Firebase 4.15.1

    Details

    If i directly connect to database everything works Proxy don't work

    Code to reproduce issue

    code fragments
    class ObjectBase

    <?php  
    
    require __DIR__.'/vendor/autoload.php';  
    
    use Kreait\Firebase\Factory;  
    use Kreait\Firebase\ServiceAccount;  
    
    
    class ObjectBase  
    {  
    
        private $database;  
    
        public function objectbase()  
        {  
            $serviceAccount = ServiceAccount::fromJsonFile(__DIR__.'/private_key.json');  
            var_dump($serviceAccount);  
            $httpConfig = [  
                'proxy' => [
                    'http'  => '$adres_for_http',
                    'https' => '$adres_for_https',
                ],
                'debug' => true
             ];   
            $firebase = (new Factory)  
                ->withHttpClientConfig($httpConfig)  
                ->withServiceAccount($serviceAccount)  
                ->withDatabaseUri('https://test-48b03.firebaseio.com')  
                ->create();  
            $this->database = $firebase->getDatabase();  
        }  
    
    ......
    
        public function addKey()  
        {  
            $data = $this->database->getReference('blog/posts');  
            return $data->push([  
                'title' => 'new data'  
            ])->getKey();;  
        }  
    
    ?>  
    

    index

    $objectbase = new ObjectBase();  
    $objectbase->addKey();  
    
    opened by erka11234 16
  • syntax error, unexpected '|', expecting variable (T_VARIABLE)

    syntax error, unexpected '|', expecting variable (T_VARIABLE)

    Describe the issue you are experiencing

    Hello all, I encountered an issue with Cloud Messaging.

    $messaging->send($message); --> This function result in the following error:

    An uncaught Exception was encountered Type: Kreait\Firebase\Exception\Messaging\MessagingError Message: syntax error, unexpected '|', expecting variable (T_VARIABLE) Filename: ../vendor/kreait/firebase-php/src/Firebase/Exception/MessagingApiExceptionConverter.php Line Number: 56

    I used the following codes:

    use Kreait\Firebase\Factory; use Kreait\Firebase\Messaging\CloudMessage; use Kreait\Firebase\Messaging\Notification;

    $factory = (new Factory)->withServiceAccount('path to sdk json'); $messaging = $factory->createMessaging(); $message = CloudMessage::withTarget('token', 'my device token') ->withNotification(Notification::create('Title', 'Body'));
    $messaging->send($message);

    Error occur when it reach this function --> $messaging->send($message);

    I have also tried with kreait/firebase v6. Same error occur.

    Environment: PHP 7.4.3. kreait/firebase-php 5.26.1 Framework Codeigniter 3.1.11 with composer autoload.

    Thanks for the help.

    Installed packages

    chriskacerguis/codeigniter-restserver 3.1.2 CI Rest Server fig/http-message-util 1.1.5 Utility classes and constants... firebase/php-jwt v5.5.1 A simple library to encode an... google/auth v1.18.0 Google Auth Library for PHP google/cloud-core v1.43.2 Google Cloud PHP shared depen... google/cloud-storage v1.26.0 Cloud Storage Client for PHP google/crc32 v0.1.0 Various CRC32 implementations guzzlehttp/guzzle 7.4.1 Guzzle is a PHP HTTP client l... guzzlehttp/promises 1.5.1 Guzzle promises library guzzlehttp/psr7 2.1.0 PSR-7 message implementation ... kreait/clock 1.1.0 A PHP 7.0 compatible clock ab... kreait/firebase-php 5.26.1 Firebase Admin SDK kreait/firebase-tokens 1.16.1 A library to work with Fireba... lcobucci/clock 2.1.0 Yet another clock abstraction lcobucci/jwt 4.1.5 A simple library to work with... monolog/monolog 2.3.5 Sends your logs to files, soc... mtdowling/jmespath.php 2.6.1 Declaratively specify how to ... psr/cache 2.0.0 Common interface for caching ... psr/http-client 1.0.1 Common interface for HTTP cli... psr/http-factory 1.0.1 Common interfaces for PSR-7 H... psr/http-message 1.0.1 Common interface for HTTP mes... psr/log 3.0.0 Common interface for logging ... psr/simple-cache 1.0.1 Common interfaces for simple ... ralouphie/getallheaders 3.0.3 A polyfill for getallheaders. riverline/multipart-parser 2.0.9 One class library to parse mu... rize/uri-template 0.3.4 PHP URI Template (RFC 6570) s... symfony/deprecation-contracts v3.0.0 A generic function and conven... symfony/polyfill-mbstring v1.24.0 Symfony polyfill for the Mbst... symfony/polyfill-php80 v1.24.0 Symfony polyfill backporting ... symfony/polyfill-php81 v1.24.0 Symfony polyfill backporting ..

    PHP version and extensions

    composer-plugin-api 1.1.0 The Composer Plugin API ext-bz2 7.4.3 The bz2 PHP extension ext-calendar 7.4.3 The calendar PHP extension ext-ctype 7.4.3 The ctype PHP extension ext-curl 7.4.3 The curl PHP extension ext-date 7.4.3 The date PHP extension ext-dom 20031129 The dom PHP extension ext-exif 7.4.3 The exif PHP extension ext-FFI 7.4.3 The FFI PHP extension ext-fileinfo 7.4.3 The fileinfo PHP extension ext-filter 7.4.3 The filter PHP extension ext-ftp 7.4.3 The ftp PHP extension ext-gd 7.4.3 The gd PHP extension ext-gettext 7.4.3 The gettext PHP extension ext-hash 7.4.3 The hash PHP extension ext-iconv 7.4.3 The iconv PHP extension ext-json 7.4.3 The json PHP extension ext-libxml 7.4.3 The libxml PHP extension ext-mbstring 7.4.3 The mbstring PHP extension ext-mysqli 7.4.3 The mysqli PHP extension ext-mysqlnd 0 The mysqlnd PHP extension (actual version: mys... ext-openssl 7.4.3 The openssl PHP extension ext-pcntl 7.4.3 The pcntl PHP extension ext-pcre 7.4.3 The pcre PHP extension ext-PDO 7.4.3 The PDO PHP extension ext-pdo_mysql 7.4.3 The pdo_mysql PHP extension ext-Phar 7.4.3 The Phar PHP extension ext-posix 7.4.3 The posix PHP extension ext-readline 7.4.3 The readline PHP extension ext-Reflection 7.4.3 The Reflection PHP extension ext-session 7.4.3 The session PHP extension ext-shmop 7.4.3 The shmop PHP extension ext-SimpleXML 7.4.3 The SimpleXML PHP extension ext-sockets 7.4.3 The sockets PHP extension ext-sodium 7.4.3 The sodium PHP extension ext-SPL 7.4.3 The SPL PHP extension ext-sysvmsg 7.4.3 The sysvmsg PHP extension ext-sysvsem 7.4.3 The sysvsem PHP extension ext-sysvshm 7.4.3 The sysvshm PHP extension ext-tokenizer 7.4.3 The tokenizer PHP extension ext-xml 7.4.3 The xml PHP extension ext-xmlreader 7.4.3 The xmlreader PHP extension ext-xmlwriter 7.4.3 The xmlwriter PHP extension ext-xsl 7.4.3 The xsl PHP extension ext-Zend-OPcache 7.4.3 The Zend OPcache PHP extension ext-zip 1.15.6 The zip PHP extension ext-zlib 7.4.3 The zlib PHP extension lib-curl 7.68.0 The curl PHP library lib-iconv 2.31 The iconv PHP library lib-libxml 2.9.10 The libxml PHP library lib-openssl 1.1.1.6 OpenSSL 1.1.1f 31 Mar 2020 lib-pcre 10.34 The pcre PHP library lib-xsl 1.1.34 The xsl PHP library php 7.4.3 The PHP interpreter php-64bit 7.4.3 The PHP interpreter, 64bit php-ipv6 7.4.3 The PHP interpreter, with IPv6 support

    On which operating system(s) does the issue occur?

    • [X] Linux
    • [ ] MacOS
    • [ ] Windows

    Steps to reproduce the issue.

    use Kreait\Firebase\Factory; use Kreait\Firebase\Messaging\CloudMessage; use Kreait\Firebase\Messaging\Notification;

    $factory = (new Factory)->withServiceAccount('path to sdk json'); $messaging = $factory->createMessaging(); $message = CloudMessage::withTarget('token', 'my device token') ->withNotification(Notification::create('Title', 'Body'));
    $messaging->send($message);

    Error message/Stack trace

    An uncaught Exception was encountered

    <p>Type: Kreait\Firebase\Exception\Messaging\MessagingError</p>
    <p>Message: syntax error, unexpected '|', expecting variable (T_VARIABLE)</p>
    <p>Filename:
    	/vendor/kreait/firebase-php/src/Firebase/Exception/MessagingApiExceptionConverter.php
    </p>
    <p>Line Number: 56</p>
    <p>Backtrace:</p>
    <p style="margin-left:10px">
    	File:
    	/vendor/kreait/firebase-php/src/Firebase/Messaging/ApiClient.php<br />
    		Line: 44<br />
    		Function: convertException			</p>
    
    	<p style="margin-left:10px">
    		/vendor/kreait/firebase-php/src/Firebase/Messaging.php<br />
    		Line: 54<br />
    		Function: send			</p>
    

    Additional information

    No response

    bug 🐞 
    opened by carinihdev 15
  • Firestore emulator support

    Firestore emulator support

    Describe the feature you would like to see

    I'm trying to use the firebase/firestore emulator but as I can see in the docs

    Only the Auth and Realtime Database Emulators are currently supported in this PHP SDK.

    and also I've read this comment (from 2020): stackoverflow

    Any updates?

    thanks for reading :)

    enhancement 🙏🏻 needs-sponsor 🙏🏻 
    opened by mentamarindos 1
  • Multiple realtime database support in single project

    Multiple realtime database support in single project

    Describe the feature you would like to see

    Hi, I have a firebase project that contains multiple realtime databases and I need access to them in Laravel. I haven't found any information about this. Thanks in advance.

    enhancement 🙏🏻 needs-sponsor 🙏🏻 
    opened by Morfeus73 4
  • AndroidNotifcation extends Notification

    AndroidNotifcation extends Notification

    Describe the feature you would like to see

    It seems to me as if only AndroidConfig would be supported, but not AndroidNotification.

    Alike this it's kind of difficult to set a channel_id... or where does one have to pass this array?

    enhancement 🙏🏻 needs-sponsor 🙏🏻 
    opened by syslogic 2
  • Error when trying to read .info/serverTimeOffset

    Error when trying to read .info/serverTimeOffset

    Describe the issue you are experiencing

    I want to read the serverTimeOffset to understand the difference in time between the local server and Firebase hosting.

    $timeOffset = $database->getReference(".info/serverTimeOffset")->getValue();
    

    I get error:

    In Database.php line 43:
    The child key ".info" contains one of the following invalid characters: ".$#[]"
    In Validator.php line 66: The child key ".info" contains one of the following invalid characters: ".$#[]"

    Is there any way to read the time offset?

    Installed packages

    barryvdh/laravel-dompdf            v0.9.0  A DOMPDF Wrapper for Laravel
    brick/math                         0.9.3   Arbitrary-precision arithmetic library
    chillerlan/php-qrcode              4.3.1   A QR code generator. PHP 7.4+
    chillerlan/php-settings-container  2.1.2   A container class for immutable settings objects. Not a DI container. PHP 7.4+
    doctrine/inflector                 2.0.3   PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.
    doctrine/instantiator              1.4.0   A small, lightweight utility to instantiate objects in PHP without invoking their constructors
    doctrine/lexer                     1.2.1   PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.
    dompdf/dompdf                      v1.0.2  DOMPDF is a CSS 2.1 compliant HTML to PDF converter
    dragonmantank/cron-expression      v3.1.0  CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due
    egulias/email-validator            2.1.25  A library for validating emails against several RFCs
    fakerphp/faker                     v1.16.0 Faker is a PHP library that generates fake data for you.
    fig/http-message-util              1.1.5   Utility classes and constants for use with PSR-7 (psr/http-message)
    firebase/php-jwt                   v5.4.0  A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.
    google/auth                        v1.18.0 Google Auth Library for PHP
    google/cloud-core                  v1.43.0 Google Cloud PHP shared dependency, providing functionality useful to all components.
    google/cloud-storage               v1.25.1 Cloud Storage Client for PHP
    google/crc32                       v0.1.0  Various CRC32 implementations
    graham-campbell/result-type        v1.0.2  An Implementation Of The Result Type
    guzzlehttp/guzzle                  7.3.0   Guzzle is a PHP HTTP client library
    guzzlehttp/promises                1.4.1   Guzzle promises library
    guzzlehttp/psr7                    2.1.0   PSR-7 message implementation that also provides common utility methods
    hamcrest/hamcrest-php              v2.0.1  This is the PHP port of Hamcrest Matchers
    illuminate/auth                    v8.63.0 The Illuminate Auth package.
    illuminate/broadcasting            v8.63.0 The Illuminate Broadcasting package.
    illuminate/bus                     v8.63.0 The Illuminate Bus package.
    illuminate/cache                   v8.62.0 The Illuminate Cache package.
    illuminate/collections             v8.63.0 The Illuminate Collections package.
    illuminate/config                  v8.63.0 The Illuminate Config package.
    illuminate/console                 v8.63.0 The Illuminate Console package.
    illuminate/container               v8.63.0 The Illuminate Container package.
    illuminate/contracts               v8.63.0 The Illuminate Contracts package.
    illuminate/database                v8.63.0 The Illuminate Database package.
    illuminate/encryption              v8.63.0 The Illuminate Encryption package.
    illuminate/events                  v8.63.0 The Illuminate Events package.
    illuminate/filesystem              v8.63.0 The Illuminate Filesystem package.
    illuminate/hashing                 v8.63.0 The Illuminate Hashing package.
    illuminate/http                    v8.63.0 The Illuminate Http package.
    illuminate/log                     v8.63.0 The Illuminate Log package.
    illuminate/macroable               v8.62.0 The Illuminate Macroable package.
    illuminate/pagination              v8.63.0 The Illuminate Pagination package.
    illuminate/pipeline                v8.63.0 The Illuminate Pipeline package.
    illuminate/queue                   v8.63.0 The Illuminate Queue package.
    illuminate/session                 v8.63.0 The Illuminate Session package.
    illuminate/support                 v8.63.0 The Illuminate Support package.
    illuminate/testing                 v8.63.0 The Illuminate Testing package.
    illuminate/translation             v8.63.0 The Illuminate Translation package.
    illuminate/validation              v8.63.0 The Illuminate Validation package.
    illuminate/view                    v8.63.0 The Illuminate View package.
    kreait/clock                       1.1.0   A PHP 7.0 compatible clock abstraction
    kreait/firebase-php                5.24.0  Firebase Admin SDK
    kreait/firebase-tokens             1.16.1  A library to work with Firebase tokens
    kreait/laravel-firebase            3.1.0   A Laravel package for the Firebase PHP Admin SDK
    laravel/lumen-framework            v8.2.7  The Laravel Lumen Framework.
    laravel/serializable-closure       v1.0.2  Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.
    laravel/tinker                     v2.6.2  Powerful REPL for the Laravel framework.
    lcobucci/clock                     2.0.0   Yet another clock abstraction
    lcobucci/jwt                       4.0.4   A simple library to work with JSON Web Token and JSON Web Signature
    mailjet/mailjet-apiv3-php          v1.5.5  PHP wrapper for the Mailjet API
    mockery/mockery                    1.4.4   Mockery is a simple yet flexible PHP mock object framework
    monolog/monolog                    2.3.5   Sends your logs to files, sockets, inboxes, databases and various web services
    mtdowling/jmespath.php             2.6.1   Declaratively specify how to extract elements from a JSON document
    myclabs/deep-copy                  1.10.2  Create deep copies (clones) of your objects
    nesbot/carbon                      2.53.1  An API extension for DateTime that supports 281 different languages.
    nikic/fast-route                   v1.3.0  Fast request router for PHP
    nikic/php-parser                   v4.13.0 A PHP parser written in PHP
    opis/closure                       3.6.2   A library that can be used to serialize closures (anonymous functions) and arbitrary objects.
    phar-io/manifest                   2.0.3   Component for reading phar.io manifest information from a PHP Archive (PHAR)
    phar-io/version                    3.1.0   Library for handling version information and constraints
    phenx/php-font-lib                 0.5.2   A library to read, parse, export and make subsets of different types of font files.
    phenx/php-svg-lib                  0.3.4   A library to read, parse and export to PDF SVG files.
    phpdocumentor/reflection-common    2.2.0   Common reflection classes used by phpdocumentor to reflect the code structure
    phpdocumentor/reflection-docblock  5.2.2   With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.
    phpdocumentor/type-resolver        1.5.1   A PSR-5 based resolver of Class names, Types and Structural Element Names
    phpoption/phpoption                1.8.0   Option Type for PHP
    phpspec/prophecy                   1.14.0  Highly opinionated mocking framework for PHP 5.3+
    phpunit/php-code-coverage          9.2.7   Library that provides collection, processing, and rendering functionality for PHP code coverage information.
    phpunit/php-file-iterator          3.0.5   FilterIterator implementation that filters files based on a list of suffixes.
    phpunit/php-invoker                3.1.1   Invoke callables with a timeout
    phpunit/php-text-template          2.0.4   Simple template engine.
    phpunit/php-timer                  5.0.3   Utility class for timing
    phpunit/phpunit                    9.5.10  The PHP Unit Testing framework.
    psr/cache                          1.0.1   Common interface for caching libraries
    psr/container                      1.1.1   Common Container Interface (PHP FIG PSR-11)
    psr/event-dispatcher               1.0.0   Standard interfaces for event handling.
    psr/http-client                    1.0.1   Common interface for HTTP clients
    psr/http-factory                   1.0.1   Common interfaces for PSR-7 HTTP message factories
    psr/http-message                   1.0.1   Common interface for HTTP messages
    psr/log                            1.1.4   Common interface for logging libraries
    psr/simple-cache                   1.0.1   Common interfaces for simple caching
    psy/psysh                          v0.10.9 An interactive shell for modern PHP.
    ralouphie/getallheaders            3.0.3   A polyfill for getallheaders.
    ramsey/collection                  1.2.1   A PHP library for representing and manipulating collections.
    ramsey/uuid                        4.2.3   A PHP library for generating and working with universally unique identifiers (UUIDs).
    riverline/multipart-parser         2.0.8   One class library to parse multipart content with encoding and charset support.
    rize/uri-template                  0.3.3   PHP URI Template (RFC 6570) supports both expansion & extraction
    sabberworm/php-css-parser          8.3.1   Parser for CSS Files written in PHP
    sebastian/cli-parser               1.0.1   Library for parsing CLI options
    sebastian/code-unit                1.0.8   Collection of value objects that represent the PHP code units
    sebastian/code-unit-reverse-lookup 2.0.3   Looks up which function or method a line of code belongs to
    sebastian/comparator               4.0.6   Provides the functionality to compare PHP values for equality
    sebastian/complexity               2.0.2   Library for calculating the complexity of PHP code units
    sebastian/diff                     4.0.4   Diff implementation
    sebastian/environment              5.1.3   Provides functionality to handle HHVM/PHP environments
    sebastian/exporter                 4.0.3   Provides the functionality to export PHP variables for visualization
    sebastian/global-state             5.0.3   Snapshotting of global state
    sebastian/lines-of-code            1.0.3   Library for counting the lines of code in PHP source code
    sebastian/object-enumerator        4.0.4   Traverses array structures and object graphs to enumerate all referenced objects
    sebastian/object-reflector         2.0.4   Allows reflection of object attributes, including inherited and non-public ones
    sebastian/recursion-context        4.0.4   Provides functionality to recursively process PHP variables
    sebastian/resource-operations      3.0.3   Provides a list of PHP built-in functions that operate on resources
    sebastian/type                     2.3.4   Collection of value objects that represent the types of the PHP type system
    sebastian/version                  3.0.2   Library that helps with managing the version number of Git-hosted PHP projects
    symfony/console                    v5.3.7  Eases the creation of beautiful and testable command line interfaces
    symfony/deprecation-contracts      v2.4.0  A generic function and convention to trigger deprecation notices
    symfony/error-handler              v5.3.7  Provides tools to manage errors and ease debugging PHP code
    symfony/event-dispatcher           v5.3.7  Provides tools that allow your application components to communicate with each other by dispatching events and listening to them
    symfony/event-dispatcher-contracts v2.4.0  Generic abstractions related to dispatching event
    symfony/finder                     v5.3.7  Finds files and directories via an intuitive fluent interface
    symfony/http-client-contracts      v2.4.0  Generic abstractions related to HTTP clients
    symfony/http-foundation            v5.3.7  Defines an object-oriented layer for the HTTP specification
    symfony/http-kernel                v5.3.9  Provides a structured process for converting a Request into a Response
    symfony/mime                       v5.3.8  Allows manipulating MIME messages
    symfony/polyfill-ctype             v1.23.0 Symfony polyfill for ctype functions
    symfony/polyfill-intl-grapheme     v1.23.1 Symfony polyfill for intl's grapheme_* functions
    symfony/polyfill-intl-idn          v1.23.0 Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions
    symfony/polyfill-intl-normalizer   v1.23.0 Symfony polyfill for intl's Normalizer class and related functions
    symfony/polyfill-mbstring          v1.23.1 Symfony polyfill for the Mbstring extension
    symfony/polyfill-php72             v1.23.0 Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions
    symfony/polyfill-php73             v1.23.0 Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions
    symfony/polyfill-php80             v1.23.1 Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions
    symfony/polyfill-php81             v1.23.0 Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions
    symfony/process                    v5.3.7  Executes commands in sub-processes
    symfony/service-contracts          v2.4.0  Generic abstractions related to writing services
    symfony/string                     v5.3.7  Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way
    symfony/translation                v5.3.9  Provides tools to internationalize your application
    symfony/translation-contracts      v2.4.0  Generic abstractions related to translation
    symfony/var-dumper                 v5.3.8  Provides mechanisms for walking through any arbitrary PHP variable
    theseer/tokenizer                  1.2.1   A small library for converting tokenized PHP source code into XML and potentially other formats
    vlucas/phpdotenv                   v5.3.1  Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.
    voku/portable-ascii                1.5.6   Portable ASCII library - performance optimized (ascii) string functions for php.
    webmozart/assert                   1.10.0  Assertions to validate method input/output with nice error messages.
    

    PHP version and extensions

    composer-plugin-api    2.0.0    The Composer Plugin API
    composer-runtime-api   2.0.0    The Composer Runtime API
    ext-bcmath             7.4.2    The bcmath PHP extension
    ext-calendar           7.4.2    The calendar PHP extension
    ext-ctype              7.4.2    The ctype PHP extension
    ext-curl               7.4.2    The curl PHP extension
    ext-date               7.4.2    The date PHP extension
    ext-dom                20031129 The dom PHP extension
    ext-fileinfo           7.4.2    The fileinfo PHP extension
    ext-filter             7.4.2    The filter PHP extension
    ext-ftp                7.4.2    The ftp PHP extension
    ext-gd                 7.4.2    The gd PHP extension
    ext-hash               7.4.2    The hash PHP extension
    ext-iconv              7.4.2    The iconv PHP extension
    ext-imap               7.4.2    The imap PHP extension
    ext-intl               7.4.2    The intl PHP extension
    ext-json               7.4.2    The json PHP extension
    ext-libxml             7.4.2    The libxml PHP extension
    ext-mailparse          3.1.0    The mailparse PHP extension
    ext-mbstring           7.4.2    The mbstring PHP extension
    ext-mysqli             7.4.2    The mysqli PHP extension
    ext-mysqlnd            0        The mysqlnd PHP extension (actual version: mysqlnd 7.4.2)
    ext-openssl            7.4.2    The openssl PHP extension
    ext-pcre               7.4.2    The pcre PHP extension
    ext-pdo                7.4.2    The PDO PHP extension
    ext-phar               7.4.2    The Phar PHP extension
    ext-readline           7.4.2    The readline PHP extension
    ext-reflection         7.4.2    The Reflection PHP extension
    ext-session            7.4.2    The session PHP extension
    ext-simplexml          7.4.2    The SimpleXML PHP extension
    ext-sockets            7.4.2    The sockets PHP extension
    ext-spl                7.4.2    The SPL PHP extension
    ext-tokenizer          7.4.2    The tokenizer PHP extension
    ext-xdebug             2.9.6    The xdebug PHP extension
    ext-xml                7.4.2    The xml PHP extension
    ext-xmlreader          7.4.2    The xmlreader PHP extension
    ext-xmlwriter          7.4.2    The xmlwriter PHP extension
    ext-zip                1.15.5   The zip PHP extension
    ext-zlib               7.4.2    The zlib PHP extension
    lib-curl               7.67.0   The curl library
    lib-curl-libssh2       1.8.2    curl libssh2 version
    lib-curl-openssl       1.1.1.4  curl OpenSSL version (1.1.1.4)
    lib-curl-zlib          1.2.11   curl zlib version
    lib-date-timelib       2018.03  date timelib version
    lib-date-zoneinfo      2019.3   zoneinfo ("Olson") database for date
    lib-fileinfo-libmagic  537      fileinfo libmagic version
    lib-gd                 2.0.35   The gd library
    lib-gd-freetype        2.9.1    freetype version for gd
    lib-gd-libjpeg         9.0      libjpeg version for gd
    lib-gd-libpng          1.6.34   libpng version for gd
    lib-gd-libxpm          3.5.12   libxpm version for gd
    lib-iconv              1.16     The iconv library
    lib-icu                65.1     The ICU unicode and globalization support library
    lib-icu-cldr           36       ICU CLDR project version
    lib-icu-unicode        12.1.0   ICU unicode version
    lib-icu-zoneinfo       2019.3   zoneinfo ("Olson") database for icu
    lib-libxml             2.9.10   libxml library version
    lib-mbstring-libmbfl   1.3.2    mbstring libmbfl version
    lib-mbstring-oniguruma 6.9.4    mbstring oniguruma version
    lib-openssl            1.1.1.4  OpenSSL 1.1.1d  10 Sep 2019
    lib-pcre               10.33    The pcre library
    lib-pcre-unicode       11.0.0   PCRE Unicode version support
    lib-zlib               1.2.11   The zlib library
    php                    7.4.2    The PHP interpreter
    php-64bit              7.4.2    The PHP interpreter, 64bit
    php-ipv6               7.4.2    The PHP interpreter, with IPv6 support
    

    On which operating system(s) does the issue occur?

    • [X] Linux
    • [ ] MacOS
    • [X] Windows

    Steps to reproduce the issue.

    $timeOffset = $database->getReference(".info/serverTimeOffset")->getValue();
    

    Error message/Stack trace

    In Database.php line 43:

    The child key ".info" contains one of the following invalid characters: ".$#[]"

    In Validator.php line 66:

    The child key ".info" contains one of the following invalid characters: ".$#[]"

    Additional information

    No response

    enhancement 🙏🏻 needs-sponsor 🙏🏻 
    opened by rvalitov 5
  • Convert APNs tokens to Firebase registration tokens

    Convert APNs tokens to Firebase registration tokens

    Describe the feature you would like to see

    I just wondering if you find it fit to add batchImport method to this library. The API converts APNs tokens to Firebase tokens. I hope it will be a handy feature for iOS app developers, since the iOS devices give us APNs tokens instead of Firebase messaging tokens, which need to be converted in server side.

    The API reference: https://developers.google.com/instance-id/reference/server#create_registration_tokens_for_apns_tokens

    Using the Instance ID service's batchImport method, you can bulk import existing iOS APNs tokens to Google Cloud Messaging or Firebase Cloud Messaging, mapping them to valid registration tokens. Call the Instance ID service at this endpoint, providing a list of APNs tokens in the JSON body: https://iid.googleapis.com/iid/v1:batchImport The response body contains an array of Instance ID registration tokens ready to be used for sending FCM or GCM messages to the corresponding APNs device token.

    enhancement 🙏🏻 needs-sponsor 🙏🏻 
    opened by halaei 1
Releases(7.0.0)
  • 7.0.0(Dec 20, 2022)

    The most notable change is that you need PHP 8.1/8.2 to use the new version. The language migration of the SDK introduces breaking changes concerning the strictness of parameter types almost everywhere in the SDK. However, this should not affect your project in most cases (unless you have used internal classes directly or by extension).

    This release adds many more PHPDoc annotations to support the usage of Static Analysis Tools like PHPStan and Psalm and moves away from doing runtime checks. It is strongly recommended to use a Static Analysis Tool and ensure that input values are validated before handing them over to the SDK.

    Added features

    • Added support for verifying Firebase App Check Tokens. (#747)

    Notable changes

    • The ability to disable credentials auto-discovery has been removed. If you don't want a service account to be auto-discovered, provide it by using the withServiceAccount() method of the Factory or by setting the GOOGLE_APPLICATION_CREDENTIALS environment variable. Depending on the environment in which the SDK is running, credentials could be auto-discovered otherwise, for example, on GCP or GCE.

    See UPGRADE-7.0 for more details on the changes between 6.x and 7.0.

    Source code(tar.gz)
    Source code(zip)
  • 6.9.3(Nov 3, 2022)

    Fixed

    When no Service Account was provided, custom token were generated with a direct call to the Google Identity Toolkit, which could create invalid token signatures depending on the environment (e.g. GCE). Now, the provided credentials are used to sign custom tokens via the Kreait\Firebase\Auth\CustomTokenViaGoogleCredentials class. This is an internal class and should not be used directly. (#745)

    Deprecated

    Kreait\Firebase\Auth\CustomTokenViaGoogleIam (internal)

    Source code(tar.gz)
    Source code(zip)
  • 6.9.2(Oct 17, 2022)

    Fixed

    Removed "replace": {"symfony/polyfill-mbstring": "*"} from composer.json because it made SDK updates uninstallable in projects that require other libraries needing it. (#742)

    Source code(tar.gz)
    Source code(zip)
  • 6.9.1(Sep 26, 2022)

    Added

    • Added Kreait\Firebase\RemoteConfig\Template::conditionNames() to return a list of condition names of a Remote Config template
    • Added Kreait\Firebase\RemoteConfig\Template::withRemovedCondition(string $name) to remove a condition from a Remote Config template by name

    Fixed

    • HTTP Proxy settings were not applied to the Auth Token Handler. Because of this, outgoing, proxied requests couldn't be authenticated, effectively breaking the SDK. (#735)
    Source code(tar.gz)
    Source code(zip)
  • 6.9.0(Sep 15, 2022)

    Added

    • Added support for Remote Config Personalization (#731/#733)
      • Note: Personalization (currently) can not be added programmatically. The values can only be read and removed from a Remote Config Template. To add Personalization, use the Firebase Web Console.
    • Added Kreait\Firebase\RemoteConfig\Template::withRemovedParameter(string $name) to remove an existing parameter from a Remote Config Template
    • Added method Kreait\Firebase\RemoteConfig\Template::withRemovedParameterGroup(string $name) to remove an existing parameter group from a Remote Config Template
    • Added Kreait\Firebase\RemoteConfig\DefaultValue::useInAppDefault()

    Deprecated

    • Kreait\Firebase\RemoteConfig\DefaultValue::IN_APP_DEFAULT_VALUE
    • Kreait\Firebase\RemoteConfig\DefaultValue::none()
    • Kreait\Firebase\RemoteConfig\DefaultValue::value()
    Source code(tar.gz)
    Source code(zip)
  • 6.8.0(Aug 21, 2022)

    Added

    Added Auth::queryUsers() to process subsets of users with more parameters than Auth::listUsers(). listUsers() is a fast and memory-efficient way to process a large list of users. queryUsers() provides sorting and filtering by given fields and pagination. (#727/#728) (Documentation)

    Source code(tar.gz)
    Source code(zip)
  • 6.7.1(Aug 16, 2022)

  • 6.7.0(Jul 28, 2022)

  • 6.6.1(Jul 12, 2022)

  • 6.6.0(Jul 7, 2022)

    Fixed

    • The AndroidConfig class is now more lenient with TTL values (#713

    Added

    • The maximum amount of messages that can be sent in batches can be accessed with Kreait\Firebase\Contract\Messaging::BATCH_MESSAGE_LIMIT
    Source code(tar.gz)
    Source code(zip)
  • 6.5.1(Jun 27, 2022)

  • 6.5.0(Jun 21, 2022)

  • 6.4.1(Jun 14, 2022)

  • 5.26.3(Jun 14, 2022)

  • 6.4.0(Jun 8, 2022)

    Added

    • If not already set, APNs configs are enriched with the necessary headers and fields to ensure the delivery of iOS background messages and alerts.
      • The apns-push-type header is set to background or alert
      • The content-available field is set to 1 in case of a background message
    • FCM Messages are now annotated for better PHPStan/Psalm resolution
    • Added methods
      • \Kreait\Firebase\Messaging\AndroidConfig::withMinimalNotificationPriority()
      • \Kreait\Firebase\Messaging\AndroidConfig::withLowNotificationPriority()
      • \Kreait\Firebase\Messaging\AndroidConfig::withDefaultNotificationPriority()
      • \Kreait\Firebase\Messaging\AndroidConfig::withHighNotificationPriority()
      • \Kreait\Firebase\Messaging\AndroidConfig::withMaximalNotificationPriority()
      • \Kreait\Firebase\Messaging\AndroidConfig::withNotificationPriority()
      • \Kreait\Firebase\Messaging\AndroidConfig::withUnspecifiedNotificationPriority()
      • \Kreait\Firebase\Messaging\AndroidConfig::withPrivateNotificationVisibility()
      • \Kreait\Firebase\Messaging\AndroidConfig::withPublicNotificationVisibility()
      • \Kreait\Firebase\Messaging\AndroidConfig::withSecretNotificationVisibility()
      • \Kreait\Firebase\Messaging\AndroidConfig::withNotificationVisibility()
      • \Kreait\Firebase\Messaging\ApnsConfig::data()
      • \Kreait\Firebase\Messaging\ApnsConfig::hasHeader()
      • \Kreait\Firebase\Messaging\ApnsConfig::isAlert()
      • \Kreait\Firebase\Messaging\ApnsConfig::toArray()
      • \Kreait\Firebase\Messaging\ApnsConfig::withApsField()
      • \Kreait\Firebase\Messaging\ApnsConfig::withDataField()
      • \Kreait\Firebase\Messaging\ApnsConfig::withHeader()

    Changed

    • FCM notifications (Kreait\Firebase\Messaging\Notification) can now be created with null values. If a notification has only null values, the notification payload will be removed on serialization as if it wasn't provided at all.
    • Deprecations
      • \Kreait\Firebase\Messaging\AndroidConfig::withHighPriority(), use \Kreait\Firebase\Messaging\AndroidConfig::withHighMessagePriority() instead
      • \Kreait\Firebase\Messaging\AndroidConfig::withNormalPriority(), use \Kreait\Firebase\Messaging\AndroidConfig::withNormalMessagePriority() instead
      • \Kreait\Firebase\Messaging\AndroidConfig::withPriority(), use \Kreait\Firebase\Messaging\AndroidConfig::withMessagePriority() instead
    Source code(tar.gz)
    Source code(zip)
  • 6.3.1(May 6, 2022)

  • 5.26.2(May 6, 2022)

  • 6.3.0(Apr 24, 2022)

  • 6.2.0(Mar 2, 2022)

    Added

    • Cloud Messaging: Added support for APNS subtitles (supported by iOS 9+, silently ignored for others) (#692)
    • Auth: In Auth::listUsers(), if the specified batch size exceeds the specified maximum number of to be returned users, the batch size will be reduced from the default 1000. As an example: previously, Auth::listUsers(2) would have downloaded 1000 accounts (the default batch size), but return only the first two. After the change, only two accounts will be downloaded.
    • Added methods
      • Kreait\Firebase\Messaging\ApnsConfig::withSubtitle()

    Changed

    • Replaced internal JSON helper class with beste/json
    • Deprecated classes
      • Kreait\Firebase\Util\JSON
    Source code(tar.gz)
    Source code(zip)
  • 6.1.0(Jan 28, 2022)

    Added

    • Added convenience method to bulk-remove multiple children of an RTDB Reference (#686)
    • Added support for Session Cookie Verification.
      • Tenants don't seem to be supported at the moment (creating or verifying a Session Cookie with a tenant-enabled Firebase project yields an UNSUPPORTED_TENANT_OPERATION error), but once it is supported, the SDK will need no or just minimal updates. Integration tests are in place to checking for this error so that we know early on when it starts working.
    • Added methods:
      • Kreait\Firebase\Auth::verifySessionCookie()
      • Kreait\Firebase\Database\Reference::removeChildren()

    Changed

    • Tenant-aware auth methods are now tested the same way as tenant-unaware methods. In order to achieve this, some internal implementations had to be changed, warranting this minor version bump. Please note that the tests uncovered that creating session tokens is currently not possible when working with tenants. (GitHub issue / Google Issue Tracker issue))
    • Deprecated classes
      • Kreait\Firebase\Auth\CreateActionLink\ApiRequest
      • Kreait\Firebase\Auth\CreateSessionCookie\ApiRequest
      • Kreait\Firebase\Auth\SendActionLink\ApiRequest

    If you or your team rely on this project and me maintaining it, please consider becoming a Sponsor 🙏

    Source code(tar.gz)
    Source code(zip)
  • 6.0.1(Jan 16, 2022)

    Fixed

    • When signing in with IdP credentials a user's Firebase UID is retrieved from the returned localId field, if present

    If you or your team rely on this project and me maintaining it, please consider becoming a Sponsor 🙏

    Source code(tar.gz)
    Source code(zip)
  • 5.26.1(Jan 16, 2022)

    Fixed

    • When signing in with IdP credentials a user's Firebase UID is retrieved from the returned localId field, if present

    If you or your team rely on this project and me maintaining it, please consider becoming a Sponsor 🙏

    Source code(tar.gz)
    Source code(zip)
  • 6.0.0(Jan 7, 2022)

    This is a release with breaking changes.

    Please review the Changelog and adapt your application where needed.


    If you or your team rely on this project and me maintaining it, please consider becoming a Sponsor 🙏

    I will assist Sponsors (in a tier with access to my private Slack) hands-on with upgrading their codebase and will be available for individual questions as long as their sponsorship is active 🤗.

    Source code(tar.gz)
    Source code(zip)
  • 5.26.0(Jan 6, 2022)

    If you or your team rely on this project and me maintaining it, please consider becoming a Sponsor 🙏


    Added

    • Ensured compatibility with PHP 8.1
    • Added optional $locale parameter to the following methods(#679)
      • Kreait\Firebase\Auth::getEmailActionLink(string $type, $email, $actionCodeSettings = null, ?string $locale = null)
      • Kreait\Firebase\Auth::getEmailVerificationLink($email, $actionCodeSettings = null, ?string $locale = null)
      • Kreait\Firebase\Auth::getPasswordResetLink($email, $actionCodeSettings = null, ?string $locale = null)
      • Kreait\Firebase\Auth::getSignInWithEmailLink($email, $actionCodeSettings = null, ?string $locale = null)

    Deprecated

    • Kreait\Firebase\Value\Provider, use provider strings directly (supported providers)
    • Kreait\Firebase\Auth::signInWithTwitterOauthCredential(), use signInWithIdpAccessToken('twitter.com') instead
    • Kreait\Firebase\Auth::signInWithGoogleIdToken(), use signInWithIdpIdToken('google.com') instead
    • Kreait\Firebase\Auth::signInWithFacebookAccessToken(), use signInWithIdpAccessToken('facebook.com') instead
    • Kreait\Firebase\Auth::signInWithAppleIdToken(), use signInWithIdpIdToken('apple.com') instead
    Source code(tar.gz)
    Source code(zip)
  • 5.25.0(Nov 1, 2021)

    Added

    • Added support for providing a nonce when signing in with IdP credentials
    • Added methods:
      • Kreait\Firebase\Auth::signInWithAppleIdToken()

    Changed

    • When building the RTDB Url from the service account's project ID, the SDK will not replace colons (:) and dots (.) with dashes (-) anymore. (#351 (comment))

    If you or your team rely on this project and me maintaining it, please consider becoming a Sponsor 🙏

    Source code(tar.gz)
    Source code(zip)
  • 5.24.0(Oct 5, 2021)

    Added

    Added Factory::getDebugInfo() to display information about the currently configured factory. (Documentation)

    Changed

    Bumped kreait/firebase-tokens to ^1.16.1 to ensure a minor security fix in lcobucci/jwt (More info: GHSA-7322-jrq4-x5hf)

    Fixed

    Fixed a bug that occurs when using Realtime Database Paths without a leading slash with newer releases of guzzle/psr7


    If you or your team rely on this project and me maintaining it, please consider becoming a Sponsor 🙏

    Source code(tar.gz)
    Source code(zip)
  • 5.23.0(Aug 26, 2021)

    Added

    • Added screenName property to the provider data of a user record (#575)
    • Added support for deleting multiple users at once (based on #650) (Documentation)

    Changed

    • Bumped google/auth dependency ^1.18 in order to ensure support for guzzle/psr ^2.0 (see google/auth#357)

    If you or your team rely on this project and me maintaining it, please consider becoming a Sponsor 🙏

    Source code(tar.gz)
    Source code(zip)
  • 5.22.0(Jul 30, 2021)

    Added

    • Added support for Realtime Database Auth Variable Overrides (#625) (Documentation)
    • Added support for linking IdP credentials to an existing account (#635) (Documentation)

    Changes

    • Database Rules are now uploaded as pretty-printed JSON to improve readability when viewing them in the Firebase Console.

    Notes

    • Remote Config templates now support up to 3000 parameters (instead of up to 2000 parameters)

    If you or your team rely on this project and me maintaining it, please consider becoming a Sponsor 🙏

    Source code(tar.gz)
    Source code(zip)
  • 5.21.0(Jul 16, 2021)

    Added

    Changes

    • Bumped kreait/firebase-tokens to ^1.16
    • Updated version constraints of psr/cache to allow newer releases
    • Updated version constraints of psr/log to allow newer releases
    Source code(tar.gz)
    Source code(zip)
  • 5.20.1(May 12, 2021)

PHP unofficial client to CryptoPanic.com API

PHP unofficial client to CryptoPanic.com API CryptoPanic.com is a news aggregator platform indicating impact on price and market for traders and crypt

null 6 Nov 2, 2022
Zoho CRM API SDK is a wrapper to Zoho CRM APIs. By using this sdk, user can build the application with ease

Archival Notice: This SDK is archived. You can continue to use it, but no new features or support requests will be accepted. For the new version, refe

null 81 Nov 4, 2022
picpurify.com Unofficial Api

Picpurify API Work in progress Usage $picpurify = new \IsaEken\Picpurify\Picpurify; $picpurify ->setApiKey('api-key') ->setTasks([ \Is

İsa Eken 5 Oct 8, 2021
The 1Password Connect PHP SDK provides your PHP applications access to the 1Password Connect API hosted on your infrastructure and leverage the power of 1Password Secrets Automation

1Password Connect PHP SDK The 1Password Connect PHP SDK provides your PHP applications access to the 1Password Connect API hosted on your infrastructu

Michelangelo van Dam 12 Dec 26, 2022
Facebook SDK for PHP (v6) - allows you to access the Facebook Platform from your PHP app

Facebook SDK for PHP (v6) This repository contains the open source PHP SDK that allows you to access the Facebook Platform from your PHP app. Installa

null 0 Aug 10, 2022
Notion PHP SDK

Notion PHP SDK This is an unofficial PHP SDK for the new public Notion API. It's work in progress as we didn't get the change to be included to the pr

Codecycler 43 Nov 29, 2022
爱发电非官方简易 PHP SDK

afdian-php-sdk 爱发电非官方简易 PHP SDK by Akkariin 这是一个简单的 SDK,可以用于查询爱发电的订单和赞助者信息 Installation 将项目 clone 到本地即可 git clone https://github.com/ZeroDream-CN/afdi

ZeroDream-CN 17 Nov 7, 2022
AWS Cognito package using the AWS SDK for PHP/Laravel

Laravel Package to manage Web and API authentication with AWS Cognito AWS Cognito package using the AWS SDK for PHP This package provides a simple way

EllaiSys 74 Nov 15, 2022
PHP SDK to interact with the Casper Network nodes via RPC

casper-php-sdk PHP SDK to interact with Casper Network nodes via RPC Install composer require make-software/casper-php-sdk Examples RPC Client: $node

MAKE Technology LLC 7 May 8, 2022
A Laravel 5+ (and 4) service provider for the AWS SDK for PHP

AWS Service Provider for Laravel 5/6/7/8 This is a simple Laravel service provider for making it easy to include the official AWS SDK for PHP in your

Amazon Web Services 1.5k Dec 28, 2022
A complete Notion SDK for PHP developers.

notion-sdk-php A complete Notion SDK for PHP developers. Installation composer require mariosimao/notion-php Getting started A Notion token will be n

Mario Simão 77 Nov 29, 2022
SDK of the LINE Login API for PHP

LINE Login for PHP SDK of the LINE Login API for PHP Documentation See the official API documentation for more information. Installation Use the packa

null 4 Sep 15, 2022
PHP SDK - Flexie CRM fiskalizimi solution

PHP SDK - Flexie CRM fiskalizimi solution Fiskalizimi PHP SDK allows you to talk and generate your e-invoices programmatically from your own solution

Flexie CRM 3 Dec 30, 2021
PHP Digital Green Certificate SDK

Digital Green Certificate SDK PHP Indice Contesto Installazione Uso Licenza Dettaglio licenza Contesto Attenzione, questo repository è derivato dalle

null 13 Jun 20, 2022
Esse SDK em PHP foi desenvolvido no intuito de tornar mais prático a integração com nossa API.

Sobre Beedoo SDK Acessar documentação completa da Beedoo API. A API é organizada seguindo a arquitetura REST, boas práticas, convenções e padrões como

Beedoo Edtech 5 Dec 2, 2021
A PHP SDK for accessing the OpenAI GPT-3 API

OpenAI GPT-3 Api Client in PHP Installation You can install the package via composer: composer require orhanerday/open-ai Usage use Orhanerday\OpenAi\

Orhan erday 462 Jan 2, 2023
The Facebook SDK for PHP provides a native interface to the Graph API and Facebook Login

Facebook SDK for PHP (v5) This repository contains the open source PHP SDK that allows you to access the Facebook Platform from your PHP app. Installa

Meta Archive 3.1k Dec 30, 2022
PHP SDK for the Sellix Developers API (developers.sellix.io)

PHP SDK for the Sellix Developers API (developers.sellix.io). Quickly get started and create products, payments and more using PHP.

Sellix 7 Nov 23, 2022
Alibaba Cloud SDK for PHP

English | 简体中文 Alibaba Cloud SDK for PHP Alibaba Cloud SDK for PHP is a development kit that supports quick access to products, dependency on Alibaba

Alibaba Cloud 493 Dec 16, 2022