Expand description
§RUEST Security
Authentification JWT, gardes (Guard), extracteur AuthUser, middleware HTTP.
§Démarrage rapide
ⓘ
use ruest::prelude::*;
use ruest::security::{SecurityConfig, JwtService, AuthUser};
let config = SecurityConfig::dev();
bootstrap_app(AppModule)?
.with_jwt_auth(config)? // enregistre JwtService + middleware
.port(3000)
.listen()
.await?;
// Handler protégé :
async fn me(user: AuthUser) -> AppResult<Json<serde_json::Value>> {
Ok(Json(json!({ "sub": user.subject() })))
}Structs§
- Auth
Context - Contexte d’authentification injecté dans les extensions de requête Axum.
- Auth
User - Utilisateur authentifié (extracteur Axum — nécessite le middleware JWT).
- JwtAuth
State - État partagé du middleware JWT.
- JwtDev
Provider - Provider DI pour enregistrer un
JwtServiceaveccrate::SecurityConfig::dev. - JwtGuard
- Exige un JWT valide (contexte présent).
- JwtService
- Service JWT : signature et vérification des tokens (enregistrable en DI).
- Roles
Guard - Exige au moins un des rôles listés.
- Ruest
Claims - Claims JWT standard RUEST (
sub,roles,exp,iat). - Security
Config - Configuration JWT / sécurité (variables d’environnement ou builder).
- Security
Config Builder
Enums§
Traits§
- Guard
- Garde d’autorisation (style NestJS
CanActivate).
Functions§
- apply_
jwt_ layer - Applique le middleware JWT sur un routeur Axum.
- jwt_
auth_ middleware - Middleware Axum : routes publiques sans token, sinon Bearer JWT obligatoire.
- register_
jwt_ provider - Enregistre
JwtServicedans le conteneur DI (à appeler depuis un#[module]ou au bootstrap). - run_
guards - Vérifie une liste de gardes en séquence.