Giter Club home page Giter Club logo

fortify-tabler's Introduction

Latest Stable Version Total Downloads PHP Version Support License

Introduction

Laravel 8 has a new and very efficient application scaffolding package called Jetstream, many users however do not want to learn a new framework (TailWind CSS). Luckily, the backend of Jetstream has been made available under the name of Fortify. Fortify is a headless authentication backend without any pre-configured frontend templates which is a disadvantage. FortifyUI improves Fortify by adding that missing feature.

This package is a preset for FortifyUI, it brings ready-to-use and beautiful templates for the most important pages which include: login, registration, password reset pages and two factor authentication. In the latest release, avatars and device management are introduced. The templates are based and build on the Tabler.io framework which is build with Bootstrap 5.0.

This preset includes Tabler assets for release 1.0.0-alpha.21.

Installation

To get started please install the package using composer. This command also installs FortifyUI so you shouldn't install it first.

composer require proxeuse/fortify-tabler

Once installed, please run the installer using the following PHP artisan command. The installer will take you through the installation process and ask you some questions.

php artisan tabler:install

Please do not forget to run the php artisan migrate command after the successfull installation!

Update Instructions

You are able to perform certain updates using the built in updater. This updater will try to override certain files which are included in a new release. Please note that changes applied to those files will be discarded and you should make sure your changes are safe.

Firstly, make sure that you update all files from the repository. This can be done by running the following command or by copying the contents of the repository to your /vendor/proxeuse/fortify-tabler/ folder.

composer update

Once succeeded, you should run the built in update command. You're able to choose between a couple of different updates.

php artisan fortify:update

The command above will update all files, it functions the same as the --type=full command. All of other the options are listed below:

Command Action
php artisan tabler:update --type=full This will override all files originally installed by the installer.
php artisan tabler:update --type=views This will override all views which are used by the installer.
php artisan tabler:update --type=language This will replace the language files with updated ones.
php artisan tabler:update --type=controllers This will update the controllers which are used by the package.
php artisan tabler:update --type=public This will update all public resources, including for example .css and .js files.

Set session driver to database

This package features a function for users to force-logout devices from their account. In order for this function to work you'll need to have set the session driver to database. This can be done by chaning the SESSION_DRIVER variable in the .env file to database. A part of the file will look like the one below. In this example the session lifetime is set to 5 days instead of the default 2 hours.

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=database
SESSION_LIFETIME=7200

Two Factor Authentication

For the 2FA to work, you'll need to perform some manual steps. Firstly, uncomment Fortify::twoFactorChallengeView() from your /app/Providers/FortifyUIServiceProvider.php file 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;
    ...

Mail Verification

To enable the email verification feature, you'll need to visit the FortifyUI service provider (/app/Providers/FortifyUIServiceProvider.php) 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.

Password Confirmation

To enable the password confirmation feature, you'll need to visit the FortifyUI service provider (/app/Providers/FortifyUIServiceProvider.php) and uncomment Fortify::confirmPasswordView(), to register the view. This allows you to attach the password.confirm middleware to any of your routes.

Update User Profile and Password

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

Screenshot

License

fortify-tabler is open-sourced software licensed under the MIT license.

fortify-tabler's People

Contributors

roelreijneveld avatar syahzul avatar rsmn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.