Firebase Laravel Auth Sidecar
Installation
Via Composer Require
You may install by running the composer require
command in your terminal:
composer require gbrits/firebase-laravel-auth-sidecar
.env
Add your Firebase project ID, API key and auth domain into your 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
config/app.php
Add the service provider to your Gbrits\Firebase\Auth\ServiceProvider::class,
Publish vendor files (Blade directive views)
php artisan vendor:publish --provider="Gbrits\Firebase\Auth\ServiceProvider"
Http/Controllers/Auth/LoginController.php
Minor adjustment to include the trait use Gbrits\Firebase\Auth\AuthenticatesUsers;
class LoginController extends Controller {
use RegistersUsers, AuthenticatesUsers, ValidatesRequests;
App/User.php
Add fillable Firebase fields to your user model $fillable = [
~ all your other fields ~, 'id_token', 'photo_url'
];
web.php
Add some routes to 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
Dependencies
Donate
Oh go on, buy me a beer. Or a sugarfree Rockstar.