Résultats de recherche :

×

Authentification API REST Drupal


Dans ce document, nous vous guiderons à travers les étapes de configuration et d'utilisation de chacune des méthodes d'authentification que nous proposons dans le module d'authentification de l'API REST miniOrange. Ce module prend en charge à la fois le REST la API JSON modules.

Vous pouvez vous référer à notre guide de configuration détaillé pour toutes les méthodes d'authentification via le guide d'authentification lien-API suivant.

Si vous avez d'autres API personnalisées que vous souhaiteriez que notre module prenne en charge ou si vous avez besoin d'aide, n'hésitez pas à nous contacter à drupalsupport@xecurify.com Veuillez cliquer ici pour voir la fonctionnalité complète liste.

1. Authentification de base

  • L'authentification de base est un mécanisme d'authentification simple dans lequel le client peut utiliser ses informations d'identification pour protéger les API Drupal. Afin d'utiliser n'importe quelle API avec cette méthode d'authentification, vous devez envoyer une demande avec votre nom d'utilisateur et votre mot de passe codés en base64 dans l'en-tête Autorisation.
  • Pour sélectionner cette méthode, cliquez sur le L'authentification de base à partir du module comme indiqué ci-dessous :
  • Authentification API Drupal, sélectionnez la méthode d'authentification de base
  • Pour obtenir des informations sur les nœuds dans Drupal, vous devez faire une requête GET avec le nom d'utilisateur Drupal et le mot de passe de l'utilisateur. La valeur du nom d'utilisateur et du mot de passe doit être au format codé en base64. Vous pouvez vous référer au format ci-dessous pour passer un appel.
  • 
                 Request: GET <your_drupal_base_url>/node/{node}?_format=json
                 Header: 
                        Authorization: Basic base64encoded <username:api_key>
                        Accept: application/json 
                        Content-Type: application/json
                 
                 Sample curl Request Format-
                 --location --request GET '<your_drupal_base_url>/node/1?_format=json' \
                 --header 'Accept: application/json' \
                 --header 'Content-Type: application/json' \
                 --header 'Authorization: Basic base64encoded <username:API key’> \
                
  • Votre requête doit avoir les en-têtes et les paramètres de corps respectivement de la manière suivante :
  • Drupal API Authentification envoyer la réponse
  • Une réponse réussie ressemblerait à ceci :
  • Réponse d'authentification de l'API Drupal

    2. Authentification par clé API

    • L'authentification par clé API est l'une des méthodes les plus simples pour protéger les API Drupal REST. Une fois que vous avez généré des clés API pour tous vos utilisateurs, vous pouvez utiliser ces clés pour sécuriser l'accès à vos API Drupal REST.
    • Afin de configurer la clé API comme méthode d'authentification API, veuillez accéder à la page Authentification API du module d'authentification de l'API REST (/admin/config/people/rest_api_authentication/auth_settings).
    • Sélectionnez le Case à cocher Activer l'authentification et cliquez sur le Enregistrer les paramètres ci-dessus .
    • Pour activer l'authentification basée sur la clé API, sélectionnez le bouton radio Clé API.
    • Dans le même écran, vous pouvez générer la clé API pour un utilisateur particulier ou vous pouvez générer la clé API pour tous les utilisateurs à la fois.
    • Authentification Drupal selectAPI
    • Vous devrez créer un attribut utilisateur pour la clé API du champ. Vous pouvez vous référer this lien pour créer une clé API de champ.
    • Pour élaborer davantage, prenons un exemple de création d'un utilisateur dans Drupal
    • Pour créer un utilisateur dans Drupal, une requête POST doit être effectuée avec le nom d'utilisateur de l'utilisateur et une clé API fournie par le module d'authentification API REST miniOrange. Le nom d'utilisateur et la clé API doivent être codés en base64. Utilisez le format suivant comme référence pour passer l'appel :
    • 
                   Request: POST <your_drupal_base_url>/entity/user?_format=json
                   Header: 
                          Authorization: Basic base64encoded <username:api_key>
                          Accept: application/json 
                          Content-Type: application/json
                   Body:
                   
                      {
                       "name": [
                               {"value": "username"}
                         ],
                       "mail": [
                               {"value": "email"}
                         ],
                       "pass": [
                               {"value": "password"}
                         ],
                      "status":[
                               {"value": "1"}
                         ]
                     }
       
                   Sample curl Request Format-
                   --location --request POST '<your_drupal_base_url>/entity/user?_format=json' \
                   --header 'Accept: application/json' \
                   --header 'Content-Type: application/json' \
                   --header 'Authorization: Basic base64encoded’ \
                   --data-raw   '   
                     {
                       "name": [
                           {"value": "Username"}
                         ],
                       "mail": [
                           {"value": "email"}
                         ],
                       "pass":[
                           {"value": "Password"}
                         ],
                       "status":[
                           {"value": "1"
                     }
                       ]
                      
               
                  
    • Votre requête doit avoir les en-têtes et les paramètres de corps respectivement de la manière suivante :
    • L'API Drupal REST envoie une réponse
    • Une réponse réussie ressemblerait à ceci :
    • Réponse d'authentification de l'API Drupal REST

    3. Authentification JWT

    • JSON Web Token (JWT) est un moyen sécurisé de représenter l'identité d'un utilisateur lors d'une interaction à deux. Dans un premier temps, les identifiants de votre site Drupal sont utilisés pour obtenir d'abord un jeton JWT. Après avoir vérifié le nom d'utilisateur et le mot de passe, le module d'authentification Drupal REST API crée un jeton JWT signé, qui est renvoyé à l'application client pour les requêtes API ultérieures.
    • Ce jeton est utilisé pour effectuer les opérations dans Drupal jusqu'à son expiration. Le module d'authentification Drupal REST API accordera l'accès uniquement lorsqu'il recevra un JWT valide de l'application.
    • Afin de configurer JWT comme méthode d'authentification API, veuillez accéder à la page Authentification API du module d'authentification de l'API REST (/admin/config/people/rest_api_authentication/auth_settings).
    • Sélectionnez le Case à cocher Activer l'authentification et cliquez sur le Enregistrer les paramètres ci-dessus .
    • Sous le bouton Enregistrer les paramètres ci-dessus, sélectionnez le bouton radio JWT. Fournissez le nom de l'attribut dans lequel votre nom d'utilisateur sera reçu dans le champ de texte « Attribut du nom d'utilisateur ».
    • Enfin, cliquez sur le Enregistrer la configuration JWT .
    • Pour utiliser un jeton JWT créé en externe pour l'authentification, vous pouvez configurer les options suivantes :
  • Entrez le nom de l'attribut dans lequel votre nom d'utilisateur sera reçu dans le champ de texte "Attribut du nom d'utilisateur".
  • Si vous souhaitez utiliser un jeton JWT externe, vous pouvez également spécifier l'URL JWKS pour valider ce jeton dans Drupal.
    Drupal sélectionne la méthode du jeton jwt
  • Considérons l'exemple suivant : nous devons lancer une requête API pour obtenir un JWT. Par la suite, nous exploiterons le token pour authentifier l’API Drupal afin de créer une page de base.
  • Pour acquérir le JWT, nous devons soumettre une requête POST contenant les informations d'identification Drupal de l'utilisateur. Le nom d'utilisateur et le mot de passe doivent être envoyés dans un format codé en base64. Pour votre commodité, veuillez vous référer au format de la demande ci-dessous.
  • 
                     Request: POST <your_drupal_base_url>/rest_api/id_token
                     Header: 
                            Authorization: Basic base64encoded <username:password;>
                            Accept: application/json
                     Sample curl Request Format-
                     --location --request POST "<your_drupal_base_url>/rest_api/id_token' \"
                     --header 'Accept: application/json'\
                     --header 'Content-Type: application/json' \
                     --header 'Authorization: Basic base64encoded’ \'
                 
  • De plus, vous pouvez vous référer à l'image de la demande Postman pour obtenir le JWT auprès de Drupal.
  • Point de terminaison du jeton JWT de l'API REST Drupal
  • Une réponse réussie renvoie le JWT avec l'expiration de son jeton. (veuillez vous référer à l'image ci-dessous)
  • Drupal REST API id jeton JWT réussi
  • Afin d'authentifier les API Drupal REST à l'aide du JWT reçu, vous pouvez vous référer au guide suivant - Authentifiez les API Drupal REST.

4. Authentification OAuth 2.0

  • Pour authentifier l'accès aux API du site Drupal via l'API REST, la méthode OAuth 2.0 utilise le flux de protocole OAuth 2.0. Cela implique l'obtention d'un jeton d'accès de sécurité, qui est ensuite utilisé pour authentifier l'accès à votre site Drupal. La méthode d'authentification OAuth fournit un jeton d'accès hautement crypté et sécurisé, garantissant une sécurité totale de vos API Drupal. Il est considéré comme l’une des méthodes les plus sécurisées pour protéger vos points de terminaison API Drupal REST ou JSONAPI contre tout accès non autorisé.
  • Accédez à la Authentification API onglet du module d'authentification de l'API REST (/admin/config/people/rest_api_authentication/auth_settings)
  • Sélectionnez le Case à cocher Activer l'authentification et cliquez sur le Enregistrer les paramètres ci-dessus .
  • Sous le bouton Enregistrer les paramètres ci-dessus, sélectionnez le bouton radio OAuth/Access Token.
  • Cliquez maintenant sur le bouton Générer un nouvel ID client et un nouveau secret.
  • Drupal sélectionne la méthode du jeton d'accès
  • Le module d'authentification API miniOrange prend en charge deux types d'octroi qui peuvent être utilisés pour obtenir un jeton d'accès :
  • Octroi de mot de passe : Dans ce type de subvention, vous pouvez obtenir le jeton d'accès en envoyant une requête POST contenant le nom d'utilisateur et le mot de passe Drupal de l'utilisateur ainsi que l'ID client émis par le module d'authentification de l'API REST :
  • 
             Request: POST <drupal_base_url>/rest_api/access_token
             Body: 
                 grant_type = password
                 username   = drupal_username
                 password   = drupal_password 
                 client_id  = client_id
                 
             Sample curl Request Format-
             --location --request POST '<your_drupal_base_url>/rest_api/access_token' \
             --header 'Accept: application/json'\
             --header 'Content-Type: pplication/x-www-form-urlencoded' \
             --data-urlencode 'grant_type=password' \
             --data-urlencode 'client_id= ' \
             --data-urlencode 'username='\
             --data-urlencode 'password='
         
  • Vous pouvez également vous référer à l'image de la demande Postman pour obtenir un jeton d'accès de Drupal en utilisant l'octroi de mot de passe.
  • Demande d'authentification par jeton d'accès Drupal
  • Une réponse réussie renvoie le jeton d'accès ainsi que l'expiration du jeton et le type de jeton (veuillez vous référer à l'image ci-dessous)
  • Demande d'authentification par jeton d'accès Drupal
  • Octroi des informations d'identification du client : Dans cette subvention, vous pouvez acquérir le jeton d'accès en effectuant une requête POST contenant l'ID client et le secret client émis par le module d'authentification API REST ainsi que le nom d'utilisateur Drupal de l'utilisateur.
  • 
         Request: POST <drupal_base_url>/rest_api/access_token
         Body: 
             grant_type  = client_credentials
             client_id   = client_id
            client_secret = client_secret
            Username      = drupal_username
             
         Sample curl Request Format-
         --location --request POST '<your_drupal_base_url>/rest_api/access_token' \
         --header  'Accept: application/json'\
         --header 'Content-Type: pplication/x-www-form-urlencoded' \
         --data-urlencode 'grant_type=client_credentials' \
         --data-urlencode 'client_id= <Client_ID>'\
         --data-urlencode 'username=<drupal_username>' \
         --data-urlencode 'client_secret=<Client_secret>'
     
  • Vous pouvez également vous référer à l'image de la demande Postman pour obtenir un jeton d'accès de Drupal à l'aide de l'octroi des informations d'identification client.
  • Demande d'authentification par jeton d'accès Drupal
  • Une réponse réussie renvoie le jeton d'accès ainsi que l'expiration du jeton et le type de jeton (veuillez vous référer à l'image ci-dessous)
  • Demande d'authentification par jeton d'accès Drupal
  • Pour effectuer un appel API pour obtenir un jeton d'accès. Nous l'utiliserons ensuite pour authentifier l'API Drupal afin d'obtenir les informations d'un utilisateur. this lien.

5. Authentification du fournisseur tiers

  • Pour mettre en œuvre cette méthode, vous devrez obtenir des jetons auprès de fournisseurs tiers tels que Google, Azure AD, etc. Ces jetons vous permettent d'accéder aux API REST de Drupal en toute sécurité.
  • Pour utiliser l'authentification du fournisseur d'identité externe, vous devrez configurer le module en spécifiant le point de terminaison des informations utilisateur fourni par votre fournisseur d'identité, ainsi que l'attribut de nom d'utilisateur associé à votre fournisseur d'identité. Une fois configuré, vous pouvez authentifier toutes les requêtes API Drupal à l'aide du jeton fourni par votre fournisseur.
  • Accédez à la Authentification API onglet du module d'authentification de l'API REST (/admin/config/people/rest_api_authentication/auth_settings)
  • Cochez la Case à cocher Activer l'authentification et frapper Enregistrer les paramètres ci-dessus .
  • Sous le bouton Enregistrer les paramètres ci-dessus, sélectionnez le bouton radio Fournisseur d’identité externe.
  • Dans la zone de texte User Info Endpoint, saisissez le point de terminaison des informations utilisateur pour votre fournisseur d'identité. Cela permettra au module de récupérer les informations de l'utilisateur à l'aide du jeton fourni.
  • Dans le champ Attribut du nom d'utilisateur, saisissez la clé/le nom d'attribut de votre fournisseur d'identité que le fournisseur externe utilise pour envoyer le nom d'utilisateur.
  • Drupal sélectionne la méthode d'authentification tierce
  • Pour créer un utilisateur dans Drupal, une requête POST doit être effectuée avec le Token reçu du fournisseur d'identité.
  • 
             Request: POST <your_drupal_base_url>/entity/user?_format=json
             Header: 
                     Token: <Token_receievd_from_external_identity_provider>
                     Accept: application/jsonContent-Type: application/json
             Body:
             
                {
                  "name": [
                             {"value": "username"}
                     ],
                  "mail": [
                             {"value": "email"}
                     ],
                  "pass": [
                             {"value": "password"}
                     ],
                 "status": [
                             {"value": "1"}
                     ]
                }
          
             Sample curl Request Format-
             --location --request POST '<your_drupal_base_url>/entity/user?_format=json' \
             --header 'Accept: application/json' \
             --header 'Content-Type: application/json' \
             --header 'Token: ' \
             --data-raw   '   
              {
                 "name": [
                     {"value": "Username"}
                 ],
                 "mail": [
                     {"value": "email"}
                 ],
                 "pass": [
                     {"value": "Password"}
                 ],
                 "status": [
                     {"value": "1"}
                 ]
              }
     
             
  • Vous pouvez vous référer à l'image de la demande Postman ajoutée ci-dessous :
  • Demande d'authentification tierce Drupal
  • Une réponse réussie renvoie les informations utilisateur créées -
  • Réponse d'authentification tierce Drupal

Assistance active 24h/7 et XNUMXj/XNUMX

Si vous rencontrez des problèmes ou si vous avez des questions, n'hésitez pas à nous contacter à drupalsupport@xecurify.com. Si vous souhaitez que des fonctionnalités supplémentaires soient incluses dans le module, veuillez nous contacter et nous pourrons les personnaliser sur mesure pour vous. De plus, si vous le souhaitez, nous pouvons également planifier une réunion en ligne pour vous aider à configurer le module d'authentification Drupal REST API.

Ressources additionnelles

Nos autres modules

Bonjour!

Besoin d'aide? Nous sommes ici !

Support
Contacter l'assistance miniOrange
succès

Merci pour votre demande.

Si vous n'avez pas de nouvelles de nous dans les 24 heures, n'hésitez pas à envoyer un e-mail de suivi à info@xecurify.com