using SchotzIadKmTracker.Api.Models.Entities;
namespace SchotzIadKmTracker.Api.Services;
///
/// Service d'émission des jetons JWT d'authentification.
///
public interface IJwtService
{
///
/// Émet un Jeton_JWT signé en HS256 pour le compte fourni.
///
///
/// Le jeton porte les claims sub (identifiant du compte), email et un
/// identifiant unique jti. Sa date d'expiration vaut l'instant courant plus
/// JwtOptions.ExpirationMinutes (720 minutes / 12 h par défaut). Aucune donnée
/// sensible n'est incluse (jamais le hachage du mot de passe).
/// Exigences 2.1 (émission du jeton à la connexion), 2.4 (date d'expiration associée),
/// 5.4 (expiration à 12 h par défaut).
///
/// Le compte pour lequel émettre le jeton.
/// Le Jeton_JWT sérialisé (chaîne compacte).
string GenererJeton(Compte compte);
}