我知道流明用于会话较少的API开发仍然我有一个情况,我需要启用CSRF token.Session每个认为工作正常,但我需要启用csrf令牌,如果我添加
<input type="hidden" name="_token" value="{{ csrf_token() }}">
表格我收到错误
(1/1)ReflectionException类 Laravel \ Lumen \ Http \ Middleware \ VerifyCsrfToken不存在
在bootstrap / app.php中我没有注释
$app->middleware([
'Illuminate\Cookie\Middleware\EncryptCookies',
'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
'Illuminate\Session\Middleware\StartSession',
'Illuminate\View\Middleware\ShareErrorsFromSession',
'Laravel\Lumen\Http\Middleware\VerifyCsrfToken',
]);
即使我已启用
$app->routeMiddleware([
'auth' => App\Http\Middleware\Authenticate::class,
'csrf' => 'Laravel\Lumen\Http\Middleware\VerifyCsrfToken'
]);
如果我在中间件中评论csrf,那么我会得到以下错误
在刀片
中调用未定义的函数csrf_token()我正在使用laravel "laravel/lumen-framework": "5.5.*",
任何人都可以帮助我如何在流明中启用VerifyCsrfToken
答案 0 :(得分:1)
答案 1 :(得分:0)
发生了同样的问题。如果将来有人在这里发布。
发现他们从5.2版开始删除了所有csrf
内容(从哪个版本开始不确定)。要在Lumen 5.5或更高版本中使用csrf,您需要创建自己或从该特定版本的laravel软件包中复制VerifyCsrfToken
中间件文件(在github中找到),并将其放置在lumen中间件文件夹中,并在bootstrap/app.php
中调整路径相应地。
您可能还需要手动安装illuminate/cookie
或其他必需的软件包。
VerifyCsrfToken.php
文件可在laravel/framework/src/illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php