Basisverificatie instellen met de REST API Authentication module
Basisverificatie is een zeer eenvoudige en rechtlijnige verificatiemethode. De client stuurt HTTP-verzoeken met een Authorization-header die een base64-gecodeerde gebruikersnaam en wachtwoord van je Drupal-site bevat.
Bij Basic Authentication zal de miniOrange API authenticatie-module de gebruiker eerst verifiëren met zijn Drupal-gebruikersnaam en -wachtwoord. Als de gebruiker geverifieerd is, kan hij pas die operatie uitvoeren. Deze module is compatibel met Drupal 7, Drupal 8, Drupal 9, Drupal 10 en Drupal 11.
Installatievideo:
Vereisten: Download en Installatie:
- Download en installeer de Drupal REST & JSON API Authentication-module.
- REST UI: Deze module biedt een gebruikersinterface voor het configureren van de REST-module.
- Schakel de volgende Web Services-modules in via het gedeelte Uitbreiden (/admin/modules) van je Drupal-site:
- JSON: API
- REST UI
- RESTful Web Services
- Serialization
Stappen om de Basic Authentication methode in Drupal te configureren:
- Voor een beter begrip nemen we een voorbeeld van het toevoegen van Basic Authentication om een node in Drupal via REST API op te halen.
- Let op dat de /node/{node} API van Drupal wordt gebruikt om informatie over een Drupal-node op te halen.
Schakel de API in, wijs methoden en bewerkingen toe als volgt:
- De eerste stap is het inschakelen van de API en het toewijzen van methoden en bewerkingen die op die specifieke API zijn toegestaan. Dit kan worden gedaan met behulp van de REST UI-module of door eenvoudigweg de configuratie te wijzigen.
- Om de API in te schakelen via de REST UI-module, klik je op de configureerknop van de REST UI-module (zoals hieronder weergegeven).
- In ons voorbeeld willen we de /node/{node} API inschakelen die aanwezig is onder de Content-sectie. Schakel deze API in via de Inschakelen-optie ervoor.
- Aangezien ons doel is om de node-informatie op te halen, selecteer je de volgende configuraties:
- Methode: GET
- Formaat: json
- Authenticatieprovider: rest_api_authentication
- Hiermee kan de miniOrange REST API Authentication-module je API verifiëren. Klik op de Configuratie opslaan-knop om verder te gaan.
Stappen om Basic Authentication in te schakelen:
- In deze stap stellen we Basic Authentication in als een API Authentication-methode. Om dit te doen, ga naar het API Authentication-tabblad van de REST API Authentication Module (/admin/config/people/rest_api_authentication/auth_settings)
- Selecteer het Authenticatie inschakelen-selectievakje en klik op Opslaan boven Instellingen.
- Kies onder de Instellingen opslaan-knop Basic Authentication en klik op de selecteer methode-knop.
Dat is alles!!!
Laten we nu proberen node-informatie op te halen via een API-call met Basic Authentication.
Voorbeeld:
- Om node-informatie in Drupal op te halen, moet je een GET-verzoek doen samen met de Drupal-gebruikersnaam en het wachtwoord van de gebruiker. De waarde van de gebruikersnaam en het wachtwoord moet in base64-gecodeerd formaat zijn. Je kunt hieronder het formaat bekijken om een call te maken.
Request: GET <jouw_drupal_base_url>/node/{node}?_format=json
Header:
Authorization: Basic base64encoded <username:password>
Accept: application/json
Content-Type: application/jsonCURL Request Formaat-
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'>
- Je kunt ook verwijzen naar de afbeelding van het Postman-verzoek hieronder:
- Een succesvol antwoord geeft de node-informatie terug die je hebt aangemaakt. (zie onderstaande afbeelding)
- Als je een foutmelding ontvangt in het antwoord, kun je onderstaande tabel raadplegen voor de foutomschrijving en mogelijke oplossingen.
Fout |
Omschrijving |
MISSING_AUTHORIZATION_HEADER |
Je krijgt deze fout wanneer je geen Authorization-header meestuurt in het API-verzoek of wanneer deze om bepaalde redenen door je server is verwijderd. Voorbeeld: |
INVALID_AUTHORIZATION_HEADER_TOKEN_TYPE |
Je krijgt deze fout wanneer je de Authorization-header meestuurt, maar niet in een geldig formaat. |
USER_NAME_MISSING |
Je krijgt deze fout wanneer de module de gebruikersnaam niet kan vinden in de API-call. Voorbeeld: |
INVALID_CREDENTIALS |
Je krijgt deze fout wanneer de gebruikersnaam of het wachtwoord onjuist is. Voorbeeld: |