J'essaie de me connecter automatiquement à l'étape 2 des étapes d'enregistrement. Après avoir réussi à insérer dans la base de données, j'utilise Auth::loginUsingId($user_id)
pour vous connecter automatiquement à l'aide de ajax. Je soumets toujours un jeton CSRF
à chaque étape.
Désormais, le problème est généré après la connexion réussie du jeton CSRF
à la connexion et la génération de Auth::user()
à l'étape 3.
De plus, avant et après la connexion, CSRF
est différent.
Tout d'abord, le jeton csrf est requis lors de l'utilisation d'une requête non-GET. Par conséquent, si l'utilisation de la requête GET semble raisonnable, vous pouvez l'utiliser.
Sinon, à l'étape 2, vous devriez renvoyer un nouveau jeton CSRF, par exemple, comme suit:
Auth::loginUsingId($user_id);
return response()->json(['csrf_token' => csrf_token()];
puis, à l'étape 3, utilisez ce nouveau jeton obtenu à partir de la réponse à l'étape 2.
Vous pouvez essayer Auth::id()
pour obtenir l'identifiant de l'utilisateur actuel.
Si vous voulez tous les détails sur l'utilisateur connecté, vous pouvez utiliser Auth::user()
.
En Auth::user()
, vous pouvez accéder à tous les détails de l'utilisateur.
Vous pouvez également vous connecter à partir du contrôleur en transmettant l'ID utilisateur Auth::login($user_id)
.
Et si vous utilisez Auth::loginUsingId()
, vous devez alors passer l'ID utilisateur et le statut true
pour mémoriser les détails.
J'aime: Auth:loginUsingId(user_id, true)
Par exemple :
Obtenir l'id de l'utilisateur: Auth::id()
Obtenir le nom de l'utilisateur: Auth::user()->name
Obtenir le courrier électronique de l'utilisateur: Auth::user()->email
etc....
Vous pouvez essayer cette méthode Auth::User()->id;
On dirait que ce n’est pas du tout un problème de CSRF . Lorsque vous créez un nouvel utilisateur, Like
$user = new App\User;
$user->username = $request->username;
...
...
$user->save();
Auth::loginUsingId($user->id);
Ensuite, placez dd(Auth::user()->id);
pour vérifier si l’utilisateur est connecté ou non.
Laissez nous savoir.