本文介紹了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 并將您自己的名稱(如sessions")添加到 $middlewareGroups.它應該包含IlluminateSessionMiddlewareStartSession::class,
go to app/Http/Kernel.php and add your own name like 'sessions' to the $middlewareGroups. It should contain IlluminateSessionMiddlewareStartSession::class,
為您想要的路線分配會話".
Assign 'sessions' to those routes you want.
protected $middlewareGroups = [
'web' => [
AppHttpMiddlewareEncryptCookies::class,
IlluminateCookieMiddlewareAddQueuedCookiesToResponse::class,
IlluminateSessionMiddlewareStartSession::class,
IlluminateViewMiddlewareShareErrorsFromSession::class,
AppHttpMiddlewareVerifyCsrfToken::class,
],
'api' => [
'throttle:60,1',
],
'sessions' => [
IlluminateSessionMiddlewareStartSession::class,
]
];
路由/api.php
Route::group(['middleware' => ['sessions']], function () {
Route::resource(...);
});
這篇關于Laravel 5.3 - 如何在沒有 CSRF 的情況下將會話添加到`API`?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!