Warning: While the plugin should be production ready, it is still in a pre-release stage. API and functionality are subject to change without a major version bump until a stable release is made.
This package provides a Filament plugin for a user profile. The plugin acts as a starting point for your user profile, and provides multi-factor authentication, password management, session management, and more. A lot of the boilerplate code that is required for these functionalities is taken care of by this plugin.
Although this package is highly opinionated in how it handles many things, it is still flexible and customizable in most areas.
You can install the package via composer:
composer require rawilk/profile-filament-plugin
You can publish and run the migrations with:
php artisan vendor:publish --tag="profile-filament-migrations"
php artisan migrate
You can publish the config file with:
php artisan vendor:publish --tag="profile-filament-config"
You can view the default configuration here: https://github.com/rawilk/profile-filament-plugin/blob/main/config/profile-filament.php
In a panel service provider, register the plugin:
use Rawilk\ProfileFilament\ProfileFilamentPlugin;
class AdminPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugin(
ProfileFilamentPlugin::make()
);
}
}
Here is what the base profile page will look like without any configuration:
For comprehensive documentation, please visit: https://randallwilk.dev/docs/profile-filament-plugin
For convenience, you can run the setup bin script for easy installation for local development.
./bin/setup.sh
Although formatting is done automatically via workflow, you can format php code locally before committing with a composer script:
composer format
When a new release is ready, the ./bin/release.sh
script should be run. This script will compile the front-end assets provided by the package.
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review my security policy on how to report security vulnerabilities.
- Randall Wilk
- All Contributors
- livewire/livewire - For some JS code snippets
- laragear/webauthn - For inspiration on some webauthn concepts
- claudiodekker/laravel-auth - For some inspirations on multi-factor and sudo mode concepts
- protonemedia/laravel-verify-new-email - For inspirations on pending email change functionalities
Agent
service class for browser/device detection is derived from:
The MIT License (MIT). Please see License File for more information.