kreait / laravel-firebase

A Laravel package for the Firebase PHP Admin SDK
https://github.com/kreait/firebase-php
MIT License
1.05k stars 169 forks source link

Support App Check #171

Closed ljsharp closed 1 year ago

ljsharp commented 1 year ago

Describe the bug

I have completed Firebase setup in my project but error occurred when trying to initialize the App Check component - $auth = app('firebase.app_check');. Then I tried other ways - With Dependency Injection and With the SDK, these still gave me the errors.

Exception error thrown:

"exception": "Illuminate\\Contracts\\Container\\BindingResolutionException",
    "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
    "line": 895,
    "trace": [
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
            "line": 774,
            "function": "build",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
            "line": 860,
            "function": "resolve",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },....

Is there something I missed?

Installed packages

{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": [ "framework", "laravel" ],
    "license": "MIT",
    "require": {
        "php": "^8.0.2",
        "ashallendesign/short-url": "^7.3",
        "bepsvpt/secure-headers": "^7.3",
        "bmatovu/laravel-mtn-momo": "^4.3",
        "fedeisas/laravel-mail-css-inliner": "^5.0",
        "fruitcake/laravel-cors": "^3.0",
        "guzzlehttp/guzzle": "^7.5",
        "inertiajs/inertia-laravel": "^0.6.3",
        "johannebert/laravel-spam-protector": "^7.0",
        "kreait/firebase-php": "^7.0",
        "kreait/laravel-firebase": "^5.1",
        "laravel/framework": "^9.19",
        "laravel/jetstream": "^2.12",
        "laravel/sanctum": "^3.0",
        "laravel/tinker": "^2.7",
        "shieldon/shieldon": "^2",
        "spatie/laravel-activitylog": "^4.7",
        "spatie/laravel-csp": "^2.8",
        "spatie/laravel-honeypot": "^4.3",
        "spatie/laravel-permission": "^5.7",
        "spatie/laravel-sitemap": "^6.2",
        "symfony/http-client": "^6.2",
        "symfony/mailgun-mailer": "^6.2",
        "tightenco/ziggy": "^1.0",
        "vinkla/hashids": "^10.0"
    },
    "require-dev": {
        "barryvdh/laravel-debugbar": "^3.7",
        "fakerphp/faker": "^1.9.1",
        "laravel/pint": "^1.0",
        "laravel/sail": "^1.0.1",
        "mockery/mockery": "^1.4.4",
        "nunomaduro/collision": "^6.1",
        "phpunit/phpunit": "^9.5.10",
        "spatie/laravel-ignition": "^1.0"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/",
            "Database\\Factories\\": "database/factories/",
            "Database\\Seeders\\": "database/seeders/"
        },
        "files": [
            "app/Helpers/functions.php"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-update-cmd": [
            "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ]
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true,
        "allow-plugins": {
            "pestphp/pest-plugin": true
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

PHP version and extensions

composer               2.2.6    Composer package
composer-plugin-api    2.2.0    The Composer Plugin API
composer-runtime-api   2.2.2    The Composer Runtime API
ext-bcmath             8.1.2    The bcmath PHP extension
ext-bz2                8.1.2    The bz2 PHP extension
ext-calendar           8.1.2    The calendar PHP extension
ext-ctype              8.1.2    The ctype PHP extension
ext-curl               8.1.2    The curl PHP extension
ext-date               8.1.2    The date PHP extension
ext-dom                20031129 The dom PHP extension
ext-exif               8.1.2    The exif PHP extension
ext-fileinfo           8.1.2    The fileinfo PHP extension
ext-filter             8.1.2    The filter PHP extension
ext-ftp                8.1.2    The ftp PHP extension
ext-gettext            8.1.2    The gettext PHP extension
ext-hash               8.1.2    The hash PHP extension
ext-iconv              8.1.2    The iconv PHP extension
ext-intl               8.1.2    The intl PHP extension
ext-json               8.1.2    The json PHP extension
ext-libxml             8.1.2    The libxml PHP extension
ext-mbstring           8.1.2    The mbstring PHP extension
ext-mysqli             8.1.2    The mysqli PHP extension
ext-mysqlnd            0        The mysqlnd PHP extension (actual version: mysqlnd 8.1.2)
ext-openssl            8.1.2    The openssl PHP extension
ext-pcre               8.1.2    The pcre PHP extension
ext-pdo                8.1.2    The PDO PHP extension
ext-pdo_mysql          8.1.2    The pdo_mysql PHP extension
ext-pdo_sqlite         8.1.2    The pdo_sqlite PHP extension
ext-phar               8.1.2    The Phar PHP extension
ext-readline           8.1.2    The readline PHP extension
ext-reflection         8.1.2    The Reflection PHP extension
ext-session            8.1.2    The session PHP extension
ext-simplexml          8.1.2    The SimpleXML PHP extension
ext-sodium             8.1.2    The sodium PHP extension
ext-spl                8.1.2    The SPL PHP extension
ext-tokenizer          8.1.2    The tokenizer PHP extension
ext-xml                8.1.2    The xml PHP extension
ext-xmlreader          8.1.2    The xmlreader PHP extension
ext-xmlwriter          8.1.2    The xmlwriter PHP extension
ext-zip                1.19.5   The zip PHP extension
ext-zlib               8.1.2    The zlib PHP extension
lib-bz2                1.0.8    The bz2 library
lib-curl               7.77.0   The curl library
lib-curl-libssh2       1.10.0   curl libssh2 version
lib-curl-openssl       1.1.1.13 curl OpenSSL version (1.1.1.13)
lib-curl-zlib          1.2.11   curl zlib version
lib-date-timelib       2021.11  date timelib version
lib-date-zoneinfo      2021.5   zoneinfo ("Olson") database for date
lib-fileinfo-libmagic  540      fileinfo libmagic version
lib-iconv              1.16     The iconv library
lib-icu                70.1     The ICU unicode and globalization support library
lib-icu-cldr           40       ICU CLDR project version
lib-icu-unicode        14.0.0   ICU unicode version
lib-libsodium          1.0.18   The libsodium library
lib-libxml             2.9.12   libxml library version
lib-mbstring-libmbfl   1.3.2    mbstring libmbfl version
lib-mbstring-oniguruma 6.9.7    mbstring oniguruma version
lib-openssl            1.1.1.13 OpenSSL 1.1.1m  14 Dec 2021
lib-pcre               10.39    The pcre library
lib-pcre-unicode       14.0.0   PCRE Unicode version support
lib-pdo_sqlite-sqlite  3.36.0   The pdo_sqlite-sqlite library
lib-zip-libzip         1.7.1    The zip-libzip library
lib-zlib               1.2.11   The zlib library
php                    8.1.2    The PHP interpreter
php-64bit              8.1.2    The PHP interpreter, 64bit
php-ipv6               8.1.2    The PHP interpreter, with IPv6 support
php-zts                8.1.2    The PHP interpreter, with Zend Thread Safety

Steps to reproduce the issue.

Trying to initialize a app check component but failed.

Code:

$appCheckToken = $request->header("X-Firebase-AppCheck");
        if (!$appCheckToken) {
            // abort(401, "Unauthorized");
            return response()->json([
                "message" => "Invalid token or not given"
            ]);
        }

        $appCheck = app('firebase.app_check');
        try {
            $validatedToken = $appCheck->verifyToken($appCheckToken);
            return response()->json([
                "message" => $validatedToken,
            ]);
        } catch (FailedToVerifyAppCheckToken $e) {
            // abort(401, "Unauthorized");
            return response()->json([
                "message" => $e->getMessage(),
            ]);
        }

Error message/Stack trace

{
    "message": "Target class [firebase.app_check] does not exist.",
    "exception": "Illuminate\\Contracts\\Container\\BindingResolutionException",
    "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
    "line": 895,
    "trace": [
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
            "line": 774,
            "function": "build",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
            "line": 860,
            "function": "resolve",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
            "line": 710,
            "function": "resolve",
            "class": "Illuminate\\Foundation\\Application",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
            "line": 845,
            "function": "make",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\helpers.php",
            "line": 120,
            "function": "make",
            "class": "Illuminate\\Foundation\\Application",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\routes\\api.php",
            "line": 55,
            "function": "app"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\CallableDispatcher.php",
            "line": 40,
            "function": "{closure}",
            "class": "Illuminate\\Routing\\RouteFileRegistrar",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php",
            "line": 237,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\CallableDispatcher",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php",
            "line": 208,
            "function": "runCallable",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
            "line": 798,
            "function": "run",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 141,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\app\\Http\\Middleware\\FirewallMiddleware.php",
            "line": 45,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\FirewallMiddleware",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\app\\Http\\Middleware\\XSSProtection.php",
            "line": 24,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\XSSProtection",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\app\\Http\\Middleware\\BlockedUserMiddleware.php",
            "line": 25,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\BlockedUserMiddleware",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\ThrottleRequests.php",
            "line": 126,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\ThrottleRequests.php",
            "line": 102,
            "function": "handleRequest",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\ThrottleRequests.php",
            "line": 54,
            "function": "handleRequestUsingNamedLimiter",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 116,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
            "line": 799,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
            "line": 776,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
            "line": 740,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
            "line": 729,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
            "line": 190,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 141,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\barryvdh\\laravel-debugbar\\src\\Middleware\\InjectDebugbar.php",
            "line": 66,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\app\\Http\\Middleware\\HSTS.php",
            "line": 19,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\HSTS",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\app\\Http\\Middleware\\HttpRedirect.php",
            "line": 24,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\HttpRedirect",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\app\\Http\\Middleware\\SecurityHeaders.php",
            "line": 20,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\SecurityHeaders",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
            "line": 86,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Middleware\\HandleCors.php",
            "line": 62,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\HandleCors",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Middleware\\TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\fruitcake\\laravel-cors\\src\\HandleCors.php",
            "line": 52,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Fruitcake\\Cors\\HandleCors",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 116,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
            "line": 165,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
            "line": 134,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\public\\index.php",
            "line": 52,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "D:\\Projects\\FM Cosmetics\\app\\fm-cosmetics-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\resources\\server.php",
            "line": 16,
            "function": "require_once"
        }
    ]
}

Additional information

No response

jeromegamez commented 1 year ago

The App Check component is not implemented (and thus not documented) in the Laravel package. Since this is not a bug, and I only have limited time to work on my Firebase-related Open Source projects, I can't tell you yet when I will be able to implement this.

If you'd like to make a PR to add support for the component to the Laravel package, I will gladly review it as soon as possible - otherwise, there's always the possibility to allow me to free up some time by becoming a sponsor with one of the Firebase tiers. If you're a Freelancer and/or if your company uses the package and its underlying SDK in a commercial project, you can certainly appreciate time's value 😅

ljsharp commented 1 year ago

Alright understood. Thanks.

rvalitov commented 1 year ago

Excuse me, is it something different from #158 ?

jeromegamez commented 1 year ago

You are excused 😊. Jokes aside, yes, I was talking about the SDK, not the Laravel Package and I forgot to move the issue to the other repo.

I do have limited time and will prioritize this feature in the Laravel package with a Sponsor funding it. A PR is appreciated as well, but unless one of the two happens, I will implement it when I have some spare time available.

jeromegamez commented 1 year ago

Thank you @nhaynes for implementing this! 🌺