Back to Main Site

Hook: auth.login.pre_token

Last updated on Jun 24, 2026 01:40

Overview

Type: Filter Location: app/Http/Controllers/Api/V1/AuthController.php

Intercepts login flow before token creation. Return a non-null response to override default behavior. Primary use case: implementing two-factor authentication (2FA).

Parameters

Param Type Description
$response mixed Default null (continue normally)
$user User Authenticated user
$request Request Login request

Return

Return null to continue normal login, or a JsonResponse to override.

Usage Example

Hook::addFilter('auth.login.pre_token', function ($response, $user, $request) {
    if ($user->hasRole('admin') && !$request->filled('otp_code')) {
        return response()->json(['requires_2fa' => true], 403);
    }
    return null;
});

PolyCMS is an open-source content management system for modern web applications, inspired by the WordPress plugin and theme ecosystem but built on top of the Laravel framework. It is designed to provide a complete foundation for content publishing, e-commerce, multi-language support, and extensible module architecture — powered by a Vue 3 admin panel with data served entirely through RESTful APIs.

Whether you're building a blog, a documentation site, an online store, or a multi-tenant SaaS platform, PolyCMS aims to give you a comprehensive starting scaffold so you can ship quickly and extend easily through integrated modules and themes. In particular, themes in PolyCMS follow a multi-theme architecture — one Main theme and an unlimited number of Sub themes can run side by side on the same installation.

We hope this ready-made foundation proves useful for building your next website, blog, or web app, saving you from having to start completely from scratch.