2 votes

Laravel Social Authentification OAuth - Mot de passe ?

J'utilise Laravel Socialite pour enregistrer un utilisateur via un site web extérieur. Cela fonctionne très bien, mais je ne sais pas quelle est la meilleure façon de m'assurer que l'utilisateur est authentifié chaque fois qu'il vient sur mon site Web.

Normalement, un utilisateur s'inscrit avec un nom d'utilisateur, une adresse électronique et un mot de passe. Ensuite, nous comparons la base de données aux informations d'identification saisies et nous connectons l'utilisateur. Mais en m'authentifiant auprès d'un site Web extérieur, je n'ai pas accès au mot de passe de cet utilisateur, seulement aux autres informations d'identification disponibles (c'est-à-dire l'adresse électronique obtenue sur le site Web tiers).

Donc, s'ils s'inscrivent/se connectent par le biais d'un site Web extérieur, une fois que l'utilisateur est redirigé vers mon site Web, dois-je simplement l'authentifier comme cela ? C'est là que je m'embrouille car, normalement, j'inclus une deuxième paire clé/valeur qui est le mot de passe de l'utilisateur.

if (Auth::attempt(['email' => $user['email']))
{
   return redirect()->route('route');
}

UPDATE :

Cette simple authentification Laravel ne devrait-elle pas être suffisante ? Le site Web tiers que j'utilise pour me connecter gère la charge de travail liée à l'authentification. Il semble que je doive simplement m'authentifier via Laravel pour pouvoir utiliser la façade Auth pour l'utilisateur actuel.

0voto

Matt Pierce Points 206

La façon dont j'ai résolu ce problème était simple. Le site Web tiers gère son authentification et une fois que l'utilisateur est redirigé vers mon site Web, il est prêt à partir. Donc, je leur envoie un cookie de session et ils sont prêts.

Auth::login($user, true);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X