Maison >cadre php >Laravel >laravel mot de passe oublié

laravel mot de passe oublié

WBOY
WBOYoriginal
2023-05-20 17:26:07854parcourir

Laravel est un framework Web PHP populaire qui est devenu l'un des frameworks préférés choisis par les développeurs Web. Au fur et à mesure que Laravel continue de se développer et d'être mis à jour, il continue de fournir plus de fonctionnalités et une meilleure expérience utilisateur. La fonctionnalité Mot de passe oublié de Laravel est l'une des fonctionnalités les plus populaires car elle permet aux utilisateurs de réinitialiser leur mot de passe par e-mail. Dans cet article, nous explorerons la fonctionnalité de mot de passe oublié de Laravel, notamment comment la configurer et la personnaliser et comment l'utiliser avec votre application.

1. Le processus d'oubli de votre mot de passe

Avant de discuter de la façon de configurer la fonction de mot de passe oublié, comprenons d'abord son processus de base. Dans Laravel, le flux de mot de passe oublié implique généralement les étapes suivantes :

  1. L'utilisateur accède à la page de mot de passe oublié et saisit son adresse e-mail.
  2. L'application confirme si l'adresse e-mail est associée à un utilisateur.
  3. Si l'adresse e-mail existe dans la base de données des utilisateurs, l'application génère un lien contenant les informations de réinitialisation du mot de passe et envoie le lien à l'adresse e-mail de l'utilisateur.
  4. L'utilisateur clique sur le lien et est redirigé vers une page contenant un formulaire de réinitialisation de mot de passe.
  5. L'utilisateur saisit un nouveau mot de passe et soumet le formulaire.
  6. L'application stocke le nouveau mot de passe dans la base de données des utilisateurs et redirige l'utilisateur vers la page de connexion.

2. Configurer la fonction de mot de passe oublié

Maintenant que nous avons compris le processus de base de la fonction de mot de passe oublié, voyons comment la configurer dans Laravel.

  1. Configuration du courrier électronique

Tout d'abord, nous devons configurer le courrier électronique pour notre application. Laravel fournit un moyen pratique de configurer le courrier électronique : les fichiers .env. Ouvrez votre fichier .env et recherchez la configuration suivante :

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your-gmail-username
MAIL_PASSWORD=your-gmail-password
MAIL_ENCRYPTION=tls

Définissez la configuration ci-dessus sur la configuration de votre propre serveur de messagerie. Vous pouvez utiliser @example.com comme adresse d'expéditeur par défaut ou la définir sur une adresse valide que vous avez configurée sur votre serveur de messagerie. Notez que vous devez spécifier les informations d'identification du fournisseur de services de messagerie approprié pour cette configuration.

  1. Générer un code de réinitialisation du mot de passe

Ensuite, nous devons générer le propre contrôleur de mot de passe de Laravel et l'utiliser pour la réinitialisation du mot de passe. Exécutez la commande suivante dans le terminal :

php artisan make:auth

Cette commande générera le contrôleur d'authentification et les vues de Laravel, y compris le contrôleur et la vue de réinitialisation du mot de passe. Une fois terminée, votre application Laravel aura les fonctionnalités suivantes :

  • Connexion
  • S'inscrire
  • Mot de passe oublié
  • Réinitialiser le mot de passe
  1. Vue de réinitialisation du mot de passe personnalisée

Lorsque vous avez terminé de générer le contrôleur et après la visualisation, vous il faudra peut-être le personnaliser. Par exemple, vous pouvez modifier l’apparence des vues ou modifier les actions qu’elles effectuent. Pour ce faire, vous pouvez trouver les fichiers de vue requis dans le répertoire resources/views/auth/passwords et les personnaliser.

  1. Messages électroniques personnalisés

Les messages électroniques de réinitialisation de mot de passe fournis par Laravel par défaut peuvent ne pas répondre à vos besoins spécifiques. Par conséquent, vous devrez peut-être le personnaliser. Pour ce faire, ouvrez le fichier app/Http/Controllers/Auth/ForgotPasswordController.php et personnalisez l'e-mail dans la fonction sendResetLinkEmail(). Vous pouvez personnaliser votre message en utilisant un code comme celui-ci :

return $this->sendResetLinkFailedResponse($request, 'This is a custom message');

Cette ligne de code se déclenchera lorsqu'aucun utilisateur associé à l'adresse e-mail spécifiée n'est trouvé. Vous pouvez remplacer le message personnalisé par n'importe quel message de votre choix.

3. Utilisez la fonction Mot de passe oublié avec votre application

Maintenant que nous avons configuré avec succès la fonction Mot de passe oublié et l'avons personnalisée, nous pouvons l'utiliser avec notre application Laravel. Pour ce faire, vous devez ajouter les itinéraires correspondants à votre application. Ces routes sont généralement définies dans le fichier routes/web.php.

Voici un exemple de route de mot de passe oublié du fichier routes/web.php :

Route::get('forgot-password', 'AuthForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('forgot-password', 'AuthForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('reset-password/{token}', 'AuthResetPasswordController@showResetForm')->name('password.reset');
Route::post('reset-password', 'AuthResetPasswordController@reset')->name('password.update');

Dans ces routes, 'Auth' est le chemin du contrôleur généré par Laravel. Vous pouvez le modifier en fonction des noms de vos propres contrôleurs et vues.

Maintenant que nous avons ajouté l'itinéraire à l'application, créons un lien. Vous pouvez ajouter le code suivant à votre fichier de visualisation :

<a href="{{ route('password.request') }}">Forgot your password?</a>

Désormais, lorsque l'utilisateur clique sur le lien ci-dessus, il sera redirigé vers la page Mot de passe oublié et pourra saisir son adresse e-mail pour réinitialiser son mot de passe.

Conclusion :

Dans cet article, nous avons discuté de la fonctionnalité de mot de passe oublié de Laravel. Nous avons d'abord compris le processus de base du mot de passe oublié, puis avons configuré et personnalisé avec succès la fonction de mot de passe oublié en configurant la messagerie électronique, en générant des codes de réinitialisation de mot de passe, en personnalisant les vues de réinitialisation de mot de passe et les messages électroniques. Finalement, nous l'avons utilisé dans notre application et l'avons connecté au routage et aux liens de page nécessaires. Avec la fonction de mot de passe oublié de Laravel, nous pouvons facilement améliorer la sécurité et l'expérience utilisateur de nos applications.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:laravel supprimer la migrationArticle suivant:laravel supprimer la migration