devig/firebase-laravel-auth-sidecar

Firebase Auth Add-on for Laravel

1.2 2020-09-07 12:03 UTC

This package is not auto-updated.

Last update: 2023-01-24 22:53:56 UTC


README

Latest Stable Version Total Downloads Monthly Downloads Daily Downloads License Donate

Firebase Laravel Auth Sidecar

Google Latched onto Laravel

Installation

Via Composer Require

You may install by running the composer require command in your terminal:

composer require gbrits/firebase-laravel-auth-sidecar

Add your Firebase project ID, API key and auth domain into your .env

FIREBASE_API_KEY=AIzXXgibberxJf4_5rlradjabberTsMpX
FIREBASE_AUTH_DOMAIN=acme.firebaseapp.com
FIREBASE_DATABASE_URL=https://acme.firebaseio.com
FIREBASE_PROJECT_ID=acme
FIREBASE_STORAGE_BUCKET=acme.appspot.com
FIREBASE_MESSAGING_SENDER_ID=800813513371

Add the service provider to your config/app.php

Gbrits\Firebase\Auth\ServiceProvider::class,

Publish vendor files (Blade directive views)

php artisan vendor:publish --provider="Gbrits\Firebase\Auth\ServiceProvider"

Minor adjustment to include the trait Http/Controllers/Auth/LoginController.php

use Gbrits\Firebase\Auth\AuthenticatesUsers;
class LoginController extends Controller {
  use RegistersUsers, AuthenticatesUsers, ValidatesRequests;

Add fillable Firebase fields to your user model App/User.php

$fillable = [
  ~ all your other fields ~, 'id_token', 'photo_url'
];

Add some routes to web.php

Route::post('auth', 'Auth\LoginController@postAuth')->name('postAuth');
Route::get('logout', 'Auth\LoginController@logout')->name('logout');

Add some Blade components to your existing layout

To be placed in the header:
@firebaseuiheader
To be placed in the body:
@firebaseuiwidget
To be placed in the footer:
@firebaseuifooter

🎉 Finally, clear the config cache and then clear the view cache. In that order:

php artisan config:cache
php artisan view:cache

Specifically in that order, as the Laravel directives utilise config values. Be sure to clear the view cache with every alteration you make to the directive views (in the vendor files), otherwise your changes won't apply.

Screenshots

FirebaseUI Web

Dependencies

Donate

Oh go on, buy me a beer. Or a sugarfree Rockstar.