如何将Firebase身份验证添加到laravel API路由

时间:2019-02-24 03:34:55

标签: php laravel firebase firebase-authentication

我是laravel的新手。我正在对网络路由使用laravel默认身份验证,但是我想使用Firebase令牌对api路由进行身份验证。

我有一个用于身份验证的软件包,但我不知道如何正确使用它 https://github.com/csrui/laravel-firebase-auth

我添加了这些

AuthserviceProvider.php

public function boot()
{
    $this->app['auth']->viaRequest('firebase', function ($request) {
        return app(\csrui\LaravelFirebaseAuth\Guard::class)->user($request);
    });

}

config / app.php(提供者数组)

csrui\LaravelFirebaseAuth\FirebaseAuthServiceProvider::class,

.env

FIREBASE_PROJECT_ID=myprojectName //write your project id here

config / auth.php

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'firebase',
        'provider' => 'firebase',
    ],
],
'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
    ],

    'firebase' => [
        'driver' => 'firebase',
        'model' => \csrui\LaravelFirebaseAuth\User::class,
    ],
],

当我使用firebase令牌作为身份验证载体请求api时。它不起作用。 我觉得我在config / auth.php中做错了

1 个答案:

答案 0 :(得分:0)

调试我的api后。我知道它可以工作,但是ssl中有错误

cURL错误60:SSL证书问题:无法获取本地颁发者证书(请参见http://curl.haxx.se/libcurl/c/libcurl-errors.html

我通过从https://curl.haxx.se/ca/cacert.pem下载“ cacert.pem”来解决  并复制到项目库 然后将这些行添加到“ \ vendor \ kreait \ firebase-tokens \ src \ HttpKeyStore.php”

        'base_uri' => '57a/vendor/guzzlehttp/guzzle/src',
        'verify' => base_path('cacert.pem'),

现在一切正常。