let's make it quick...
so i created a new laravel 9 project and using laravel/sanctum version 3.0 and while i use auth:sanctum middleware on any route (in code below my problem is on "posts" route group) i will get this error ("cors" middleware is working fine):
The GET method is not supported for this route. Supported methods: POST
here is my api file code:
<?php
use App\Http\Controllers\ImageController;
use App\Http\Controllers\AuthController;
use App\Http\Controllers\PostController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
// Post Routes
Route::middleware(["cors"])->controller(PostController::class)->prefix("posts")->group(
function () {
Route::get("/", "index");
Route::post("/", "store")->middleware("auth:sanctum");
Route::patch("/", "update");
Route::delete("/", "delete");
}
);
// Auth
Route::get("/sanctum/csrf-cookie");
Route::middleware("cors")->controller(AuthController::class)->group(function () {
Route::post("/authenticate", "authenticate")->name("login");
});
// Upload Images
Route::post("upload", [ImageController::class, "upload"]);
and here is my full error that i get in postman:
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException: The GET method is not supported for this route. Supported methods: POST. in file E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Routing\AbstractRouteCollection.php on line 118
#0 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Routing\AbstractRouteCollection.php(104): Illuminate\Routing\AbstractRouteCollection->methodNotAllowed(Array, 'GET')
#1 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Routing\AbstractRouteCollection.php(41): Illuminate\Routing\AbstractRouteCollection->getRouteForMethods(Object(Illuminate\Http\Request), Array)
#2 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Routing\RouteCollection.php(162): Illuminate\Routing\AbstractRouteCollection->handleMatchedRoute(Object(Illuminate\Http\Request), NULL)
#3 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Routing\Router.php(680): Illuminate\Routing\RouteCollection->match(Object(Illuminate\Http\Request))
#4 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Routing\Router.php(667): Illuminate\Routing\Router->findRoute(Object(Illuminate\Http\Request))
#5 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Routing\Router.php(656): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#6 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(167): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#7 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(141): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#8 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#9 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#10 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle(Object(Illuminate\Http\Request), Object(Closure))
#11 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#12 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TrimStrings.php(40): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#13 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Foundation\Http\Middleware\TrimStrings->handle(Object(Illuminate\Http\Request), Object(Closure))
#14 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#15 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#16 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance.php(86): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#17 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle(Object(Illuminate\Http\Request), Object(Closure))
#18 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Http\Middleware\HandleCors.php(62): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#19 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Http\Middleware\HandleCors->handle(Object(Illuminate\Http\Request), Object(Closure))
#20 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Http\Middleware\TrustProxies.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#21 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Http\Middleware\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))
#22 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#23 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(142): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#24 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(111): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#25 E:\Laravel\khoonemikham\public\index.php(52): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#26 E:\Laravel\khoonemikham\vendor\laravel\framework\src\Illuminate\Foundation\resources\server.php(16): require_once('E:\\Laravel\\khoo...')
#27 {main}
I debugged and the functions inside "PostController" didn't run when "auth:sanctum" is used. I'm searched the whole internet and no answer...
oh... I should mention that it's my first laravel project (not even a gunior :( );