/ / Come conservare i dati in una sessione di autenticazione: php, laravel, autenticazione

Come conservare i dati in una sessione di autenticazione: php, laravel, autenticazione

Sto cercando di memorizzare alcuni dati specifici di autenticazione in sessione, che vengono distrutti una volta che l'utente ha effettuato il logout.

Ho provato questo:

if ($didLogin) {
// Save the client id in session
$request->session()->put("client_id", $input["client_id"]);

return redirect()->intended("/");
}

Che funziona, ma non rimuove i dati una volta che l'utente si disconnette o si disconnette automaticamente.

Ho letto i documenti ma non sembra chiaro su questo, ho solo bisogno di alcuni dati aggiuntivi da fornire nel processo di login.

risposte:

0 per risposta № 1

Flush sessione utente al logout

Metti questo metodo nel tuo controller, ad es. UserController E ha chiamato questo metodo quando l'utente fa clic sul pulsante di disconnessione, ad es. / logout

In modo che al momento del logout utente tutti i dati di sessione sono stati svuotati ..

//User Logout
public function getLogout()
{
Session::flush();
$this->auth->logout();
return redirect("/");
}

0 per risposta № 2

Hai un sistema di autenticazione, quindi quando un utente vuole disconnettersi, clicca il seguente metodo, qui sotto Session::flush();, Che distruggerà i dati della sessione.

public function logout()
{
Auth::logout();
Session::flush();
return redirect("/login");
}

Ora hai un vuoto client_id. Puoi controllarlo come,

if ($request->session()->has("client_id")) {
return "Data exists";
}
return "Data does not exists";