All Projects → zacksmash → Fortify Ui

zacksmash / Fortify Ui

Licence: mit
Laravel Fortify driven replacement to the Laravel UI package

Projects that are alternatives of or similar to Fortify Ui

Sentinel
A framework agnostic authentication & authorization system.
Stars: ✭ 1,354 (+605.21%)
Mutual labels:  laravel, authentication
Laravel Bootstrap Components
Bootstrap components as Laravel components
Stars: ✭ 190 (-1.04%)
Mutual labels:  laravel, blade
Laravel Passport Android
Laravel + Passport for an Android App
Stars: ✭ 116 (-39.58%)
Mutual labels:  laravel, authentication
Laravel Blade Snippets Vscode
Laravel blade snippets and syntax highlight support for Visual Studio Code
Stars: ✭ 80 (-58.33%)
Mutual labels:  laravel, blade
Laravel Scaffold
The base for developing awesome projects
Stars: ✭ 142 (-26.04%)
Mutual labels:  laravel, authentication
Tall Dashboard
Tailwind CSS + AlpineJS + Laravel + Livewire dashboard (WIP)
Stars: ✭ 83 (-56.77%)
Mutual labels:  laravel, blade
Laravel Auth
A powerful authentication, authorization and verification package built on top of Laravel. It provides developers with Role Based Access Control, Two-Factor Authentication, Social Authentication, and much more, compatible Laravel’s standard API and fully featured out of the box.
Stars: ✭ 128 (-33.33%)
Mutual labels:  laravel, authentication
Laravel Generator
laravel-generator / laravel代码生成器
Stars: ✭ 61 (-68.23%)
Mutual labels:  laravel, blade
Jigsaw
Simple static sites with Laravel’s Blade.
Stars: ✭ 1,823 (+849.48%)
Mutual labels:  laravel, blade
Blade Extensions
Laravel Blade Extension Classes for Laravel 5
Stars: ✭ 136 (-29.17%)
Mutual labels:  laravel, blade
Brandenburg
Laravel Authentication Package
Stars: ✭ 79 (-58.85%)
Mutual labels:  laravel, authentication
Blade Heroicons
A package to easily make use of Heroicons in your Laravel Blade views.
Stars: ✭ 173 (-9.9%)
Mutual labels:  laravel, blade
Blade Icons
A package to easily make use of SVG icons in your Laravel Blade views.
Stars: ✭ 1,181 (+515.1%)
Mutual labels:  laravel, blade
Laravel Single Session
This package prevents a User from being logged in more than once. It destroys the previous session when a User logs in and thereby allowing only one session per user.
Stars: ✭ 95 (-50.52%)
Mutual labels:  laravel, authentication
Laravel Tinymce Simple Imageupload
Simple image upload for TinyMCE in Laravel.
Stars: ✭ 66 (-65.62%)
Mutual labels:  laravel, blade
Jwt Auth
🔐 JSON Web Token Authentication for Laravel & Lumen
Stars: ✭ 10,305 (+5267.19%)
Mutual labels:  laravel, authentication
Authen
🚦 User Authentication Identifiers for Laravel
Stars: ✭ 53 (-72.4%)
Mutual labels:  laravel, authentication
Larawind
Larawind - Laravel 8.0+ Jetstream and Tailwind CSS Admin Theme
Stars: ✭ 55 (-71.35%)
Mutual labels:  laravel, blade
Multi Auth
Laravel Multi-Authentication Package
Stars: ✭ 131 (-31.77%)
Mutual labels:  laravel, authentication
Base
YASCMF 基础开发版(YASCMF/BASE)
Stars: ✭ 162 (-15.62%)
Mutual labels:  laravel, blade

Introduction

FortifyUI is an unopinionated authentication starter, powered by Laravel Fortify. It is completely unstyled -- on purpose -- and only includes a minimal amount of markup to get your project running quickly. 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.

In a nutshell...

FortifyUI automates the base installation and configuration of Laravel Fortify, it includes the features that Laravel Fortify recommends implementing yourself and it provides the scaffolding for you to build your own UI around it. Hence, Fortify + UI.


Installation

To get started, you'll need to install FortifyUI using Composer. This will install Laravel Fortify as well so, please make sure you do not have it installed, already.

composer require zacksmash/fortify-ui

Next, you'll need to run the install command:

php artisan fortify:ui

This command will publish FortifyUI's views, add the home route to web.php and add the FortifyUI 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!

Configuration

The FortifyUI service provider registers the views for all of the authentication features. If you'd rather not include the FortifyUI service provider, you can skip generating it by using the --skip-provider flag.

php artisan fortify:ui --skip-provider

Then, you can add this to your AppServiceProvider or FortifyServiceProvider, in the boot() method.

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.

Features

By default, FortifyUI is setup to handle the basic authentication functions (Login, Register, Password Reset) provided by Laravel Fortify.

Email Verification

To enable the email verification feature, you'll need to visit the FortifyUI 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.

Password Confirmation

To enable the password confirmation feature, you'll need to visit the FortifyUI 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.

Two-Factor Authentication

To enable the two-factor authentication feature, you'll need to visit the FortifyUI 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.

Update User Password/Profile

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(),

FortifyUI Presets

FortifyUI encourges make your own presets, with your favorite frontend libraries and frameworks. To get started, visit the FortifyUI Preset Template repository, and click the "Use Template" button.

Community Presets

Here's a list of presets created by the community:

If you've created a preset, please open an issue or PR to add it to the list!

License

FortifyUI is open-sourced software licensed under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].