I am using Sanctum in my laravel 11 application. Able to create token in login. But api is not able to authenticate using the generated token. No error showing. The server stops with showing any error.
config/auth.php
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'members',
],
'api' => [
'driver' => 'sanctum',
'provider' => 'members',
'hash' => false,
],
],
'providers' => [
'members' => [
'driver' => 'eloquent',
'model' => AppModelsMember::class,
],
],
Kernel.php
protected $middleware = [
AppHttpMiddlewareTrustHosts::class,
AppHttpMiddlewareTrustProxies::class,
AppHttpMiddlewarePreventRequestsDuringMaintenance::class,
IlluminateFoundationHttpMiddlewareValidatePostSize::class,
IlluminateCookieMiddlewareAddQueuedCookiesToResponse::class,
IlluminateSessionMiddlewareAuthenticateSession::class,
IlluminateViewMiddlewareShareErrorsFromSession::class,
AppHttpMiddlewareVerifyCsrfToken::class,
IlluminateRoutingMiddlewareSubstituteBindings::class,
];
protected $middlewareGroups = [
'api' => [
LaravelSanctumHttpMiddlewareEnsureFrontendRequestsAreStateful::class,
'throttle:api',
IlluminateRoutingMiddlewareSubstituteBindings::class,
],
];
protected $routeMiddleware = [
'auth' => AppHttpMiddlewareAuthenticate::class,
'auth.dap' => AppHttpMiddlewareDapAuthentication::class,
'auth.basic' => IlluminateAuthMiddlewareAuthenticateWithBasicAuth::class,
'cache.headers' => IlluminateHttpMiddlewareSetCacheHeaders::class,
'can' => IlluminateAuthMiddlewareAuthorize::class,
'guest' => AppHttpMiddlewareRedirectIfAuthenticated::class,
'password.confirm' => IlluminateAuthMiddlewareRequirePassword::class,
'signed' => IlluminateRoutingMiddlewareValidateSignature::class,
'throttle' => IlluminateRoutingMiddlewareThrottleRequests::class,
'verified' => IlluminateAuthMiddlewareEnsureEmailIsVerified::class,
'role' => SpatiePermissionMiddlewaresRoleMiddleware::class,
'permission' => SpatiePermissionMiddlewaresPermissionMiddleware::class,
'role_or_permission' => SpatiePermissionMiddlewaresRoleOrPermissionMiddleware::class,
'has_business_access' => AppHttpMiddlewareHasBusinessAccess::class,
'create-link.verify' => AppHttpMiddlewareVerifyCreateLink::class,
'chilli-token.verify' => AppHttpMiddlewareVerifyChilliToken::class,
'twilio-callback.verify' => AppHttpMiddlewareTwilioRequestValidator::class,
'whatsapp-callback.verify' => AppHttpMiddlewareValidateWhatsAppWebhook::class,
'XSS' => AppHttpMiddlewareXSS::class
];
api.php
Route::get('/profile', [AuthController::class, 'profile'])->middleware('auth:sanctum');
The route works with out middleware(‘auth:sanctum’)