
Característica:
Control de acceso
Control de acceso
El endpoint de GraphQL, que puede devolver cualquier dato accesible a través del esquema, podría potencialmente permitir a actores maliciosos obtener información privada. Por ello, debemos implementar medidas de seguridad para proteger los datos.
Control de acceso
Con las listas de control de acceso, podemos definir quién puede acceder a cada operación, campo y directiva del esquema:
- Deshabilitar el acceso a todo el mundo
- Conceder acceso si el usuario ha iniciado sesión o ha cerrado sesión
- Conceder acceso si el usuario tiene algún rol
- Conceder acceso si el usuario tiene alguna capacidad
- Conceder acceso si el visitante proviene de alguna IP o rango de IPs

Esquema público/privado
¿Qué debería ocurrir cuando un usuario sin acceso a algún campo o directiva del esquema intenta acceder a él?
Con el modo de API público/privado podemos controlar el comportamiento deseado:
En la API pública, los campos del esquema están expuestos, y cuando no se cumple el permiso, el usuario recibe un mensaje de error con una descripción del motivo por el que se rechazó el permiso.
En la API privada, el esquema se personaliza para cada usuario, conteniendo únicamente los campos disponibles para esa persona, por lo que al intentar acceder a un campo prohibido, el mensaje de error indica que el campo no existe.
