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 Basic avec le module REST API Authentication

21/06/2025, by Ivan

L’authentification Basic est une méthode d’authentification très simple et directe. Le client envoie des requêtes HTTP avec un en-tête Authorization contenant un nom d’utilisateur et un mot de passe encodés en base64 pour votre site Drupal.

Avec l’authentification Basic, le module miniOrange API Authentication authentifie d’abord l’utilisateur avec son nom d’utilisateur et son mot de passe Drupal. Si l’utilisateur est authentifié, alors seulement il pourra effectuer l’opération. Ce module est compatible avec Drupal 7, Drupal 8, Drupal 9, Drupal 10 et Drupal 11.

Télécharger

Vidéo d’installation :

Prérequis : téléchargement et installation :

  • Téléchargez et installez le module Drupal REST & JSON API Authentication.
  • REST UI : Ce module vous fournit une interface utilisateur pour configurer le module REST.
  • Activez les modules Web Services suivants dans la section Extension (/admin/modules) de votre site Drupal :
    • JSON: API
    • REST UI
    • RESTful Web Services
    • Sérialisation

    Authentification Drupal REST API

Étapes pour configurer la méthode d’authentification Basic dans Drupal :

  • Pour mieux comprendre, nous prendrons l’exemple d’ajouter l’authentification Basic pour récupérer un nœud dans Drupal via REST API.
  • Notez que l’API /node/{node} de Drupal sert à récupérer les informations d’un nœud Drupal.

Activez l’API et attribuez les méthodes et opérations suivantes :

  • La première étape est d’activer l’API et d’assigner les méthodes et opérations autorisées sur cette API spécifique. Cela peut être fait via le module REST UI ou en modifiant la configuration directement.
  • Pour activer l’API avec le module REST UI, cliquez sur le bouton configurer du module REST UI (comme montré ci-dessous) :

    REST UI

  • Dans notre exemple, nous activons l’API /node/{node} présente dans la section Contenu. Activez cette API en cliquant sur l’option Activer devant elle.

    REst GET

  • Maintenant, puisque notre objectif est de récupérer les informations du nœud, sélectionnez les configurations suivantes :
    • Méthode : GET
    • Format : json
    • Fournisseur d’authentification : rest_api_authentication
  • Cela permettra au module miniOrange REST API Authentication d’authentifier votre API. Cliquez sur le bouton Enregistrer la configuration pour continuer.

    Rest api basic auth

Étapes pour activer l’authentification Basic :

  • Dans cette étape, nous allons configurer l’authentification Basic comme méthode d’authentification API. Pour cela, allez dans l’onglet Authentification API du module REST API Authentication (/admin/config/people/rest_api_authentication/auth_settings)
    • Cochez la case Activer l’authentification et cliquez sur Enregistrer au-dessus des paramètres.
    • Sous le bouton Enregistrer les paramètres, sélectionnez l’option Authentification Basic et cliquez sur le bouton sélectionner la méthode.

C’est tout !!!
Essayons maintenant de récupérer les informations d’un nœud via un appel API utilisant l’authentification Basic.

Exemple :

  • Pour obtenir les informations d’un nœud dans Drupal, vous devez effectuer une requête GET avec le nom d’utilisateur et le mot de passe Drupal de l’utilisateur. Ces valeurs doivent être encodées en base64. Vous pouvez vous référer au format ci-dessous pour faire l’appel.

    Requête : GET <votre_url_base_drupal>/node/{node}?_format=json
    En-tête :
          Authorization : Basic base64encodé <nom_utilisateur:mot_de_passe>
          Accept : application/json
          Content-Type : application/json

    Format de requête CURL :
    curl --location --request GET 'drupal_base_url/node/1?_format=json' \
    --header 'Accept: application/json' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Basic base64encodé <nom_utilisateur:mot_de_passe>'

  • Vous pouvez aussi vous référer à l’image de la requête Postman ajoutée ci-dessous :

    Authentification REST API

  • Une réponse réussie retourne les informations du nœud que vous avez demandé. (voir l’image ci-dessous)

Authentification Basic

  • Si vous recevez une erreur en réponse, vous pouvez vous référer au tableau ci-dessous pour la description de l’erreur et les solutions possibles.

Erreur

Description

MISSING_AUTHORIZATION_HEADER

Cette erreur survient lorsque vous n’envoyez pas d’en-tête Authorization dans la requête API ou si celui-ci a été supprimé par votre serveur pour une raison quelconque.

Exemple :
{
  "status": "error",
  "error": "MISSING_AUTHORIZATION_HEADER",
  "error_description": "En-tête Authorization non reçu."
}

INVALID_AUTHORIZATION_HEADER_TOKEN_TYPE

Cette erreur survient lorsque vous envoyez l’en-tête Authorization mais dans un format invalide.
Exemple :
{
  "status": "error",
  "error": "INVALID_AUTHORIZATION_HEADER_TOKEN_TYPE",
  "error_description": "L’en-tête Authorization doit être de type Authentification Basic."
}

USER_NAME_MISSING

Cette erreur survient lorsque le module ne parvient pas à trouver le nom d’utilisateur dans l’appel API.

Exemple :
{
  "status": "error",
  "error": "USER_NAME_MISSING",
  "error_description": "Nom d’utilisateur non trouvé"
}

INVALID_CREDENTIALS

Cette erreur survient lorsque le nom d’utilisateur ou le mot de passe est incorrect.

Exemple :
{
  "status": "error",
  "error": "INVALID_CREDENTIALS",
  "error_description": "Nom d’utilisateur ou mot de passe invalide."
}