
Funzionalità:
Controllo degli accessi
Controllo degli accessi
L'endpoint GraphQL, che può restituire qualsiasi dato accessibile attraverso lo schema, potrebbe potenzialmente consentire ad attori malintenzionati di recuperare informazioni private. Dobbiamo quindi implementare misure di sicurezza per proteggere i dati.
Controllo degli accessi
Con le liste di controllo degli accessi, possiamo definire chi può accedere a ogni operazione, campo e direttiva nello schema:
- Disabilitare l'accesso per tutti
- Concedere l'accesso se l'utente è connesso o disconnesso
- Concedere l'accesso se l'utente ha un determinato ruolo
- Concedere l'accesso se l'utente ha una determinata capacità
- Concedere l'accesso se il visitatore proviene da un determinato indirizzo IP o intervallo di indirizzi IP

Schema pubblico/privato
Cosa dovrebbe accadere quando un utente privo di accesso a un campo o a una direttiva nello schema tenta di accedervi?
Con la modalità API pubblica/privata possiamo controllare il comportamento desiderato:
Nell'API pubblica, i campi dello schema sono esposti e, quando l'autorizzazione non viene soddisfatta, l'utente riceve un messaggio di errore che descrive il motivo per cui l'autorizzazione è stata negata.
Nell'API privata, lo schema è personalizzato per ogni utente, contenendo solo i campi disponibili per quella persona; pertanto, tentando di accedere a un campo vietato, il messaggio di errore indica che il campo non esiste.
