Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

sarmadindhar's avatar

Middle ware no working on api route

I have built a rest api using laravel passport on which only api:auth middleware works. But whenever I make a new middleware and register it into kernel file and apply on anny route it doesnt work? Is there any other way for registering middlewares for api routes

0 likes
3 replies
sarmadindhar's avatar
<?php

namespace App\Http\Middleware;

use Closure;

class ABCD
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
       if(1<2){
           return $next($request);
       }
  
    }
}

Kernel File

 protected $routeMiddleware = [
        'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
        'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
        'can' => \Illuminate\Auth\Middleware\Authorize::class,
        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
        'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
        'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
        'my_md' => \App\Http\Middleware\ABCD::class,

    ];

Route File

Route::group(['middleware' => ['auth:api','my_md']], function(){
    //customer Routes
    Route::get('customer-profile','API\CustomerController@profile');
});
Guru5005's avatar
Guru5005
Best Answer
Level 3

Try like this

Route::middleware(['auth:api', 'my_md'])->group(function () {
       Route::get('customer-profile','API\CustomerController@profile');
    });

Please or to participate in this conversation.