« 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''' ==== | ||
===== 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. | ||
===== 2. '''Flexibilité''' : ===== | |||
- API Platform permet de créer des API performantes et modulaires. | - API Platform permet de créer des API performantes et modulaires. | ||
===== 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. | ||
===== 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''' ==== | ||
===== 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). | ||
===== 2. '''web-token/jwt-framework''' : ===== | |||
- Pour manipuler les tokens JWT. | - Pour manipuler les tokens JWT. | ||
===== 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.). | ||
--- | --- | ||