arkecosystem / fortify
Authentication Scaffolding for Laravel. Powered by Laravel Fortify.
Installs: 80 311
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 6
Forks: 1
Open Issues: 0
Requires
- php: ^8.0
- arkecosystem/ui: ^5.0
- danharrin/livewire-rate-limiting: ^0.3.0
- illuminate/support: ^8.0
- jenssegers/agent: ^2.6
- laravel/fortify: ^1.8
- livewire/livewire: ^2.6
- pragmarx/google2fa-laravel: ^1.3
- spatie/laravel-medialibrary: ^9.7
- spatie/laravel-newsletter: ^4.10
- spatie/laravel-personal-data-export: ^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- graham-campbell/analyzer: ^3.0
- guzzlehttp/guzzle: ^7.3
- mockery/mockery: ^1.3
- nunomaduro/larastan: ^0.6
- nunomaduro/laravel-mojito: ^0.2
- orchestra/testbench: ^6.9
- pestphp/pest: ^1.0
- pestphp/pest-plugin-faker: ^1.0
- pestphp/pest-plugin-laravel: ^1.0
- pestphp/pest-plugin-livewire: ^1.0
- pestphp/pest-plugin-parallel: ^0.3.1
- phpunit/phpunit: ^9.5
- teamtnt/laravel-scout-tntsearch-driver: ^10.0
- dev-master
- 6.0.0
- 5.0.0
- 4.11.4
- 4.11.3
- 4.11.2
- 4.11.1
- 4.11.0
- 4.10.1
- 4.10.0
- 4.9.1
- 4.9.0
- 4.8.7
- 4.8.6
- 4.8.5
- 4.8.4
- 4.8.3
- 4.8.2
- 4.8.1
- 4.8.0
- 4.7.6
- 4.7.5
- 4.7.4
- 4.7.3
- 4.7.2
- 4.7.1
- 4.7.0
- 4.6.4
- 4.6.3
- 4.6.2
- 4.6.1
- 4.6.0
- 4.5.1
- 4.5.0
- 4.4.5
- 4.4.4
- 4.4.3
- 4.4.2
- 4.4.1
- 4.4.0
- 4.3.0
- 4.2.3
- 4.2.2
- 4.2.1
- 4.2.0
- 4.1.3
- 4.1.2
- 4.1.1
- 4.1.0
- 4.0.2
- 4.0.1
- 4.0.0
- 3.15.3
- 3.15.2
- 3.15.1
- 3.15.0
- 3.14.0
- 3.13.0
- 3.12.4
- 3.12.3
- 3.12.2
- 3.12.1
- 3.12.0
- 3.11.3
- 3.11.2
- 3.11.1
- 3.11.0
- 3.10.1
- 3.10.0
- 3.9.2
- 3.9.1
- 3.9.0
- 3.8.4
- 3.8.3
- 3.8.2
- 3.8.1
- 3.8.0
- 3.7.1
- 3.7.0
- 3.6.1
- 3.6.0
- 3.5.8
- 3.5.7
- 3.5.6
- 3.5.5
- 3.5.4
- 3.5.3
- 3.5.2
- 3.5.1
- 3.5.0
- 3.4.2
- 3.4.1
- 3.4.0
- 3.3.13
- 3.3.12
- 3.3.11
- 3.3.10
- 3.3.9
- 3.3.8
- 3.3.7
- 3.3.6
- 3.3.5
- 3.3.4
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.7
- 3.2.6
- 3.2.5
- 3.2.4
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.4
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.0
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.7.8
- 1.7.7
- 1.7.6
- 1.7.5
- 1.7.4
- 1.7.3
- 1.7.2
- 1.7.1
- 1.7.0
- 1.6.0
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.1
- 1.4.0
- 1.3.9
- 1.3.8
- 1.3.6
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.3
- 1.2.1
- 1.2.0
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.0
- dev-pages
This package is auto-updated.
Last update: 2021-10-29 02:14:52 UTC
README
Authentication Scaffolding for Laravel. Powered by Laravel Fortify.
Installation
- Require with composer:
composer require arkecosystem/fortify
- Publish all the assets / views with
php artisan vendor:publish --provider="ARKEcosystem\Fortify\FortifyServiceProvider" --tag=config --tag=images
. - Disable auto-discovery for all fortify packages. This step is required so that we can control the loading order of
laravel/fortify
andarkecosystem/fortify
.
"extra": { "laravel": { "dont-discover": ["arkecosystem/fortify", "laravel/fortify"] } },
- Required Image
Projects require an image to be provided: resources/images/auth/verify-email.svg
This is omitted from fortify to prevent it being overwritten, but allows for it to be customised per project.
In the future, a config file may be a better route if there are multiple instances of images being required.
- Register the service providers in this exact order. This will ensure that our package can overwrite any bindings that
laravel/fortify
created.
Laravel\Fortify\FortifyServiceProvider::class, ARKEcosystem\Fortify\FortifyServiceProvider::class,
- Enable or disable the login/register with username or email by using the
username_alt
setting in theconfig/fortify.php
file
<?php return [ // ... 'username_alt' => 'username', // Or set that setting to `null` so the user can only login/register with email: // 'username_alt' => null, // ... ];
Note: If you use the username_alt
setting, you need to ensure that your users table has that column.
Note: Currently fortify is intended to be used with 'username' => 'email'
in your config, as it expect the email
property to be set when creating a new user.
- Register databags in your
AppServiceProvider
that are used by the auth pages
use Konceiver\DataBags\DataBag; ... public function boot() { ... $this->registerDataBags(); } private function registerDataBags(): void { DataBag::register('fortify-content', [ 'register' => [ 'pageTitle' => '', 'title' => '', 'description' => '', ], 'login' => [ 'pageTitle' => '', 'title' => '', 'description' => '', // Optional // 'signupLink' => '', ], 'password' => [ 'reset' => [ 'pageTitle' => '', ], 'request' => [ 'pageTitle' => '', ], ], 'verification' => [ 'notice' => [ 'pageTitle' => '', ], 'verify' => [ 'pageTitle' => '', ], 'send' => [ 'pageTitle' => '', ], ], 'two-factor' => [ 'login' => [ 'pageTitle' => '', ], ], ]); }
Two Factor Authentication
Under the hood we use Pragmarx Google2fa-laravel package.
For custom configuration like generating QR-Code using SVG render instead of a default Imagemagick, you can publish the default configuration and adjust it as per your needs.
- Add file download JS to Mix file
.copy('vendor/arkecosystem/ui/resources/assets/js/file-download.js', 'public/js/file-download.js')
- Include file on any page that needs it (e.g. Account Settings)
@push('scripts') <script src="{{ mix('js/file-download.js')}}"></script> @endpush
- Build assets
yarn prod
Required images
Password Confirmation modal
The password confirmation modal requires an image to be added to to the path resources/images/auth/confirm-password.svg
for the projects that use it.