假設我們要跳過的 url 是 /webhook/reply
Laravel 11 之前的實作方式
在 Laravel 11,最容易的方法是修改 AppServiceProvider.php
class AppServiceProvider extends ServiceProvider
{
...
public function boot()
{
...
\Illuminate\Foundation\Http\Middleware\VerifyCsrfToken::except([
'webhook/reply',
// 也可以用萬用字元
'otherwebhook/*',
]);
}
}
Laravel 12 的實作方式
return Application::configure(basePath: dirname(__DIR__))
...
->withMiddleware(function (Middleware $middleware) {
//
$middleware->validateCsrfTokens(except: [
'webhook/reply',
'webhook/*',
]);
})
...
Reference
Laravel 11 – Disable CSRF for a route
Comments