OAuth2 et Authorization Server
OAuth2 et Authorization Server, flows (authorization code, client credentials), resource server, scopes
1Qu'est-ce qu'OAuth2 ?
Qu'est-ce qu'OAuth2 ?
Réponse
OAuth2 est un protocole d'autorisation qui permet à une application tierce d'obtenir un accès limité à un service HTTP au nom d'un utilisateur, sans exposer les credentials de l'utilisateur. Il fonctionne via des tokens d'accès plutôt que des mots de passe. OAuth2 est largement utilisé pour l'authentification déléguée (connexion via Google, GitHub, etc.) et les API REST sécurisées.
2Quel est le flow OAuth2 le plus sécurisé pour les applications web ?
Quel est le flow OAuth2 le plus sécurisé pour les applications web ?
Réponse
L'Authorization Code flow est le flow le plus sécurisé car le token d'accès n'est jamais exposé au navigateur. L'application backend échange un code d'autorisation temporaire contre un access token via un canal sécurisé (backend-to-backend). Avec PKCE (Proof Key for Code Exchange), ce flow devient encore plus sécurisé contre les attaques d'interception.
3Dans quel cas utiliser le Client Credentials flow ?
Dans quel cas utiliser le Client Credentials flow ?
Réponse
Le Client Credentials flow est conçu pour la communication machine-to-machine (service-to-service) sans contexte utilisateur. L'application cliente s'authentifie directement avec ses propres credentials (client_id et client_secret) pour obtenir un access token. Utilisé pour les jobs batch, microservices, ou API backends qui agissent en leur nom propre.
Qu'est-ce que PKCE (Proof Key for Code Exchange) dans OAuth2 ?
Pourquoi l'Implicit flow est-il déprécié dans OAuth2 ?
+17 questions d'entretien
Autres sujets d'entretien Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging avec SLF4J et Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Gestion des exceptions
Validation avec Bean Validation
Spring Data JPA - Les bases
Entités JPA et relations
Requêtes JPA
Spring Data Repositories
Spring Security - Les bases
Spring Boot Actuator
Tests unitaires avec JUnit et Mockito
Tests Spring Boot
Profiles et Environment
RestTemplate et WebClient
Async et Scheduling
Caching avec Spring
Spring WebFlux (Reactive)
Transactions Spring
Authentification et autorisation avancées
JWT et sécurité stateless
Spring Boot et Docker
Microservices avec Spring
Spring Cloud Config
Optimisation des performances
GraalVM Native Images
Maîtrise Spring Boot pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement