filamentphp/filament · error · LogicException
The user model must implement the [Filament\Auth\MultiFactor
Error message
The user model must implement the [Filament\Auth\MultiFactor\App\Contracts\HasAppAuthentication] interface to use app authentication.
What it means
Error "The user model must implement the [Filament\Auth\MultiFactor\App\Contracts\HasAppAuthentication] interface to use app authentication." thrown in filamentphp/filament.
Source
Thrown at packages/panels/src/Auth/MultiFactor/App/AppAuthentication.php:72
public static function make(): static
{
return app(static::class);
}
public function getId(): string
{
return 'app';
}
public function getLoginFormLabel(): string
{
return __('filament-panels::auth/multi-factor/app/provider.login_form.label');
}
public function isEnabled(Authenticatable $user): bool
{
if (! ($user instanceof HasAppAuthentication)) {
throw new LogicException('The user model must implement the [' . HasAppAuthentication::class . '] interface to use app authentication.');
}
return filled($user->getAppAuthenticationSecret());
}
public function getHolderName(HasAppAuthentication $user): string
{
return $user->getAppAuthenticationHolderName();
}
public function getSecret(HasAppAuthentication $user): string
{
$secret = $user->getAppAuthenticationSecret();
if (blank($secret)) {
throw new LogicException('The user does not have a app authentication secret.');
}
View on GitHub (pinned to 53483fa934)
When it happens
Trigger: Thrown at packages/panels/src/Auth/MultiFactor/App/AppAuthentication.php:72 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Authentication and authorization failures — expired tokens, bad credentials, and missing scopes.
AI-assisted analysis of filamentphp/filament@53483fa934 (2026-08-17).
Data as JSON: /api/errors/36bd51499edd7a6d.
Report an issue: GitHub.