Laravel 5.3-如何在没有CSRF的情况下向"API"添加会话? [英] Laravel 5.3 - How to add Sessions to `API` without CSRF?
本文介绍了Laravel 5.3-如何在没有CSRF的情况下向"API"添加会话?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试构建api
,由于某种原因,我需要进行会话.但是,如果包含web
中间件,则会出现CSRF
错误,如果不包含,我将无法启动session
.
Im trying to build an api
, and for some reason I need sessions. But if I include web
middleware I get CSRF
errors, and if I dont I cant have session
started.
该如何解决?
推荐答案
转到app/Http/Kernel.php,然后将自己的名称(如会话")添加到$ middlewareGroups中.它应该包含\ Illuminate \ Session \ Middleware \ StartSession :: class
go to app/Http/Kernel.php and add your own name like 'sessions' to the $middlewareGroups. It should contain \Illuminate\Session\Middleware\StartSession::class,
为您想要的那些路线分配会话".
Assign 'sessions' to those routes you want.
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
],
'api' => [
'throttle:60,1',
],
'sessions' => [
\Illuminate\Session\Middleware\StartSession::class,
]
];
routes/api.php
routes/api.php
Route::group(['middleware' => ['sessions']], function () {
Route::resource(...);
});
这篇关于Laravel 5.3-如何在没有CSRF的情况下向"API"添加会话?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文