РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗ppflSpMfCu 156 of 250 menu
◀ ▶

Свой способ проверки в Filament

Давайте сделаем свой способ. Класс провайдера задаёт поле кода на /admin/login и регистрируется в панели.

PinAuthentication.php реализует контракт MultiFactorAuthenticationProvider. Метод схемы входа отдаёт TextInput с именем code.

<?php namespace App\Filament\Auth; use Filament\Auth\MultiFactor\Contracts\MultiFactorAuthenticationProvider; use Filament\Forms\Components\TextInput; use Illuminate\Contracts\Auth\Authenticatable; class PinAuthentication implements MultiFactorAuthenticationProvider { public static function make(): static { return app(static::class); } public function getId(): string { return 'pin'; } public function getLoginFormLabel(): string { return 'PIN'; } public function isEnabled(Authenticatable $user): bool { return true; } public function getManagementSchemaComponents(): array { return []; } public function getChallengeFormComponents(Authenticatable $user): array { return [ TextInput::make('code') ->label('PIN code') ->required(), ]; } } ?>

Подключим провайдер в AdminPanelProvider.php:

<?php namespace App\Providers\Filament; use App\Filament\Auth\PinAuthentication; use Filament\Panel; use Filament\PanelProvider; class AdminPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel ->default() ->id('admin') ->path('admin') ->login() ->multiFactorAuthentication([ PinAuthentication::make(), ]); } } ?>

Спросите при входе короткий цифровой код своим способом.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить