Configura l'autenticazione di base con il modulo HTTP Basic Authentication
Autenticazione per operazioni CRUD con JSON:API
Quando si interagisce con JSON:API, strumenti come Postman o cURL possono essere utilizzati per inviare richieste. Per impostazione predefinita, le richieste effettuate tramite questi strumenti sono trattate come provenienti da un utente "anonimo", poiché non gestiscono l’autenticazione dell’utente in modo nativo. Di conseguenza, l’accesso a determinate risorse può essere limitato in base ai permessi configurati per gli utenti anonimi nel tuo sito Drupal.
Tuttavia, se l’obiettivo è eseguire operazioni di creazione, aggiornamento o eliminazione (CRUD) tramite JSON:API, fare affidamento sull’accesso anonimo non è sufficiente. Queste operazioni richiedono accesso autenticato. Drupal supporta diversi metodi di autenticazione, che possono essere abilitati tramite moduli core e contribuiti.
Uno dei metodi più comunemente utilizzati è l’autenticazione HTTP Basic, inclusa nel core di Drupal. Per casi d’uso più avanzati, moduli come Drupal REST & JSON API Authentication offrono funzionalità estese e opzioni di personalizzazione, consentendoti di adattare il modello di sicurezza alle esigenze della tua applicazione.
Passaggi per effettuare una richiesta autenticata
- Per questo esempio assicurati che tutte le operazioni siano abilitate
- Abilita il modulo HTTP Basic Authentication
- Crea un ruolo per l’utente API
- Assegna i permessi necessari al ruolo. Vai a /admin/people/permissions/api_user
- Per questo esempio, assicurati di assegnare il permesso
*Articolo*: Creare nuovo contenuto
- Crea un utente con il ruolo API User. Vai a /admin/people/create
- Configura l'autenticazione in Postman. Usa l'account appena creato
- Aggiungi l’header Content-Type
application/vnd.api+json
- Aggiorna il corpo della richiesta:
{ "data": { "type": "node--article", "attributes": { "title": "Questa pagina è stata creata tramite JSON:API", "body": { "value": "testo del corpo", "format": "plain_text" } } } }
- Invia la richiesta e osserva la risposta. Se il codice di stato è 201, hai effettuato con successo una richiesta autenticata alla tua JSON:API e creato un nodo di tipo articolo
JSON:API è una specifica potente e standardizzata che semplifica il processo di creazione di API in Drupal. Introdotta come modulo core a partire da Drupal 8, consente agli sviluppatori di esporre contenuti e dati attraverso un’API ben definita e coerente, senza necessità di sviluppo personalizzato esteso.
Abilitando semplicemente il modulo JSON:API, ottieni accesso immediato a un’API strutturata che aderisce alle specifiche JSON:API. Questo permette un’interazione semplice con i contenuti del sito Drupal tramite URL intuitivi e formati di risposta prevedibili—ideale per applicazioni frontend, integrazioni e architetture decoupled.
Per esplorare funzionalità avanzate e best practice, consulta la documentazione del modulo Drupal JSON:API. La documentazione fornisce una guida completa su funzionalità come paginazione, filtraggio, ordinamento, upload di file e molto altro—aiutandoti a sfruttare tutto il potenziale di JSON:API all’interno del tuo progetto Drupal.