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

Ligne 89 : Ligne 89 :


==== b. '''Configuration d'API Platform''' ====  
==== b. '''Configuration d'API Platform''' ====  
  1. '''Installer un bundle de sécurité''' :
===== 1. '''Installer un bundle de sécurité''' : =====
      - Utiliser un bundle comme `lexik/jwt-authentication-bundle` pour gérer l'authentification JWT.
* Utiliser un bundle comme `lexik/jwt-authentication-bundle` pour gérer l'authentification JWT.
      - Configurer le bundle pour valider les tokens JWT émis par Keycloak.
* Configurer le bundle pour valider les tokens JWT émis par Keycloak.
  2. '''Configurer la sécurité''' :
===== 2. '''Configurer la sécurité''' :=====
      - Dans `security.yaml`, définir les règles de sécurité pour les routes de l'API.
* Dans `security.yaml`, définir les règles de sécurité pour les routes de l'API.
      - Exemple :
* Exemple :
        <div>
<pre>    
        security:
security:
          firewalls:
  firewalls:
            main:
    main:
              stateless: true
      stateless: true
              jwt: ~
      jwt: ~
          access_control:
  access_control:
            - { path: ^/api, roles: ROLE_USER }
    - { path: ^/api, roles: ROLE_USER }
 
</pre>      
        </div>
===== 3. '''Valider les tokens JWT''' :=====
  3. '''Valider les tokens JWT''' :
* API Platform valide les tokens JWT reçus dans les requêtes en utilisant la clé publique de Keycloak.
      - API Platform valide les tokens JWT reçus dans les requêtes en utilisant la clé publique de Keycloak.
* La clé publique est généralement récupérée depuis l'endpoint `.well-known/jwks.json` de Keycloak.
      - La clé publique est généralement récupérée depuis l'endpoint `.well-known/jwks.json` de Keycloak.


==== c. '''Authentification des Utilisateurs''' ====  
==== c. '''Authentification des Utilisateurs''' ====