仅针对单个方法删除csrf令牌-Laravel
我正在使用paytabs支付网关api。在该api中,必须给定重定向url,以便一旦事务完成,页面将自动重定向到给定的重定向url。url是一个GET url,但由于api的响应是POST类型,所以我无法使用GET url。为了解决这个问题,我将该路由设置为POST url,但通过设置为POST方法,我没有获得任何CSRF令牌。最后,我得到了这个问题仅针对单个方法删除csrf令牌-Laravel,laravel,laravel-5,laravel-routing,csrf-protection,Laravel,Laravel 5,Laravel Routing,Csrf Protection,我正在使用paytabs支付网关api。在该api中,必须给定重定向url,以便一旦事务完成,页面将自动重定向到给定的重定向url。url是一个GET url,但由于api的响应是POST类型,所以我无法使用GET url。为了解决这个问题,我将该路由设置为POST url,但通过设置为POST方法,我没有获得任何CSRF令牌。最后,我得到了这个问题 TokenMismatchException in VerifyCsrfToken.php line 68: 有没有什么方法可以让我只为一个帖子
TokenMismatchException in VerifyCsrfToken.php line 68:
有没有什么方法可以让我只为一个帖子url取消CSRF令牌功能
--尝试过的建议--
我是按照你的建议做的
class VerifyCsrfToken extends Middleware
{
protected $except = [
'signup/complete',
];
}
而现在
Class 'Middleware' not found
发件人:
通常,您应该将这些类型的路由放置在RouteServiceProvider应用于routes/web.php
文件中所有路由的web中间件组之外。但是,您也可以通过将路由的URI添加到VerifyCsrfToken
中间件的$except属性来排除路由:
您可以在csrf中间件中创建异常。转到app/http/Middleware/VirefyCsrfToken.php
class VerifyCsrfToken extends BaseVerifier{
protected $except = [
'route url1',
'route url2',
]
}
了解如何使用localhost
在项目文件夹/app/http/middleware/VerifyCsrfToken.php中编辑
protected $except = [
//
'http://localhost/blog/return_url', // your url
];
Thanx感谢您的帮助@alexey,但它给出了另一个错误并停止了我的every routes。@nerdyDev编辑现有的中间件,而不是创建新的中间件。我已经更新了问题,在问题下,我已经按照您所说的在web.php中做了更改,以及有问题的回答。谢谢这个url不在中间件下,它只是分开的。我以表格的形式提供了处理这个代币的方法,而不是通过路线。这很有效@alexey,非常感谢。你应该投赞成票。再次感谢。您使用哪一版本的laravel 5?
protected $except = [
//
'http://localhost/blog/return_url', // your url
];