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 básica HTTP

18/05/2025, by Ivan

Autenticación para operaciones CRUD con JSON:API

Al interactuar con JSON:API, se pueden utilizar herramientas como Postman o cURL para enviar solicitudes. Por defecto, las solicitudes realizadas a través de estas herramientas se tratan como si provinieran de un usuario "anónimo", ya que no gestionan la autenticación de usuarios de forma inherente. Como resultado, el acceso a ciertos recursos puede estar restringido según los permisos configurados para los usuarios anónimos en tu sitio Drupal.

Sin embargo, si tu objetivo es realizar operaciones de creación, actualización o eliminación (CRUD) a través de JSON:API, depender únicamente del acceso anónimo no es suficiente. Estas operaciones requieren acceso autenticado. Drupal admite múltiples métodos de autenticación, los cuales se pueden habilitar mediante varios módulos contribuidos y del núcleo.

Uno de los métodos más utilizados es la autenticación básica HTTP, que está incluida en el núcleo de Drupal. Para casos más avanzados, módulos como Drupal REST & JSON API Authentication ofrecen capacidades de autenticación extendidas y opciones de personalización, permitiéndote adaptar el modelo de seguridad a las necesidades de tu aplicación.

Pasos para realizar una solicitud autenticada

  1. Para este ejemplo asegúrate de que todas las operaciones estén habilitadas
    json-api
  2. Habilita el módulo de autenticación básica HTTP
    Habilitar módulo
     
  3. Crea un rol para el usuario API
    Usuario API
  4. Concede los permisos necesarios para el rol. /admin/people/permissions/api_user
  5. Para este ejemplo, asegúrate de conceder el permiso *Artículo*: Crear nuevo contenido
  6. Crea un usuario con el permiso de usuario API. /admin/people/create
    Roles
  7. Configura la autorización en Postman. Usa la cuenta recién creada
    postman
  8. Añade la cabecera Content-Type application/vnd.api+json
    Cabeceras Postman
  9. Actualiza el cuerpo:
    {
             "data": {
               "type": "node--article",
               "attributes": {
                 "title": "Esta página se creó mediante JSON:API",
                 "body": {
                   "value": "algún texto del cuerpo",
                   "format": "plain_text"
                 }
               }
             }
            }
  10. Envía la solicitud y observa la respuesta. Si el código de estado es 201, has realizado exitosamente una solicitud autenticada a tu JSON:API y creado un nodo de tipo artículo.
    contenido
     

    JSON:API es una especificación potente y estandarizada que simplifica el proceso de crear APIs en Drupal. Introducida como un módulo del núcleo a partir de Drupal 8 y versiones posteriores, permite a los desarrolladores exponer contenido y datos a través de una API coherente y bien definida sin necesidad de un desarrollo personalizado extenso.

    Al habilitar simplemente el módulo JSON:API, obtienes acceso inmediato a una API estructurada que cumple la especificación JSON:API. Esto permite interactuar fácilmente con el contenido de tu sitio Drupal utilizando patrones de URL intuitivos y formatos de respuesta predecibles, lo cual es ideal para aplicaciones frontend, integraciones y arquitecturas desacopladas.

    Para explorar capacidades más avanzadas y mejores prácticas, consulta la Documentación del módulo Drupal JSON:API. La documentación ofrece una guía completa sobre características como paginación, filtrado, ordenación, carga de archivos y más, ayudándote a aprovechar todo el potencial de JSON:API dentro de tu proyecto Drupal.