从 CSRF 中间件中排除路由
发布于 作者: Eric L. Barnes
Laravel 默认情况下为所有经过应用程序的请求启用了 CSRF。这包含在内并自动处理,以简化操作。
但是,一个问题是当你使用外部服务时,你无法设置令牌。一个例子是来自第三方的 Webhook。在以前版本的 Laravel 中,要允许在每个路由的基础上进行此操作是复杂的。这里有一个 教程 说明如何在 5.0 中完成此操作。
现在,在 5.1 中,app/Http/Middleware/VerifyCsrfToken
类有一个 $except
数组属性,使这变得超级简单
protected $except = [ 'webhook/*'];
如示例所示,您可以使用通配符进行路由匹配或单独定义每个路由。在内部,此数组将通过 $request->is
运行,您可以在 请求 文档中找到更多相关信息。要了解更多关于 Laravel 的 CSRF 信息,请查看官方 文档。