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

Configurer l’authentification de base avec le module HTTP Basic Authentication

21/06/2025, by Ivan

Authentification pour les opérations CRUD avec JSON:API

Lorsqu’on interagit avec JSON:API, des outils comme Postman ou cURL peuvent être utilisés pour envoyer des requêtes. Par défaut, les requêtes effectuées via ces outils sont considérées comme provenant d’un utilisateur « anonyme », car elles ne gèrent pas intrinsèquement l’authentification utilisateur. En conséquence, l’accès à certaines ressources peut être restreint selon les permissions configurées pour les utilisateurs anonymes sur votre site Drupal.

Cependant, si votre objectif est d’effectuer des opérations de création, mise à jour ou suppression (CRUD) via JSON:API, l’accès anonyme seul est insuffisant. Ces opérations nécessitent un accès authentifié. Drupal supporte plusieurs méthodes d’authentification, qui peuvent être activées via divers modules contrib et modules cœur.

Une des méthodes les plus couramment utilisées est l’authentification HTTP Basic, incluse dans le cœur de Drupal. Pour des cas d’usage plus avancés, des modules comme Drupal REST & JSON API Authentication offrent des capacités d’authentification étendues et des options de personnalisation, permettant d’adapter le modèle de sécurité aux besoins spécifiques de votre application.

Étapes pour effectuer une requête authentifiée

  1. Pour cet exemple, assurez-vous que toutes les opérations sont activées
    json-api
  2. Activez le module HTTP Basic Authentication
    Activer le module
     
  3. Créez un rôle pour l’utilisateur API
    Utilisateur API
  4. Attribuez les permissions nécessaires à ce rôle. /admin/people/permissions/api_user
  5. Pour cet exemple, veillez à donner la permission *Article* : Créer un contenu
  6. Créez un utilisateur avec la permission Utilisateur API. /admin/people/create
    Rôles
  7. Configurez l’authentification dans Postman. Utilisez le compte nouvellement créé
    postman
  8. Ajoutez l’en-tête Content-Type application/vnd.api+json
    En-têtes Postman
  9. Mettez à jour le corps :
    {
             "data": {
               "type": "node--article",
               "attributes": {
                 "title": "Cette page est créée via JSON:API",
                 "body": {
                   "value": "texte du corps",
                   "format": "plain_text"
                 }
               }
             }
            }
  10. Envoyez la requête et observez la réponse. Si le code de statut est 201, vous avez réussi à effectuer une requête authentifiée vers votre JSON:API et créé un nœud de type article
    contenu
     

    JSON:API est une spécification puissante et standardisée qui simplifie le processus de création d’APIs dans Drupal. Introduit comme module cœur dans Drupal 8 et versions ultérieures, il permet aux développeurs d’exposer contenu et données via une API cohérente et bien définie sans nécessiter un développement personnalisé étendu.

    En activant simplement le module JSON:API, vous accédez immédiatement à une API structurée conforme à la spécification JSON:API. Cela permet une interaction aisée avec le contenu de votre site Drupal grâce à des schémas d’URL intuitifs et des formats de réponse prévisibles — idéal pour les applications frontend, les intégrations et les architectures découplées.

    Pour découvrir des fonctionnalités plus avancées et les meilleures pratiques, consultez la Documentation du module Drupal JSON:API. La documentation offre un guide complet sur des fonctionnalités telles que la pagination, le filtrage, le tri, le téléversement de fichiers, et bien plus encore — vous aidant à exploiter pleinement le potentiel de JSON:API dans votre projet Drupal.