« Mistral apiplatform keycloak » : différence entre les versions
| Ligne 32 : | Ligne 32 : | ||
1. **Authentification avec Keycloak** | 1. **Authentification avec Keycloak** | ||
- **Keycloak** agit comme un serveur d'authentification. Les utilisateurs s'authentifient auprès de Keycloak en utilisant leurs identifiants (nom d'utilisateur et mot de passe) ou via des fournisseurs d'identité externes (comme Google, Facebook, etc.). | - **Keycloak** agit comme un serveur d'authentification. Les utilisateurs s'authentifient auprès de Keycloak en utilisant leurs identifiants (nom d'utilisateur et mot de passe) ou via des fournisseurs d'identité externes (comme Google, Facebook, etc.).<br /> | ||
- Une fois authentifiés, les utilisateurs reçoivent un **token JWT** (JSON Web Token) qui contient des informations sur leur identité et leurs permissions. | - Une fois authentifiés, les utilisateurs reçoivent un **token JWT** (JSON Web Token) qui contient des informations sur leur identité et leurs permissions. | ||
2. **Sécurisation des API avec API Platform** | 2. **Sécurisation des API avec API Platform** | ||
- **API Platform** est configuré pour protéger ses endpoints en utilisant les tokens JWT émis par Keycloak. | - **API Platform** est configuré pour protéger ses endpoints en utilisant les tokens JWT émis par Keycloak.<br /> | ||
- Lorsqu'un client (par exemple, une application frontend ou un autre service) souhaite accéder à une API sécurisée, il doit inclure le token JWT dans l'en-tête de la requête HTTP, généralement sous la forme `Authorization: Bearer <token>`. | - Lorsqu'un client (par exemple, une application frontend ou un autre service) souhaite accéder à une API sécurisée, il doit inclure le token JWT dans l'en-tête de la requête HTTP, généralement sous la forme `Authorization: Bearer <token>`. | ||
3. **Validation des Tokens** | 3. **Validation des Tokens** | ||
- API Platform utilise une bibliothèque ou un middleware pour valider le token JWT reçu. Cela inclut la vérification de la signature du token pour s'assurer qu'il a été émis par Keycloak et qu'il n'a pas été altéré. | - API Platform utilise une bibliothèque ou un middleware pour valider le token JWT reçu.<br /> | ||
Cela inclut la vérification de la signature du token pour s'assurer qu'il a été émis par Keycloak et qu'il n'a pas été altéré.<br /> | |||
- Le token contient également des informations sur les rôles et permissions de l'utilisateur, ce qui permet à API Platform de décider si l'utilisateur est autorisé à accéder à la ressource demandée. | - Le token contient également des informations sur les rôles et permissions de l'utilisateur, ce qui permet à API Platform de décider si l'utilisateur est autorisé à accéder à la ressource demandée. | ||
4. **Gestion des Rôles et Permissions** | 4. **Gestion des Rôles et Permissions** | ||
- **Keycloak** permet de définir des rôles et des permissions pour les utilisateurs. Ces informations peuvent être incluses dans le token JWT. | - **Keycloak** permet de définir des rôles et des permissions pour les utilisateurs. Ces informations peuvent être incluses dans le token JWT.<br /> | ||
- **API Platform** peut utiliser ces informations pour appliquer des règles d'autorisation. Par exemple, certains endpoints peuvent être accessibles uniquement aux utilisateurs ayant un rôle spécifique. | - **API Platform** peut utiliser ces informations pour appliquer des règles d'autorisation.<br /> | ||
Par exemple, certains endpoints peuvent être accessibles uniquement aux utilisateurs ayant un rôle spécifique. | |||
5. **Single Sign-On (SSO)** | 5. **Single Sign-On (SSO)** | ||
- Avec Keycloak, vous pouvez mettre en place un système de Single Sign-On (SSO), permettant aux utilisateurs de s'authentifier une seule fois et d'accéder à plusieurs applications ou services sans avoir à se reconnecter. | - Avec Keycloak, vous pouvez mettre en place un système de Single Sign-On (SSO), permettant aux utilisateurs de s'authentifier une seule fois et d'accéder à plusieurs applications ou services sans avoir à se reconnecter.<br /> | ||
- Cela peut être particulièrement utile dans un environnement où plusieurs applications frontend ou microservices interagissent avec API Platform. | - Cela peut être particulièrement utile dans un environnement où plusieurs applications frontend ou microservices interagissent avec API Platform. | ||
6. **Configuration et Intégration** | 6. **Configuration et Intégration** | ||
- **Configuration de Keycloak** : Vous devez configurer un client dans Keycloak pour API Platform, définir les rôles et permissions, et configurer les fournisseurs d'identité si nécessaire. | - **Configuration de Keycloak** : Vous devez configurer un client dans Keycloak pour API Platform, définir les rôles et permissions, et configurer les fournisseurs d'identité si nécessaire.<br /> | ||
- **Configuration d'API Platform** : Vous devez configurer API Platform pour utiliser Keycloak comme fournisseur d'identité, en spécifiant les paramètres nécessaires pour valider les tokens JWT. | - **Configuration d'API Platform** : Vous devez configurer API Platform pour utiliser Keycloak comme fournisseur d'identité, en spécifiant les paramètres nécessaires pour valider les tokens JWT. | ||
| Ligne 68 : | Ligne 70 : | ||
En résumé, l'intégration d'API Platform avec Keycloak permet de sécuriser efficacement les API en utilisant des tokens JWT pour l'authentification et l'autorisation, tout en bénéficiant des fonctionnalités avancées de gestion des identités offertes par Keycloak. | En résumé, l'intégration d'API Platform avec Keycloak permet de sécuriser efficacement les API en utilisant des tokens JWT pour l'authentification et l'autorisation, tout en bénéficiant des fonctionnalités avancées de gestion des identités offertes par Keycloak. | ||
[[category:Mistral]] [[category:api]] | [[category:Mistral]] [[category:api]] | ||