Authentification Laravel : forcer le changement de mot de passe lors de la première connexion

laravel févr. 19, 2020

Introduction

Dans certains systèmes, comme les écoles et universités il est nécessaire de changer son mot de passe lors de la première connexion : dans ces institutions, où on travaille avec une masse importante d’utilisateurs, les administrateurs ont tendance à adopter une politique d’octroi de mot de passe qui facilite le travail.

Laravel n'a pas cette fonctionnalité prête à l’emploi.

Dans ce tutoriel, je vais partager avec vous comment implémenter cette solution à l'aide du package riftone07/changepasswordfirst.

Voici ce que nous allons créez avec vous.

Étape 1: Installation

Vous pouvez installer le package dans un nouveau projet laravel  ou un projet existant.

Maintenant, nous devons installer le package changepasswordfirst, de cette façon, nous pouvons utiliser le middleware  password_expired' pour protéger les routes .

Ouvrez donc votre terminal et exécutez la commande ci-dessous


   $ composer require riftone07/changepasswordfirst

Ajoutez ensuite le fournisseur de services à config/app.php dans le tableau des providers. Dans les versions 5.5 et ultérieures de Laravel, cette étape peut être.

    riftone07\changepasswordfirst\ChangePasswordFirstServiceProvider::class,

Etape 2 : Exécutez les migrations

   php artisan migrate

Etape 3 : Utiliser un middleware

Ce package est livré avec un PasswordExpired middleware. Vous devez l’ajouter dans votre fichier app/Http/Kernel.php .

protected $routeMiddleware = [
    // ...
     'password_expired' => \riftone07\changepasswordfirst\Http\Middleware\PasswordExpired::class
];

Ensuite, vous pouvez protéger vos itinéraires à l'aide des règles du middleware, à l'exception de vos itinéraires de connexion:


Route::group(['middleware' => ['password_expired']], function () {
    //
});

Je suppose que vous pouvez désormais forcer vos utilisateurs à modifier leurs mots de passe à la première connexion.

Bonne lecture

Si vous voulez contribuez ou améliorez le package

[email protected]