logo

Extra Block Types (EBT) - Nueva experiencia con Layout Builder❗

Extra Block Types (EBT): tipos de bloques con estilo y personalizables: Presentaciones de diapositivas, Pestañas, Tarjetas, Acordeones y muchos más. Configuraciones integradas para fondo, DOM Box y plugins de JavaScript. Experimenta hoy el futuro de la construcción de diseños.

Módulos de demostración EBT Descargar módulos EBT

❗Extra Paragraph Types (EPT) - Nueva experiencia con Paragraphs

Extra Paragraph Types (EPT): conjunto de módulos basado en párrafos de forma análoga.

Módulos de demostración EPT Descargar módulos EPT

Scroll

Configurar la autenticación básica con el módulo de autenticación de la API REST

18/05/2025, by Ivan

La Autenticación Básica (Basic Authentication) es un método de autenticación muy simple y directo. El cliente envía solicitudes HTTP con una cabecera Authorization que contiene el nombre de usuario y la contraseña de tu sitio Drupal codificados en base64.

En la Autenticación Básica, el módulo de autenticación miniOrange API primero autentica al usuario usando su nombre de usuario y contraseña de Drupal. Solo si el usuario es autenticado podrá realizar la operación. Este módulo es compatible con Drupal 7, Drupal 8, Drupal 9, Drupal 10 y Drupal 11.
 

  Descargar  

Video de configuración:

Requisitos previos: Descarga e instalación:

  • Descarga e instala el módulo Drupal REST & JSON API Authentication.
  • REST UI: Este módulo te proporciona una interfaz gráfica para configurar el módulo REST. 
  • Habilita los siguientes módulos de Servicios Web desde la sección Extender (/admin/modules) de tu sitio Drupal:
    • JSON: API
    • REST UI
    • RESTful Web Services
    • Serialization

    Drupal REST API authentication

Pasos para configurar el método de Autenticación Básica en Drupal:

  • Para una mejor comprensión, tomaremos como ejemplo agregar autenticación básica para obtener un nodo en Drupal usando la REST API.
  • Nota: la API /node/{node} de Drupal se utiliza para recuperar información de un nodo de Drupal.

Habilita la API y asigna métodos y operaciones de la siguiente manera:

  • El primer paso es habilitar la API y también asignar los métodos y operaciones permitidos en esa API en particular. Esto se puede hacer utilizando el módulo REST UI o modificando la configuración directamente.
  • Para habilitar la API usando el módulo REST UI, haz clic en el botón de configurar del módulo REST UI (como se muestra abajo)

    Rest UI

  • En nuestro ejemplo, queremos habilitar la API /node/{node} que se encuentra bajo la sección Contenido. Habilita esta API usando la opción Habilitar frente a ella.

    REst GET

  • Ahora, como nuestro objetivo es recuperar la información del nodo, selecciona las siguientes configuraciones:
    • Método: GET
    • Formato: json
    • Proveedor de autenticación: rest_api_authentication
  • Esto permitirá que el módulo miniOrange REST API Authentication autentique tu API. Haz clic en el botón Guardar configuración para continuar.

    Rest api basic auth

Pasos para habilitar la Autenticación Básica:

  • En este paso, configuraremos la Autenticación Básica como método de Autenticación API. Para ello, navega a la pestaña de Autenticación API del módulo REST API Authentication (/admin/config/people/rest_api_authentication/auth_settings)
    • Marca la casilla Habilitar autenticación y haz clic en Guardar en la parte superior de Configuración.
    • Debajo del botón Guardar configuración selecciona Autenticación Básica y haz clic en el botón seleccionar método.

¡Eso es todo!
Ahora probemos recuperar la información de un nodo mediante una llamada API usando autenticación básica.

Ejemplo:

  • Para obtener información de un nodo en Drupal, debes realizar una solicitud GET junto con el nombre de usuario y contraseña de Drupal del usuario. El valor del nombre de usuario y la contraseña debe estar en formato base64encoded. Consulta el siguiente formato para hacer la llamada.

    Solicitud: GET <tu_drupal_base_url> /node/{node}?_format=json
    Cabecera:     
          Authorization: Basic base64encoded <username:password>
          Accept: application/json
          Content-Type: application/json

    Solicitud 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'>

  • También puedes consultar la imagen de la solicitud Postman añadida abajo:

    REST API auth

  • Una respuesta exitosa devuelve la información del nodo solicitado. (consulta la imagen abajo)

Basic Auth

  • Si recibes algún error en la respuesta, puedes consultar la siguiente tabla para la descripción del error y posibles soluciones.

Error

Descripción

MISSING_AUTHORIZATION_HEADER

Obtendrás este error si no envías la cabecera Authorization en la solicitud API o si tu servidor la elimina por algún motivo.

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

INVALID_AUTHORIZATION_HEADER_TOKEN_TYPE

Obtendrás este error si envías la cabecera Authorization pero no en un formato válido.
Ejemplo:
{
  "status": "error",
  "error": "INVALID_AUTHORIZATION_HEADER_TOKEN_TYPE",
  "error_description": "Authorization header must be the type of Basic Authentication."
}

USER_NAME_MISSING

Obtendrás este error si el módulo no puede encontrar el nombre de usuario en la llamada API.

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

INVALID_CREDENTIALS

Obtendrás este error si el nombre de usuario o la contraseña son incorrectos.

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