Frontend¶
Le frontend est une application Blazor WebAssembly (AdvancedDevSample.Frontend).
Configuration¶
Fichier: AdvancedDevSample.Frontend/wwwroot/appsettings.json
{
"ApiBaseUrl": "http://localhost:5069"
}
Services principaux¶
AuthService: login/register/logout/refreshAuthTokenHandler: ajout automatique du bearer token + refresh proactifTokenStore: stockage session navigateurFrontendAuthStateProvider: projection des claims utilisateurApiClient: client HTTP typed avec gestion d'erreur uniforme
Stockage session¶
Le stockage est fait en sessionStorage via BrowserStorageService.
Cle utilisee:
advanceddevsample.auth
Flux auth¶
- login/register appelle
/api/auth/* - JWT + refresh token stockes dans le
TokenStore AuthenticationStateProvidernotifie l'UI- avant expiration courte (
< 30s),AuthTokenHandlertente un refresh - sur
401API, logout automatique
Pages¶
/products(auth)/categories(auth)/users(auth + roleAdmin)/account/login/account/register/account/profile
Notes d'integration¶
- deux clients HTTP sont enregistres:
ApiNoAuthetApiClient ApiNoAuthsert pour login/register/refreshApiClientpasse parAuthTokenHandler
Tests frontend¶
Les tests sont dans AdvancedDevSample.Test/Frontend (services + composants).