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

Configura l’Autenticazione di Base con il modulo REST API Authentication

03/09/2025, by Ivan

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.

Nell’Autenticazione di Base, il modulo miniOrange API authentication autenticherà prima l’utente rispetto al suo nome utente e password di Drupal. Se l’utente viene autenticato, solo allora sarà possibile eseguire quell’operazione. Questo modulo è compatibile con Drupal 7, Drupal 8, Drupal 9, Drupal 10 e Drupal 11.
 

  Scarica  

Video di Configurazione:

Prerequisiti: Download e Installazione:

  • Scarica e installa il modulo Drupal REST & JSON API Authentication.
  • REST UI: Questo modulo ti fornisce un’interfaccia utente per configurare il modulo REST. 
  • Abilita i seguenti moduli Web Services nella sezione Estendi (/admin/modules) del tuo sito Drupal:
    • JSON: API
    • REST UI
    • RESTful Web Services
    • Serialization

    Drupal REST API authentication

Passaggi per configurare il metodo di Autenticazione di Base in Drupal:

  • Per una migliore comprensione, prenderemo come esempio l’aggiunta dell’autenticazione di Base per ottenere un nodo in Drupal utilizzando la REST API.
  • Nota bene che l’API /node/{node} di Drupal viene utilizzata per recuperare informazioni su un nodo di Drupal.

Abilita l’API, assegna metodi e operazioni come segue:

  • Il primo passo è abilitare l’API e assegnare anche i metodi e le operazioni consentite su quella particolare API. Questo può essere fatto utilizzando il modulo REST UI oppure modificando direttamente la configurazione.
  • Per abilitare l’API utilizzando il modulo REST UI, fai clic sul pulsante Configura del modulo REST UI (come mostrato sotto).

    Rest UI

  • Considerando il nostro esempio, vogliamo abilitare l’API /node/{node} presente nella sezione Contenuto. Abilita questa API utilizzando l’opzione Enable di fronte ad essa.

    REst GET

  • Ora, poiché il nostro obiettivo è recuperare le informazioni del nodo, seleziona le seguenti configurazioni:
    • Metodo: GET
    • Formato: json
    • Provider di autenticazione: rest_api_authentication.
  • Questo consentirà al modulo miniOrange REST API Authentication di autenticare la tua API. Fai clic sul pulsante Salva configurazione per continuare.

    Rest api basic auth

Passaggi per abilitare l’Autenticazione di Base:

  • In questo passaggio, configureremo l’Autenticazione di Base come metodo di API Authentication. Per farlo, vai alla scheda API Authentication del modulo REST API Authentication (/admin/config/people/rest_api_authentication/auth_settings)
    • Seleziona la casella di controllo Enable Authentication e fai clic su Salva impostazioni.
    • Sotto il pulsante Salva impostazioni seleziona Basic Authentication e fai clic sul pulsante select method.

Fatto!!!
Ora proviamo a recuperare le informazioni di un nodo tramite una chiamata API utilizzando l’autenticazione di Base.

Esempio:

  • Per ottenere le informazioni di un nodo in Drupal, devi effettuare una richiesta GET insieme al nome utente e alla password Drupal dell’utente. Il valore di nome utente e password deve essere in formato base64encoded. Puoi fare riferimento al formato seguente per effettuare la chiamata.

    Request: GET <your_drupal_base_url> /node/{node}?_format=json
    Header:     
          Authorization: Basic base64encoded <username:password>
          Accept: application/json
          Content-Type: application/json

    Formato richiesta CURL-
    curl --location --request GET 'drupal_base_url/node/1?_format=json' \
    --header 'Accept: application/json' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Basic base64encoded <username:password'>

  • Puoi anche fare riferimento all’immagine della richiesta Postman riportata sotto:

    REST API auth

  • Una risposta avvenuta con successo restituisce le informazioni del nodo che hai creato. (vedi immagine sotto)

Basic Auth

  • Se ricevi un errore nella risposta puoi fare riferimento alla tabella sottostante per la descrizione dell’errore e le possibili soluzioni.

Errore

Descrizione

MISSING_AUTHORIZATION_HEADER

Riceverai questo errore ogni volta che non invii un’intestazione Authorization nella richiesta API o se è stata rimossa dal tuo server per qualche motivo.

Esempio:
{
  "status": "error",
  "error": "MISSING_AUTHORIZATION_HEADER",
  "error_description": "Authorization header not received."
}

INVALID_AUTHORIZATION_HEADER_TOKEN_TYPE

Riceverai questo errore quando invii l’intestazione Authorization ma non in un formato valido.
Esempio:
{
  "status": "error",
  "error": "INVALID_AUTHORIZATION_HEADER_TOKEN_TYPE",
  "error_description": "Authorization header must be the type of Basic Authentication."
}

USER_NAME_MISSING

Riceverai questo errore ogni volta che il modulo non riesce a trovare il nome utente nella chiamata API.

Esempio:
{
  "status": "error",
  "error": "USER_NAME_MISSING",
  "error_description": "Username Not Found"
}

INVALID_CREDENTIALS

Riceverai questo errore quando il nome utente o la password non sono corretti.

Esempio:
{
  "status": "error",
  "error":        "INVALID_CREDENTIALS",
  "error_description": "Invalid username or password."
}