Laravel 5.4では、私のルート/ web.phpにAPIをいくつか作成しました。これらのAPIは.NETアプリケーションによって呼び出されます。 最初に呼び出されるAPIはログインです。その後、私はいくつかのデータをセッションに入れます。 他のAPIを呼び出す前に、データがセッション中であるかどうかを確認しますが、最初の呼び出し(ログイン)後に2番目の呼び出しを呼び出すと、セッションがフラッシュ/期限切れに見えます。Laravel APIのセッションが終了しました
ここに私の経路コード:
// API
Route::group(["prefix" => "api"], function() {
// Login
Route::post("login", "[email protected]");
Route::group(["middleware" => "isNotAuthenticatedAPI"], function() {
Route::group(["middleware" => "loginDBUser"], function() {
// Importazioni
Route::group(["prefix" => "importazioni"], function() {
// Utenti
Route::post("utenti", "[email protected]");
// Attività (Abbonamenti)
Route::post("attivita", "[email protected]");
// Iscrizioni
Route::post("iscrizioni", "[email protected]");
});
// Richieste
Route::group(["prefix" => "richieste"], function() {
// Ultima iscrizione
Route::post("ultima_iscrizione/{subscription_external_id?}", "[email protected]");
});
});
});
});
ミドルウェアisNotAuthenticatedAPI:
public function handle($request, Closure $next) {
$res = [
"result" => null,
"errors" => [
]
];
if (!$request->session()->get("user.api")) {
$res["result"] = false;
$res["errors"][] = [
"code" => APIController::WARNING_SESSION_EXPIRED,
"message" => trans("api.w_session_expired")
];
return response()->json($res);
}
return $next($request);
}
私のconfig/session.php:
'lifetime' => 120,
'expire_on_close' => false,
私は/ルートへのルートのコードを入れてみましたapi.phpが、結果は変わりません。
APIを実装するには、api.phpルータ –