Social login for Filament through Laravel Socialite

Overview

Social login for Filament through Laravel Socialite

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Add OAuth login through Laravel Socialite to Filament.

Installation

You can install the package via composer:

composer require dutchcodingcompany/filament-socialite

You can publish and run the migrations with:

php artisan vendor:publish --tag="filament-socialite-migrations"
php artisan migrate

You can publish the config file with:

php artisan vendor:publish --tag="filament-socialite-config"

This is the contents of the published config file:

return [
    // Allow login, and registration if enabled, for users with an email for one of the following domains.
    // All domains allowed by default
    'domain_allowlist' => [],

    // Allow registration through socials
    'registration' => false,

    // Specify the providers that should be visible on the login.
    // These should match the socialite providers you have setup in your services.php config.
    'providers' => [
//        'gitlab' => [
//            'label' => 'GitLab',
//            'icon' => 'fab-gitlab',
//        ],
//        'github' => [
//            'label' => 'GitHub',
//            'icon' => 'fab-github',
//        ],
    ],
];

Providers

You should setup the providers with Socialite and/or Socialite Providers and add them to the providers array in the filament-socialite.php config.

Icons

You can specify a Blade Icon. You can add Font Awesome brand icons made available through Blade Font Awesome by running:

composer require owenvoke/blade-fontawesome

Registration flow

This package supports account creation for users. However, to support this flow it is important that the password attribute on your User model is nullable. For example, by adding the following to your users table migration.

$table->string('password')->nullable();

Domain Allowlist

This package supports the option to limit the users that can login with the OAuth login to users of a certain domain. This can be used to setup SSO for internal use.

Customizing view

Optionally, you can publish the views using

php artisan vendor:publish --tag="filament-socialite-views"

Usage

Add the buttons component to your login page, just above the closing tag:

    

You can publish the login page for vanilla Filament by running:

php artisan vendor:publish --tag="filament-views"

Which produces a login page at resources/views/vendor/filament/login.blade.php.

Filament Fortify

This component can also be added while using the Fortify plugin plugin.

You can publish the login page for Filament Fortify by running:

php artisan vendor:publish --tag="filament-fortify-views"

Which produces a login page at resources/views/vendor/filament-fortify/login.blade.php.

Filament Breezy

This component can also be added while using the Breezy plugin plugin.

You can publish the login page for Filament Breezy by running:

php artisan vendor:publish --tag="filament-breezy-views"

Which produces a login page at resources/views/vendor/filament-breezy/login.blade.php.

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

Comments
Releases(0.2.3)
  • 0.2.3(Nov 15, 2022)

    What's Changed

    • Bump dependabot/fetch-metadata from 1.3.1 to 1.3.3 by @dependabot in https://github.com/DutchCodingCompany/filament-socialite/pull/17
    • Bump dependabot/fetch-metadata from 1.3.3 to 1.3.4 by @dependabot in https://github.com/DutchCodingCompany/filament-socialite/pull/21
    • Bump dependabot/fetch-metadata from 1.3.4 to 1.3.5 by @dependabot in https://github.com/DutchCodingCompany/filament-socialite/pull/23
    • Fix #18: Load redirect route from filament-socialite config by @caendesilva in https://github.com/DutchCodingCompany/filament-socialite/pull/19

    New Contributors

    • @caendesilva made their first contribution in https://github.com/DutchCodingCompany/filament-socialite/pull/19

    Full Changelog: https://github.com/DutchCodingCompany/filament-socialite/compare/0.2.2...0.2.3

    Source code(tar.gz)
    Source code(zip)
  • 0.2.2(Jun 14, 2022)

    What's Changed

    • Fix readme by @dododedodonl in https://github.com/DutchCodingCompany/filament-socialite/pull/15
    • use Filament-fortify render hook by @wychoong in https://github.com/DutchCodingCompany/filament-socialite/pull/16

    New Contributors

    • @wychoong made their first contribution in https://github.com/DutchCodingCompany/filament-socialite/pull/16

    Full Changelog: https://github.com/DutchCodingCompany/filament-socialite/compare/0.2.1...0.2.2

    Source code(tar.gz)
    Source code(zip)
  • 0.2.1(May 25, 2022)

    What's Changed

    • Fix user model instantiating by @marcoboers in https://github.com/DutchCodingCompany/filament-socialite/pull/14

    Full Changelog: https://github.com/DutchCodingCompany/filament-socialite/compare/0.2.0...0.2.1

    Source code(tar.gz)
    Source code(zip)
  • 0.2.0(May 24, 2022)

    Breaking changes

    • Events\DomainFailed renamed to Events\UserNotAllowed
    • Events\RegistrationFailed renamed to Events\RegistrationNotEnabled

    What's Changed

    • Refactor the controller for extendability and customization by @dododedodonl in https://github.com/DutchCodingCompany/filament-socialite/pull/13

    New Contributors

    • @dododedodonl made their first contribution in https://github.com/DutchCodingCompany/filament-socialite/pull/13

    Full Changelog: https://github.com/DutchCodingCompany/filament-socialite/compare/0.1.5...0.2.0

    Source code(tar.gz)
    Source code(zip)
  • 0.1.5(May 20, 2022)

    What's Changed

    • Fix missing variable for registered event by @marcoboers in https://github.com/DutchCodingCompany/filament-socialite/pull/11

    Full Changelog: https://github.com/DutchCodingCompany/filament-socialite/compare/0.1.4...0.1.5

    Source code(tar.gz)
    Source code(zip)
  • 0.1.4(May 6, 2022)

    What's Changed

    • Feature: Adds buttons blade component by @oyepez003 in https://github.com/DutchCodingCompany/filament-socialite/pull/8
    • Feature: Add login events dispatching by @marcoboers in https://github.com/DutchCodingCompany/filament-socialite/pull/5

    Full Changelog: https://github.com/DutchCodingCompany/filament-socialite/compare/0.1.3...0.1.4

    Source code(tar.gz)
    Source code(zip)
  • 0.1.3(May 4, 2022)

    What's Changed

    • Bugfix: Avoid returning 403 when a user exists based on the oauth-email . by @oyepez003 in https://github.com/DutchCodingCompany/filament-socialite/pull/7

    New Contributors

    • @oyepez003 made their first contribution in https://github.com/DutchCodingCompany/filament-socialite/pull/7

    Full Changelog: https://github.com/DutchCodingCompany/filament-socialite/compare/0.1.2...0.1.3

    Source code(tar.gz)
    Source code(zip)
  • 0.1.2(May 3, 2022)

    What's Changed

    • Bump dependabot/fetch-metadata from 1.3.0 to 1.3.1 by @dependabot in https://github.com/DutchCodingCompany/filament-socialite/pull/2
    • Add Laravel 8 support and make fontawesome icons optional by @marcoboers in https://github.com/DutchCodingCompany/filament-socialite/pull/4

    New Contributors

    • @marcoboers made their first contribution in https://github.com/DutchCodingCompany/filament-socialite/pull/4

    Full Changelog: https://github.com/DutchCodingCompany/filament-socialite/compare/0.1.1...0.1.2

    Source code(tar.gz)
    Source code(zip)
  • 0.1.1(Apr 11, 2022)

  • 0.1.0(Apr 8, 2022)

    Initial Release

    • Add social login links to login page
    • Support Socialite OAuth flow
    • Support registration flow
    • Support domain allowlist for internal use
    • Dark mode support
    • Blade Font Awesome brand icons
    Source code(tar.gz)
    Source code(zip)
Owner
Dutch Coding Company
Dutch Coding Company
Filament-spatie-laravel-activitylog - View your activity logs inside of Filament. ⚡️

View your activity logs inside of Filament. This package provides a Filament resource that shows you all of the activity logs created using the spatie

Ryan Chandler 45 Dec 26, 2022
Ebansos (Electronic Social Assistance) is a web application that provides citizen data management who will receive social assistance to avoid misdirection assistance from public service/government.

E Bansos Ebansos (Electronic Social Assistance) is a web application that provides citizen data management who will receive social assistance to avoid

Azvya Erstevan I 12 Oct 12, 2022
Mollie API client wrapper for Laravel & Mollie Connect provider for Laravel Socialite

Mollie for Laravel Laravel-Mollie incorporates the Mollie API and Mollie Connect into your Laravel or Lumen project. Accepting iDEAL, Apple Pay, Banco

Mollie 289 Nov 24, 2022
A simple Socialite implementation for Laravel Jetstream.

Introduction Socialstream is a third-party package for Laravel Jetstream. It replaces the published authentication and profile scaffolding provided by

Joel Butcher 334 Jan 2, 2023
👀 Manage your views in Laravel projects through artisan

Artisan View This package adds a handful of view-related commands to Artisan in your Laravel project. Generate blade files that extend other views, sc

Sven Luijten 842 Dec 29, 2022
Laravel package to search through multiple Eloquent models.

Laravel package to search through multiple Eloquent models. Supports sorting, pagination, scoped queries, eager load relationships and searching through single or multiple columns.

Protone Media 845 Jan 1, 2023
A customisable Laravel Nova card that fetches data through ajax calls.

Ajax Table Card Description A customisable Laravel Nova card that fetches data through ajax calls. Why? To allow displaying certain data on the dashbo

TwentyOne34 Technologies Corp. 4 Mar 8, 2022
A convenient helper for using the laravel-seo package with Filament Admin and Forms

Combine the power of Laravel SEO and Filament PHP. This package is a convenient helper for using the laravel-seo package with Filament Admin and Forms

Ralph J. Smit 39 Dec 21, 2022
Admin user, role and permission management for Laravel Filament

Filament Access Control Opinionated setup for managing admin users, roles and permissions within Laravel Filament Features Separate database table for

Elisha Witte 69 Jan 4, 2023
This package provides a Filament resource to view all Laravel sent emails.

This package provides a Filament resource to view all Laravel outgoing emails. It also provides a Model for the database stored emails. Installation Y

Ramón E. Zayas 22 Jan 2, 2023
Easily add Laravel Telescope and Horizon to Filament admin panel.

Filament Debugger This is where your description should go. Limit it to a paragraph or two. Consider adding a small example. Installation You can inst

Stephen Jude 5 Nov 24, 2022
A CMS start kit for websites, built on Filament and Laravel.

TrovCMS TrovCMS is a start kit for websites, built on Filament and Laravel. Install globally with composer. composer global require trovcms/installer

TrovCMS 12 Oct 20, 2022
Easily validate data attributes through a remote request

Laravel Remote Rule Easily validate data attributes through a remote request. This package allows you to define a subset of custom rules to validate a

H-FARM Innovation 27 Nov 20, 2022
A simple profile management page for Filament. ✨

A simple profile page for Filament. This package provides a very simple Profile page that allows the current user to manage their name, email address

Ryan Chandler 65 Jan 5, 2023
Add a general-purpose tools page to your Filament project. 🛠

Add a general-purpose tools page to your Filament project. Installation You can install the package via Composer: composer require ryangjchandler/fila

Ryan Chandler 24 Dec 6, 2022
The Most Popular JavaScript Calendar as a Filament Widget 💛

The Most Popular JavaScript Calendar as a Filament Widget ?? Features Accepts all configurations from FullCalendar Event click and drop events Upcomin

Guilherme Saade 62 Dec 31, 2022
A single-field repeater for Filament. ⚡️

A single-field repeater for Filament. This is where your description should go. Limit it to a paragraph or two. Consider adding a small example. Insta

Ryan Chandler 3 Mar 5, 2022
Easily interact and control your feature flags from Filament

Easily interact and control your feature flags from Filament

Ryan Chandler 32 Nov 29, 2022
Build structured navigation menus in Filament.

Build structured navigation menus in Filament. This plugin for Filament provides a Navigation resource that allows to build structural navigation menu

Ryan Chandler 61 Dec 30, 2022