Bonjour,
Je cherche simplement à connecter un utilisateur après avoir confirmé son compte en cliquant sur le lien d'un mail.
mais le problème c'est que lorsque je connecte manuellement l'utilisateur, je n'obtient pas d'erreur mais ça ne le connecte pas non plus.

Mon code

d'abord, je récupère mon utilisateur et j'ai bien verifié qu'il ne soit pas vide.
Ensuite, je veux le connecter:

Auth::loginUsingId($user->id);

si je fais juste après

dd(Auth::check());

ça me renvoi bien 'true' mais si je veux récupérer l'utilisateur courant dans le reste de mon application, il n'est plus connecté.
je ne comprend pas.

Ce que j'obtiens

j'ai créer une route de test

Route::get('/connect', function(){
    dd(Auth::user());
});

mais elle me retourne toujours 'null', meme après avoir connecté mon utilisateur

3 réponses


alexisgeneau
Auteur
Réponse acceptée

Merci pour ta réponse.
Je viens de comprendre mon erreur, en fait je travaillais encore avec l'ancienne version de Laravel et depuis une mise à jour, il faut utiliser le middleware 'web' afin qu'il gère les cookies et la session.
Mon utilisateur était bien connecté mais dès que je changais de page, il ne l'était plus car je n'avais pas le cookie 'laravel_session'

Je viens de m'apercevoir qu'aucun cookie n'etait présent afin de me laisser connecté sur l'application.
quelqu'un sait pourquoi ?

Un utilisateur se connecte avec la méthode attempt :

Auth::attempt(['email' => $email, 'password' => $password], $request->has('remember')