Refatoring : Working state
This commit is contained in:
@@ -12,6 +12,12 @@ use App\User\Exception\WeakPasswordException;
|
||||
use App\User\User;
|
||||
use App\User\UserRepositoryInterface;
|
||||
|
||||
/**
|
||||
* Service applicatif du domaine Auth.
|
||||
*
|
||||
* Regroupe l'authentification, le changement de mot de passe et le rate-limit
|
||||
* des tentatives de connexion par adresse IP.
|
||||
*/
|
||||
class AuthApplicationService implements AuthServiceInterface
|
||||
{
|
||||
private readonly LoginRateLimitPolicy $rateLimitPolicy;
|
||||
|
||||
@@ -13,6 +13,12 @@ use App\User\User;
|
||||
use App\User\UserRepositoryInterface;
|
||||
use PDO;
|
||||
|
||||
/**
|
||||
* Service applicatif du flux de réinitialisation de mot de passe.
|
||||
*
|
||||
* Gère la création et la consommation des tokens, ainsi que l'envoi du lien de
|
||||
* réinitialisation par e-mail.
|
||||
*/
|
||||
class PasswordResetApplicationService implements PasswordResetServiceInterface
|
||||
{
|
||||
private readonly PasswordResetTokenPolicy $tokenPolicy;
|
||||
|
||||
@@ -11,7 +11,7 @@ use App\User\User;
|
||||
* Contrat du service d'authentification.
|
||||
*
|
||||
* Permet de mocker le service dans les tests unitaires sans dépendre
|
||||
* de la classe concrète finale AuthService.
|
||||
* de la classe concrète finale AuthApplicationService.
|
||||
*/
|
||||
interface AuthServiceInterface
|
||||
{
|
||||
|
||||
@@ -71,7 +71,7 @@ class AccountController
|
||||
*
|
||||
* Vérifie que les deux nouveaux mots de passe sont identiques,
|
||||
* puis délègue la vérification du mot de passe actuel et la mise
|
||||
* à jour à AuthService.
|
||||
* à jour à AuthApplicationService.
|
||||
*
|
||||
* Note : getUserId() ne peut pas retourner null ici car la route
|
||||
* est protégée par AuthMiddleware. La valeur de repli 0 ne sera
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace App\Auth;
|
||||
/**
|
||||
* Contrat de persistance des tentatives de connexion.
|
||||
*
|
||||
* Découple AuthService de l'implémentation concrète PDO/SQLite,
|
||||
* Découple AuthApplicationService de l'implémentation concrète PDO/SQLite,
|
||||
* facilitant les mocks dans les tests unitaires.
|
||||
*/
|
||||
interface LoginAttemptRepositoryInterface
|
||||
|
||||
@@ -14,6 +14,9 @@ use App\User\User;
|
||||
* 2. Validation du token reçu par e-mail
|
||||
* 3. Réinitialisation effective du mot de passe
|
||||
*/
|
||||
/**
|
||||
* Contrat applicatif du flux de réinitialisation de mot de passe.
|
||||
*/
|
||||
interface PasswordResetServiceInterface
|
||||
{
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user