fix: BUG-02 IC-03 session expirée sur Workflow Financier et Messagerie
Ajoute KeycloakAuthService.getValidAccessToken() qui vérifie l'expiration du JWT et rafraîchit automatiquement avant de retourner le token. FinanceWorkflowRemoteDatasource et MessagingRemoteDatasource injectent désormais KeycloakAuthService au lieu de FlutterSecureStorage directement, ce qui évite d'envoyer un Bearer expiré et d'obtenir un 401 silencieux.
This commit is contained in:
@@ -119,6 +119,17 @@ class KeycloakAuthService {
|
||||
return null;
|
||||
}
|
||||
|
||||
/// Retourne un access token valide, en rafraîchissant automatiquement si expiré.
|
||||
/// Utilisé par les datasources pour éviter d'envoyer un Bearer null ou expiré.
|
||||
Future<String?> getValidAccessToken() async {
|
||||
String? token = await _storage.read(key: _accessK);
|
||||
if (token == null) return null;
|
||||
if (JwtDecoder.isExpired(token)) {
|
||||
token = await refreshToken();
|
||||
}
|
||||
return token;
|
||||
}
|
||||
|
||||
/// Récupération de l'utilisateur courant + Mapage Rôles
|
||||
Future<User?> getCurrentUser() async {
|
||||
String? token = await _storage.read(key: _accessK);
|
||||
|
||||
Reference in New Issue
Block a user