<p>Stel Basic Authentication in met de HTTP Basic Authentication-module</p>
Authenticatie voor CRUD-bewerkingen met JSON:API
Bij het werken met de JSON:API kun je tools zoals Postman of cURL gebruiken om verzoeken te verzenden. Standaard worden verzoeken via deze tools behandeld als afkomstig van een "anonieme" gebruiker, omdat ze niet automatisch gebruikersauthenticatie afhandelen. Hierdoor kan de toegang tot bepaalde resources beperkt zijn op basis van de rechten die anonieme gebruikers hebben binnen je Drupal-site.
Als je echter create, update of delete (CRUD)-bewerkingen wilt uitvoeren via JSON:API, is alleen anonieme toegang niet voldoende. Deze bewerkingen vereisen geauthenticeerde toegang. Drupal ondersteunt meerdere authenticatiemethoden, die je kunt inschakelen via core- en contrib-modules.
Een van de meest gebruikte methoden is HTTP Basic Authentication, dat is inbegrepen in de Drupal-core. Voor geavanceerdere toepassingen bieden modules zoals Drupal REST & JSON API Authentication uitgebreide mogelijkheden en maatwerkopties om het beveiligingsmodel aan te passen aan je applicatie.
Stappen om een geauthenticeerd verzoek te doen
- Zorg ervoor dat alle bewerkingen zijn ingeschakeld
- Activeer de HTTP Basic Authentication-module
- Maak een rol aan voor een API-gebruiker
- Ken de juiste rechten toe aan de rol:
/admin/people/permissions/api_user
- Voor dit voorbeeld geef je de permissie
Artikel: Nieuwe inhoud aanmaken
- Maak een gebruiker aan met de API-gebruikersrol:
/admin/people/create
- Configureer de autorisatie in Postman met het nieuw aangemaakte account
- Voeg de header toe:
Content-Type: application/vnd.api+json
- Werk de body als volgt bij:
{ "data": { "type": "node--article", "attributes": { "title": "Deze pagina is aangemaakt via JSON:API", "body": { "value": "voorbeeldtekst voor de body", "format": "plain_text" } } } }
- Verzend het verzoek en bekijk de response. Als de statuscode
201
is, heb je succesvol een geauthenticeerd verzoek naar de JSON:API gestuurd en een artikel-node aangemaakt.
JSON:API is een krachtige en gestandaardiseerde specificatie die het bouwen van API’s in Drupal vereenvoudigt. Het werd geïntroduceerd als core-module vanaf Drupal 8 en stelt ontwikkelaars in staat om content en data te ontsluiten via een consistente en goed gedefinieerde API, zonder dat uitgebreide custom code nodig is.
Door simpelweg de JSON:API-module in te schakelen, krijg je directe toegang tot een gestructureerde API die voldoet aan de JSON:API-specificatie. Dit maakt het eenvoudig om te communiceren met je Drupal-site via intuïtieve URL-patronen en voorspelbare response-formaten—ideaal voor frontend-applicaties, integraties en decoupled architecturen.
Voor meer geavanceerde mogelijkheden en best practices, raadpleeg de Drupal JSON:API Module-documentatie. De documentatie biedt uitgebreide richtlijnen over functies zoals paginering, filtering, sortering, bestanduploads en meer—om het volledige potentieel van JSON:API in je Drupal-project te benutten.