仅针对单个方法删除CSRF令牌-Laravel

ner*_*Dev 4 csrf-protection laravel laravel-routing laravel-5

我正在使用paytabs付款网关api。在该api中,必须提供重定向网址,以便在交易完成后,页面将自动重定向到您指定的重定向网址。该网址是一个GET网址,但是由于api的响应是POST类型,因此我无法使用get网址。为了解决该问题,我将该路由设置为POST URL,但是通过将其设置为post方法,则没有获得任何CSRF令牌。最后,我得到了这个问题。

TokenMismatchException in VerifyCsrfToken.php line 68:
Run Code Online (Sandbox Code Playgroud)

有什么方法可以让我仅针对单个POST URL否定CSRF令牌功能?

-建议试用- 根据您的建议,我这样做了

class VerifyCsrfToken extends Middleware
{
    protected $except = [
        'signup/complete',
    ];
}
Run Code Online (Sandbox Code Playgroud)

现在越来越

Class 'Middleware' not found
Run Code Online (Sandbox Code Playgroud)

Ale*_*nin 5

文档

通常,您应将这类路由放置在RouteServiceProvider应用于routes/web.php文件中所有路由的Web中间件组之外 。但是,您也可以通过将路由的URI添加到VerifyCsrfToken中间件的$ except属性中来排除路由:

class VerifyCsrfToken extends Middleware
{
    protected $except = [
        'stripe/*',
        'http://example.com/foo/bar',
        'http://example.com/foo/*',
    ];
}
Run Code Online (Sandbox Code Playgroud)

  • 这工作@alexey非常感谢。您值得投票。再次感谢。 (2认同)