logo

Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Autenticazione, Sicurezza e Prestazioni

06/09/2025, by Ivan

Il modulo Drupal JSON:API fornisce un modo potente per esporre i tuoi contenuti come API, ma scegliere il giusto metodo di autenticazione è cruciale per la sicurezza e l'usabilità. Questa panoramica esplora le varie opzioni di autenticazione disponibili quando si lavora con il modulo JSON di Drupal.

Metodi di Autenticazione Core

Il modulo Drupal REST & JSON API Authentication limita e protegge dall’accesso non autorizzato alle API del tuo sito Drupal utilizzando diversi metodi di autenticazione, tra cui:

Questo modulo consente anche di autenticare le chiamate API in un’installazione Headless/Decoupled di Drupal.

  1. Autenticazione di base (Basic Authentication)
  2. Autenticazione basata su chiave API
  3. Autenticazione basata su Access Token/OAuth
  4. Autenticazione basata su Token JWT
  5. Autenticazione tramite token di provider esterni

Autenticazione basata su Cookie

Il metodo di autenticazione predefinito in Drupal utilizza i cookie di sessione. Quando un utente accede tramite il modulo di login di Drupal, viene creato un cookie di sessione che può essere utilizzato per autenticare le richieste JSON

requests.

Vantaggi:

  • Semplice da implementare per applicazioni basate su browser
  • Utilizza il sistema di autenticazione già esistente di Drupal
  • Funziona bene per applicazioni JavaScript ospitate sullo stesso dominio

Limitazioni:

  • Non adatto a richieste cross-domain senza configurazioni aggiuntive
  • Meno ideale per applicazioni mobile o integrazioni di terze parti
  • Gestione della sessione più complessa

Autenticazione di Base

L’autenticazione di base consiste nell’invio delle credenziali (username e password) con ogni richiesta nell’header Authorization.

Vantaggi:

  • Facile da implementare
  • Ampiamente supportata nei client HTTP

Limitazioni:

  • Le credenziali vengono inviate con ogni richiesta
  • Sicura solo su HTTPS
  • Nessuna scadenza del token integrata

Moduli Contribuiti per l’Autenticazione

Simple OAuth (OAuth 2.0)

Simple OAuth implementa il protocollo OAuth 2.0 per l’autenticazione API di Drupal.

Vantaggi:

  • Autenticazione sicura basata su token
  • Supporto per refresh token
  • Scope di autorizzazione dettagliati
  • Ideale per integrazioni con terze parti
  • Standard ampiamente adottato

Limitazioni:

  • Configurazione più complessa rispetto alla basic auth
  • Richiede una buona comprensione dei flussi OAuth 2.0

JWT (JSON Web Token)

Il modulo JWT consente l’autenticazione utilizzando JSON Web Token.

Vantaggi:

  • Autenticazione stateless
  • Riduce le query al database per la verifica
  • Può includere claim/metadata nel token
  • Ottime prestazioni su larga scala

Limitazioni:

  • Richiede una corretta gestione delle chiavi
  • Rischi di sicurezza se implementato in modo errato
  • Nessuna revoca del token integrata (senza misure aggiuntive)

Key Auth

Key Auth fornisce l’autenticazione tramite chiave API per Drupal.

Vantaggi:

  • Approccio semplice basato su chiave API
  • Utile per comunicazioni macchina-a-macchina
  • Richiede una configurazione minima

Limitazioni:

  • Meno sicuro rispetto a OAuth per applicazioni orientate agli utenti
  • Opzioni di revoca limitate
  • Nessun meccanismo di refresh token

Consumer Auth

Consumer Auth estende le capacità delle entità Consumer nel sistema API di Drupal.

Vantaggi:

  • Integrato con il sistema consumer di Drupal
  • Permessi flessibili basati sui consumer
  • Complementa altri metodi di autenticazione

Limitazioni:

  • Pensato per essere utilizzato insieme ad altri metodi di autenticazione
  • Non è una soluzione autonoma

Considerazioni nella Scelta di un Metodo di Autenticazione

Quando selezioni un metodo di autenticazione per il tuo JSON

, considera:

  1. Requisiti di sicurezza: Quanto sono sensibili i tuoi dati?
  2. Tipo di client: Basato su browser, app mobile o server-to-server?
  3. Esperienza utente: Gli utenti dovranno effettuare il login frequentemente?
  4. Prestazioni: Quanto è importante la velocità dell’autenticazione?
  5. Requisiti di integrazione: Servizi di terze parti accederanno alla tua API?

Best Practice

  • Utilizzare sempre HTTPS per qualsiasi metodo di autenticazione
  • Implementare correttamente gli header CORS per applicazioni basate su browser
  • Valutare con attenzione le politiche di scadenza dei token
  • Usare refresh token quando appropriato
  • Implementare il rate limiting per prevenire attacchi brute force
  • Registrare i tentativi di autenticazione per il monitoraggio della sicurezza