Rechazar una request sin firma
Con Next reiniciado y health respondiendo correctamente, vamos a probar un rechazo. Usá otra terminal del host en la carpeta lab, no una shell de lab-agent. No hace falta cambiar de branch.
La siguiente request carece deliberadamente de firma. No es un evento autorizado y no debe activar IA:
curl -i -X POST http://127.0.0.1:3000/api/github \
-H 'Content-Type: application/json' \
--data '{"action":"opened"}'En este comando, -X POST elige el método, -H añade un encabezado que anuncia un body JSON y --data envía ese body. Lo que falta deliberadamente es X-Hub-Signature-256. Escribir "action":"opened" no convierte esos datos en una entrega auténtica de GitHub.
Esperamos una salida como esta. Es un ejemplo, no evidencia de ejecución:
HTTP/1.1 401 Unauthorized
{"error":"invalid_signature"}Si recibís 401, comprobaste el rechazo de esta request sin firma. Todavía no demuestra que funcione una firma válida, eso lo vamos a observar con una entrega de GitHub. Prestá atención a otra respuesta posible, 503 receiver_not_configured. El receptor comprueba la configuración antes de la firma, así que ese error significa que faltan variables válidas, no que la validación haya funcionado.
No sigas si recibís 200, 503, error de conexión o una respuesta de otro servicio. Para 503, corregí WEBHOOK_SECRET y GITHUB_WEBHOOK_REPO en privado y repetí el reinicio de Next. No desactives HMAC para conseguir un 200.