How to Disable Laravel Passport routes? There was an option to disable Laravel Passport routes by Passport::ignoreRoutes() in the AuthServiceProvider. As there's no AuthServiceProvider exposed in Laravel 11, how to do it now?
Does not work putting in AppServiceProvider
@Md . Kamrul Haque show your code
<?php
namespace App\Providers;
use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\RateLimiter;
use Illuminate\Support\ServiceProvider;
use Knuckles\Camel\Extraction\ExtractedEndpointData;
use Knuckles\Scribe\Scribe;
use Laravel\Passport\Passport;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*/
public function register(): void
{
//
}
/**
* Bootstrap any application services.
*/
public function boot(): void
{
Passport::ignoreRoutes();
RateLimiter::for('api', function (Request $request) {
return Limit::perSecond(1)
->perMinute(10)
->by($request->user()?->id ?: $request->ip())
->response(function (Request $request, array $headers) {
return response()->json('Too many attempts, please wait before you retry', 429, $headers);
});
});
if (class_exists(Scribe::class)) {
Scribe::beforeResponseCall(function (Request $request, ExtractedEndpointData $endpointData) {
$clientId = config('services.scribe.oauth_client_id');
$clientSecret = config('services.scribe.oauth_client_secret');
$tokenUrl = config('app.url') . '/oauth/token';
$response = Http::asForm()->post($tokenUrl, [
'grant_type' => 'client_credentials',
'client_id' => $clientId,
'client_secret' => $clientSecret,
]);
if ($response->successful()) {
$token = $response->json()['access_token'];
$request->headers->add(["Authorization" => "Bearer $token"]);
}
else {
throw new \Exception('Failed to retrieve OAuth token');
}
});
}
}
}
@tykus It needs to be put within register method. Thanks for your quick response.
Please sign in or create an account to participate in this conversation.