


L’Autenticazione di Base è un metodo di autenticazione molto semplice e diretto. Il client invia richieste HTTP con un’intestazione Authorization che contiene un nome utente e una password del tuo sito Drupal codificati in base64.


L’autenticazione con API Key è uno dei metodi più semplici per proteggere le API REST di Drupal. Una volta generate le API Key per tutti i tuoi utenti, puoi utilizzare tali chiavi per proteggere l’accesso alle API REST di Drupal.


OAuth (Open Authorization) è uno standard aperto per l’autenticazione e l’autorizzazione basata su token che può essere utilizzato per fornire il single sign-on (SSO). OAuth consente a servizi di terze parti, come Facebook, ecc. di utilizzare determinate informazioni sull’account di un utente finale senza esporre la password dell’utente. Agisce come intermediario per conto dell’utente finale, fornendo al servizio un access token che autorizza la condivisione di specifiche informazioni dell’account.


Il modulo Drupal API Authentication funziona inviando un token JWT insieme alle richieste API per l'autenticazione. Questo modulo utilizza JSON Web Token (JWT), uno standard aperto per rappresentare in modo sicuro l'identità dell'utente durante le interazioni tra due parti.


Se stai cercando di proteggere/restringere l’accesso alle tue API REST di Drupal utilizzando un provider di identità, allora dovresti utilizzare il metodo di Autenticazione tramite Provider di Identità Esterno.
L’autenticazione API di Drupal utilizzando un provider di identità esterno prevede l’uso di token ricevuti da provider terzi come Google, Azure AD, Keycloak, Okta, Gitlab, ecc. per accedere in modo sicuro alle API REST di Drupal.


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.


Spesso ci troviamo di fronte alla pagina di errore 500 quando Drupal, i servizi o altri siti non sono disponibili. Quando vediamo una pagina di errore 500 (o 501-504). In Drupal usiamo le Exception per controllare che un certo codice critico sia stato eseguito. Se riceviamo un errore, ad esempio in una richiesta HTTP a un altro sito, allora Drupal mostrerà questo errore: "Il sito ha riscontrato un errore imprevisto. Riprova più tardi":


A volte hai bisogno di Categorie fisse e permanenti sul sito, che non dovrebbero essere modificate accidentalmente. In questo caso puoi utilizzare del codice personalizzato con un Event Subscriber.
Aggiungiamo una nuova classe Event Subscriber in un modulo personalizzato.
drupalbook_custom.services.yml


PHP 8 ha introdotto la promozione delle proprietà del costruttore, una funzionalità che semplifica la definizione e l'assegnazione delle proprietà di classe permettendo di dichiararle e inizializzarle direttamente nella firma del costruttore. Questo tutorial dimostra come utilizzare la promozione delle proprietà del costruttore nei moduli personalizzati Drupal (che richiedono PHP 8.0+), in particolare per semplificare l’iniezione delle dipendenze nei servizi e nei controller.
