devig / firebase-laravel-auth-sidecar

Through the use of some Blade directives you can snap FirebaseUI web into your Laravel auth

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Through the use of some Blade directives you can snap FirebaseUI web into your Laravel auth

License:MIT License


Languages

Language:PHP 66.2%Language:HTML 33.8%