Podesite osnovnu autentifikaciju pomoću modula HTTP Basic Authentication
Autentikacija za CRUD operacije putem JSON:API-ja
Kada komunicirate sa JSON:API-jem, alati kao što su Postman ili cURL mogu se koristiti za slanje zahteva. Podrazumevano, zahtevi poslati putem ovih alata tretiraju se kao da dolaze od „anonimnog“ korisnika, pošto oni sami po sebi ne upravljaju korisničkom autentikacijom. Kao rezultat toga, pristup određenim resursima može biti ograničen na osnovu dozvola koje su podešene za anonimne korisnike na vašem Drupal sajtu.
Ipak, ako želite da izvršavate kreiranje, izmenu ili brisanje (CRUD) operacija preko JSON:API-ja, oslanjanje samo na anoniman pristup nije dovoljno. Ove operacije zahtevaju autentifikovani pristup. Drupal podržava više metoda autentifikacije, koje možete omogućiti putem različitih core i contributed modula.
Jedna od najčešće korišćenih metoda je HTTP Basic Authentication, koja je uključena u osnovu Drupala. Za naprednije slučajeve, moduli kao što je Drupal REST & JSON API Authentication nude proširene mogućnosti autentikacije i opcije prilagođavanja, što vam omogućava da prilagodite bezbednosni model potrebama vaše aplikacije.
Koraci za slanje autentifikovanog zahteva
- Za ovaj primer, proverite da su sve operacije omogućene
- Omogućite HTTP Basic Authentication modul
- Kreirajte ulogu za API korisnika
- Dodelite potrebne dozvole za tu ulogu. /admin/people/permissions/api_user
- Za ovaj primer dodelite dozvolu
*Article*: Kreiraj novi sadržaj
- Kreirajte korisnika sa API User dozvolom. /admin/people/create
- Podesite autorizaciju u Postman-u. Koristite nalog koji ste upravo napravili
- Dodajte Content-Type header
application/vnd.api+json
- Ažurirajte telo zahteva:
{ "data": { "type": "node--article", "attributes": { "title": "Ova stranica je kreirana putem JSON:API-ja", "body": { "value": "neki tekst sadržaja", "format": "plain_text" } } } }
- Pošaljite zahtev i proverite odgovor. Ako je status kod 201, uspešno ste poslali autentifikovani zahtev svom JSON:API-ju i kreirali node tipa article.
JSON:API je moćna i standardizovana specifikacija koja pojednostavljuje proces izrade API-ja u Drupalu. Kao core modul uveden u Drupal 8 i novijim verzijama, omogućava programerima da izlože sadržaj i podatke kroz dosledan i jasno definisan API bez potrebe za opsežnim prilagođenim razvojem.
Jednostavnim omogućavanjem JSON:API modula, odmah dobijate pristup strukturiranom API-ju koji je usklađen sa JSON:API specifikacijom. Ovo omogućava lako upravljanje sadržajem vašeg Drupal sajta koristeći intuitivne URL obrasce i predvidljive formate odgovora—idealno za frontend aplikacije, integracije i decoupled arhitekture.
Za naprednije mogućnosti i najbolje prakse, konsultujte Drupal JSON:API Module Documentation. Dokumentacija nudi detaljna uputstva za funkcije kao što su paginacija, filtriranje, sortiranje, otpremanje fajlova i još mnogo toga—pomažući vam da u potpunosti iskoristite potencijal JSON:API-ja u vašem Drupal projektu.