gpt4 book ai didi

php - 在 Laravel 5 中,如何禁用特定路由的 VerifycsrfToken 中间件?

转载 作者:IT王子 更新时间:2023-10-28 23:44:35 37 4
gpt4 key购买 nike

我正在使用 Laravel 5 开发应用程序。我的应用程序与 VendHQ API 连接,我打算通过他们的 webhook 从 VendHQ 获取一些数据。根据他们的Documentation

When an event happens and triggers a webhook, we’ll send a POST request to a URL of your choosing. The POST request will be in the UTF-8 charset, and application/x-www-form-urlencoded encoding.

问题是,当他们尝试向我的 Laravel 应用发送 POST 请求时,他们的 post 请求中没有添加 CSRF token ,并且 VerifyCsrfToken 中间件正在寻找 token ,最后它抛出一个 TokenMismatchException

我的问题是,我怎样才能避免这个默认的 VerifyCsrfToken 某些特定路由的中间件,同时保持其他发布请求处于事件状态?

最佳答案

在 Laravel 5 中,这已经发生了一些变化。现在您可以简单地在类的 $except 数组中添加要从 csrftoken 验证中排除的路由

'VerifyCsrfToken' (\app\Http\Middleware\VerifyCsrfToken.php):

class VerifyCsrfToken extends BaseVerifier
{
protected $except = [
// Place your URIs here
];
}

示例:

1。如果您使用的是路由组:

Route::group(array('prefix' => 'api/v2'), function()
{
Route::post('users/valid','UsersController@valid');
});

您的 $except 数组如下所示:

protected $except = ['api/v2/users/valid'];

2。如果您使用的是简单路线

Route::post('users/valid','UsersController@valid');

您的 $except 数组如下所示:

protected $except = ['users/valid'];

3。如果要排除主路由下的所有路由(本例中为用户)

您的 $except 数组如下所示:

protected $except = ['users/*'];

见:http://laravel.com/docs/master/routing#csrf-excluding-uris

关于php - 在 Laravel 5 中,如何禁用特定路由的 VerifycsrfToken 中间件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31223189/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com