0
votes

Connexion sociale avec laravel socialite créer un mot de passe

Comment inclure le mot de passe après la connexion au réseau social avec laravel socialite? (désolé pour le mauvais anglais) Comment créer / ajouter un mot de passe en se connectant depuis un réseau social avec laravel socialite?

code sur mon LoginController

public function handleProviderCallback($provider)
{
    $user = Socialite::driver($provider)->stateless()->user();
    $authUser = $this->findOrCreateUser($user, $provider);
    Auth::login($authUser, true);
    return redirect($this->redirectTo);
    //return $user->token;
    //dd($userSocial);
}

public function findOrCreateUser($user, $provider)
{
    $authUser = User::where('provider_id', $user->id)->first();
    if ($authUser){
        return $authUser;
    }
    return User::create([
        'name'          => $user->name,
        'email'         => $user->email,
        'provider'      => strToUpper($provider),
        'provider_id'   => $user->id
    ]);
}


0 commentaires

3 Réponses :


0
votes
  • Dans le flux social, un utilisateur n'aura jamais besoin d'un mot de passe
  • Vous pouvez définir le mot de passe sur nullable () dans le fichier de migration des utilisateurs.
  • Dans `` Paramètres du compte '', un utilisateur peut définir un mot de passe, en laissant le mot de passe actuel vide
  • Une fois le mot de passe défini, un utilisateur de site social peut se connecter via les réseaux sociaux ou directement

0 commentaires

0
votes

J'ai fait deux implémentations différentes:

  • Générez un mot de passe aléatoire, enregistrez-le avec l'objet utilisateur et envoyez-vous un e-mail à l'utilisateur avec le mot de passe généré automatiquement.
  • Créez un middleware pour vérifier si le mot de passe est NULL ou non défini et redirigez l'utilisateur vers un formulaire pour entrer le mot de passe.

0 commentaires

0
votes

L'objectif de l'utilisation de l'authentification socialite est que l'utilisateur n'aura pas besoin d'un mot de passe.
MAIS si l'utilisateur souhaite avoir un mot de passe, comme je l'avais fait précédemment dans l'un de mes projets, il peut facilement cliquer sur oublier le mot de passe et il recevra un lien par e-mail pour réinitialiser le nouveau mot de passe


0 commentaires