« DeepSeek apiplatform keycloak » : différence entre les versions

Aucun résumé des modifications
Ligne 139 : Ligne 139 :
---
---


3. '''Exemple de flux complet'''
=== 3. '''Exemple de flux complet''' ===
1. '''Étape 1 : Authentification'''
==== 1. '''Étape 1 : Authentification''' ====
   - L'utilisateur se connecte via Keycloak (frontend ou application mobile).
   - L'utilisateur se connecte via Keycloak (frontend ou application mobile).
   - Keycloak renvoie un token JWT.
   - Keycloak renvoie un token JWT.


2. '''Étape 2 : Accès à l'API'''
==== 2. '''Étape 2 : Accès à l'API'''====
   - Le client envoie une requête à l'API avec le token JWT dans l'en-tête `Authorization`.
   - Le client envoie une requête à l'API avec le token JWT dans l'en-tête `Authorization`.
   - API Platform valide le token et vérifie les permissions.
   - API Platform valide le token et vérifie les permissions.


3. '''Étape 3 : Réponse'''
==== 3. '''Étape 3 : Réponse'''====
   - Si le token est valide et que l'utilisateur a les permissions nécessaires, l'API renvoie les données demandées.
   - Si le token est valide et que l'utilisateur a les permissions nécessaires, l'API renvoie les données demandées.
   - Sinon, une erreur `401 Unauthorized` ou `403 Forbidden` est renvoyée.
   - Sinon, une erreur `401 Unauthorized` ou `403 Forbidden` est renvoyée.
Ligne 154 : Ligne 154 :
---
---


4. '''Avantages de cette intégration'''
==== 4. '''Avantages de cette intégration''' ====
; '''Sécurité''' :  
===== 1. '''Sécurité''' : =====
- Keycloak gère l'authentification de manière centralisée et sécurisée.
- Keycloak gère l'authentification de manière centralisée et sécurisée.
; '''Flexibilité''' :  
===== 2. '''Flexibilité''' : =====
- API Platform permet de créer des API performantes et modulaires.
- API Platform permet de créer des API performantes et modulaires.
; '''Interopérabilité''' :  
===== 3. '''Interopérabilité''' : =====
- Les protocoles OAuth2 et OpenID Connect sont standardisés et largement supportés.
- Les protocoles OAuth2 et OpenID Connect sont standardisés et largement supportés.
; - '''Gestion des utilisateurs''' :  
===== 4. - '''Gestion des utilisateurs''' : =====
- Keycloak offre une interface pour gérer les utilisateurs, les rôles, et les permissions.
- Keycloak offre une interface pour gérer les utilisateurs, les rôles, et les permissions.


---
---


5. '''Outils et Bibliothèques Utiles'''
==== 5. '''Outils et Bibliothèques Utiles''' ====
; '''lexik/jwt-authentication-bundle''' :  
===== 1. '''lexik/jwt-authentication-bundle''' : =====
- Pour gérer l'authentification JWT dans Symfony (utilisé par API Platform).
- Pour gérer l'authentification JWT dans Symfony (utilisé par API Platform).
; '''web-token/jwt-framework''' :  
===== 2. '''web-token/jwt-framework''' : =====
- Pour manipuler les tokens JWT.
- Pour manipuler les tokens JWT.
; '''Keycloak Admin Client''' :  
===== 3. '''Keycloak Admin Client''' : =====
- Pour interagir avec Keycloak programmatiquement (créer des utilisateurs, des rôles, etc.).
- Pour interagir avec Keycloak programmatiquement (créer des utilisateurs, des rôles, etc.).
---
En résumé, API Platform et Keycloak fonctionnent ensemble en utilisant des tokens JWT pour sécuriser les API.<br />
Keycloak gère l'authentification et l'autorisation, tandis qu'API Platform expose les API et valide les tokens pour garantir un accès sécurisé.


---
---