🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónIntrospección y sugerencias en producción
5 tareas · 35 min · Principiante
Un servidor GraphQL sabe describirse a sí mismo. Esa capacidad es lo que hace cómodo trabajar contra él mientras se desarrolla, y lo que publica el mapa completo de la superficie cuando se deja encendida donde no toca. A Carretel le llegó un informe de divulgación responsable con su esquema entero adjuntado. Te entregan la configuración del servidor en producción, la política de entornos y el registro de errores del día. Hay que decir de dónde salió el esquema y qué queda abierto aunque se apague.
Objetivo de la sala
Un servidor GraphQL sabe describirse a sí mismo. Esa capacidad es lo que hace cómodo trabajar contra él mientras se desarrolla, y lo que publica el mapa completo de la superficie cuando se deja encendida donde no toca. A Carretel le llegó un informe de divulgación responsable con su esquema entero adjuntado. Te entregan la configuración del servidor en producción, la política de entornos y el registro de errores del día. Hay que decir de dónde salió el esquema y qué queda abierto aunque se apague.La introspección es la parte del propio estándar que permite preguntarle al servidor por su esquema: qué tipos tiene, qué campos tiene cada tipo, qué argumentos aceptan y qué devuelven. Las herramientas de desarrollo viven de ella: con una sola petición construyen el autocompletado, generan tipos para el cliente y dibujan la documentación.
Esa comodidad tiene una lectura distinta en producción. Quien revisa una aplicación desde fuera no necesita adivinar nombres de campos ni recolectarlos de las pantallas: pide el esquema y lo tiene completo, incluidas las operaciones que nadie documentó. Apagarla no arregla ningún control de acceso —el servidor sigue resolviendo lo mismo para quien conozca los nombres—, pero sí deja de regalar el mapa a quien aún no lo tiene.
Responde para continuar
¿Qué devuelve la introspección de un servidor GraphQL?
Ver pista de ayuda
Es una descripción de la forma de la API, no de sus datos ni de sus clientes.
Abre el laboratorio y lee servidor-graphql.conf junto a politica-entornos.txt. Dos opciones de esa configuración no coinciden con lo que la política exige en producción. Una es la introspección; la otra es la que hace que el servidor, cuando el nombre de un campo no existe, conteste con el que más se le parece dentro de ese tipo.
Responde para continuar
Además de la introspección, ¿qué opción del servidor permite reconstruir nombres de campos a partir de las respuestas de error? Escribe su nombre tal como aparece en la configuración.
Ver pista de ayuda
El propio archivo lleva un comentario que explica para qué se pensó esa opción.
En registro-errores.txt están los errores que el servidor devolvió al cliente ese día. Tres de ellos no se limitan a decir que el campo no existe: añaden el nombre correcto. Así se reconstruye un tipo entero sin introspección, un intento por vez. Mira el mensaje de las 10:14:02.
Responde para continuar
¿Qué nombre de campo del tipo Perfil completó el servidor en el mensaje de las 10:14:02? Escríbelo tal como aparece.
Ver pista de ayuda
Compara el nombre que el cliente escribió con el que el servidor sugiere a continuación.
El equipo quiere cerrar el informe apagando la introspección y dando el caso por resuelto. Conviene escribir con cuidado qué cambia y qué no: lo que se gana es que el mapa deje de publicarse sin esfuerzo, lo que no cambia es quién puede leer cada campo. Un esquema se consigue también de una versión vieja de la aplicación móvil, del repositorio de un socio o, como demuestra el informe, de los propios mensajes de validación.
Responde para continuar
¿Qué hay que escribir en el informe sobre apagar la introspección en producción?
Ver pista de ayuda
Ni resuelve el control de acceso ni es inútil; di exactamente qué cambia.
La política de Carretel ya dice qué debe estar encendido en cada entorno, y está bien escrita. Lo que falla es que nadie comprueba que la configuración desplegada se parezca a ella: el servidor de producción lleva encendido lo de desarrollo desde que se copió el archivo. Es un hallazgo de configuración, y se corrige donde se despliega la configuración.
Responde para continuar
¿Qué corrige que producción lleve encendida la configuración pensada para desarrollo?
Ver pista de ayuda
La política ya existe; lo que falta es algo que la haga cumplir sin depender de que alguien se acuerde.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.