1. Go to this page and download the library: Download sh4msi/filament-otp library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
sh4msi / filament-otp example snippets
return [
/**
* The authentication model to use.
*/
'user_model' => \App\Models\User::class,
/**
* login columns
*/
'login_key' => 'email',
'login_key_rule' => ['email', ' */
'token_type' => 'number',
/**
* token expiry (minutes)
*/
'token_expiry' => 15,
/**
* Rate limit count
*/
'rate_limit_count' => 3,
/**
* Rate limit decay seconds
*/
'rate_limit_decay_seconds' => 30,
/**
* Token generator class must implement TokenGeneratorInterface
*/
'token_generator' => \Sh4msi\FilamentOtp\Utility\TokenGenerator::class,
/**
* Token notification class
*/
'token_notification' => \Sh4msi\FilamentOtp\Notifications\NotificationOTP::class,
/**
* Login confirmation page component
*
* If you want to change something, place your component here.
*/
'confirm_token_component' => \Sh4msi\FilamentOtp\Http\Livewire\Auth\ConfirmOTP::class,
'login_otp_component' => \Sh4msi\FilamentOtp\Http\Livewire\Auth\LoginOTP::class,
];
use Illuminate\Foundation\Auth\User as Authenticatable;
use Sh4msi\FilamentOtp\Traits\OtpLogin;
class User extends Authenticatable
{
use OtpLogin;
// ...
}
use Filament\Panel;
use Illuminate\Contracts\View\View;
public function panel(Panel $panel): Panel
{
return $panel
// ...
->renderHook(
'panels::auth.login.form.after',
fn (): View => View('filament-otp::livewire.login-otp-btn'),
)
}