Autenticazione
L'API di Chamilo utilizza i JWT (JSON Web Tokens) per l'autenticazione, implementati tramite lexik/jwt-authentication-bundle.
Ottenere un token
Inviare una richiesta POST all'endpoint di autenticazione:
POST /api/authentication_token
Content-Type: application/json
{
"username": "admin",
"password": "your-password"
}Risposta:
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
}Utilizzo del token
Includere il token nell'header Authorization delle richieste successive:
GET /api/users
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...Ciclo di vita del token
I token hanno un tempo di scadenza configurabile
Quando un token scade, il client deve richiederne uno nuovo
Le chiavi JWT sono memorizzate in
config/jwt/(chiave privata e chiave pubblica)
Generazione delle chiavi JWT
Questo crea:
config/jwt/private.pem— Chiave privata per la firma dei tokenconfig/jwt/public.pem— Chiave pubblica per la verifica dei token
Configurare la passphrase in .env:
Documentazione API
Quando APP_ENABLE_API_ENTRYPOINT=true è impostato nell'ambiente, la documentazione API è disponibile all'indirizzo /api. Questa fornisce un'interfaccia interattiva Swagger/OpenAPI per esplorare e testare gli endpoint.
Impostare la variabile non è sufficiente di per sé: la cache di Symfony deve essere svuotata affinché la modifica abbia effetto. Vedere Variabili d'ambiente (.env) nella Guida per l'amministratore.
Ultimo aggiornamento
È stato utile?