我是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中做错了
答案 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'),
现在一切正常。