
Funkcja:
Kontrola Dostępu
Kontrola Dostępu
Endpoint GraphQL, który może zwracać dowolne dane dostępne przez schemat, może potencjalnie umożliwić złośliwym podmiotom pobranie prywatnych informacji. Dlatego musimy wdrożyć środki bezpieczeństwa w celu ochrony danych.
Kontrola Dostępu
Dzięki listom kontroli dostępu możemy określić, kto może uzyskać dostęp do każdej operacji, pola i dyrektywy w schemacie:
- Wyłącz dostęp dla wszystkich
- Przyznaj dostęp, jeśli użytkownik jest zalogowany lub wylogowany
- Przyznaj dostęp, jeśli użytkownik ma określoną rolę
- Przyznaj dostęp, jeśli użytkownik ma określone uprawnienie
- Przyznaj dostęp, jeśli odwiedzający pochodzi z określonego adresu IP lub zakresu IP

Schemat Publiczny/Prywatny
Co powinno się stać, gdy użytkownik bez dostępu do określonego pola lub dyrektywy w schemacie próbuje uzyskać do niego dostęp?
Dzięki trybowi publicznego/prywatnego API możemy kontrolować pożądane zachowanie:
W publicznym API pola schematu są udostępnione, a gdy uprawnienie nie jest spełnione, użytkownik otrzymuje komunikat o błędzie z opisem, dlaczego uprawnienie zostało odrzucone.
W prywatnym API schemat jest dostosowany do każdego użytkownika i zawiera tylko pola dostępne dla danej osoby, dlatego przy próbie uzyskania dostępu do zabronionego pola komunikat o błędzie informuje, że pole nie istnieje.
