FortifyLimitless is an unopinionated authentication starter, powered by Laravel Fortify. This package can be used to start your project, or you can use the FortifyUi Preset Template which allows you to create your own preset that you can install with FortifyUI.
To get started, you'll need to install FortifyLimitless using Composer. This will install Laravel Fortify as well.
composer require vanthao03596/fortify-limitless
Next, you'll need to run the install command:
php artisan fortify-limitless
This command will publish FortifyLimitless's views, add the home
route to web.php
and add the FortifyLimitless service provider to your app/Providers
directory. This will also publish the service provider and config file for Laravel Fortify. Lastly, it will register both service providers in the app.php
config file, under the providers array.
That's it, you're all setup! For advanced setup and configuration options, keep reading!
Edit FortifyUIServiceProvider
.
Fortify::loginView(function () {
return view('auth.login');
});
Fortify::registerView(function () {
return view('auth.register');
});
Fortify::requestPasswordResetLinkView(function () {
return view('auth.forgot-password');
});
Fortify::resetPasswordView(function ($request) {
return view('auth.reset-password', ['request' => $request]);
});
// Fortify::verifyEmailView(function () {
// return view('auth.verify-email');
// });
// Fortify::confirmPasswordView(function () {
// return view('auth.confirm-password');
// });
// Fortify::twoFactorChallengeView(function () {
// return view('auth.two-factor-challenge');
// });
To register all views at once, you can use this instead:
Fortify::viewPrefix('auth.');
Now, you should have all of the registered views required by Laravel Fortify, including basic layout and home views, as well as optional password confirmation, email verification and two-factor authentication views.
By default, FortifyLimitless is setup to handle the basic authentication functions (Login, Register, Password Reset) provided by Laravel Fortify.
To enable the email verification feature, you'll need to visit the FortifyLimitless service provider and uncomment Fortify::verifyEmailView()
, to register the view. Then, go to the fortify.php
config file and make sure Features::emailVerification()
is uncommented. Next, you'll want to update your User
model to include the following:
use Illuminate\Contracts\Auth\MustVerifyEmail;
class User extends Authenticatable implements MustVerifyEmail
{
...
This allows you to attach the verified
middleware to any of your routes, which is handled by the verify.blade.php
file.
More info about this can be found here.
To enable the password confirmation feature, you'll need to visit the FortifyLimitless service provider and uncomment Fortify::confirmPasswordView()
, to register the view. This allows you to attach the password.confirm
middleware to any of your routes, which is handled by the password-confirm.blade.php
file.
To enable the two-factor authentication feature, you'll need to visit the FortifyLimitless service provider and uncomment Fortify::twoFactorChallengeView()
, to register the view. Then, go to the fortify.php
config file and make sure Features::twoFactorAuthentication
is uncommented. Next, you'll want to update your User
model to include the following:
use Laravel\Fortify\TwoFactorAuthenticatable;
class User extends Authenticatable
{
use HasFactory, Notifiable, TwoFactorAuthenticatable;
...
That's it! Now, you can log into your application and enable or disable two-factor authentication.
To enable the ability to update user passwords and/or profile information, go to the fortify.php
config file and make sure these features are uncommented:
Features::updateProfileInformation(),
Features::updatePasswords(),
FortifyLimitless encourges make your own presets, with your favorite frontend libraries and frameworks. To get started, visit the Fortify UI Preset Template repository, and click the "Use Template" button.
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.