artmin96/filament-password-less

Password-less for Filament

1.0.3 2023-07-17 11:24 UTC

This package is auto-updated.

Last update: 2024-10-17 14:13:35 UTC


README

Filament Password-less cover art

Password-less login for Filament

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Password-less authentication is the process of verifying a software user’s identity with something other than a password.

Screenshots

Screenshot of Login Screenshot of Passphrase expired Screenshot of Passphrase sent Screenshot of Passphrase re-sent

Installation

You can install the package via composer:

composer require artmin96/filament-password-less

Update the config/filament.php to point to the PasswordLess Login::class:

'auth' => [
    'guard' => env('FILAMENT_AUTH_GUARD', 'web'),
    'pages' => [
        'login' => \ArtMin96\FilamentPasswordLess\Http\Livewire\Auth\Login::class,
    ],
],

You can publish the config file with:

php artisan vendor:publish --tag="filament-password-less-config"

This is the contents of the published config file:

return [
    /**
     * Magic link
     *
     * Maybe you want to log in with a temporary generated link.
     * If yes, set it to true.
     */
    'using_magic_link' => false,

    /**
     * Rate limit count
     */
    'rate_limit_count' => 5,

    /**
     * Passphrase count
     *
     * Passphrase is a combination of 3 or 4 words separated by hyphens.
     */
    'passphrase_count' => 3,

    /**
     * Passphrase expiry (minutes)
     */
    'passphrase_expiry' => 15,

    /**
     * User model
     */
    'user_model' => \App\Models\User::class,

    /**
     * Login confirmation page component
     *
     * If you want to change something, place your component here.
     */
    'confirm_passphrase_component' => \ArtMin96\FilamentPasswordLess\Http\Livewire\Auth\Confirm::class,
];

Optionally, you can publish the views using

php artisan vendor:publish --tag="filament-password-less-views"

Usage

Add the ArtMin96\FilamentPasswordLess\Traits\PasswordLessLogin trait to your User model(s):

use Illuminate\Foundation\Auth\User as Authenticatable;
use ArtMin96\FilamentPasswordLess\Traits\PasswordLessLogin;

class User extends Authenticatable
{
    use PasswordLessLogin;

    // ...
}

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.