Configuración de Webhooks y API REST con Go y ngrok
Clase 4 de 30 • Curso de Ciberseguridad para Desarrollo Web
Resumen
¿Cómo configurar un sistema de seguimiento en Go con dependencia de Mux Router?
Iniciar tu proyecto en Go y configurar las dependencias adecuadas es fundamental para desarrollar aplicaciones robustas y escalables. Este contenido explicará cómo comenzar un proyecto de seguimiento en GitHub utilizando el lenguaje de programación Go y por qué es tan útil conocer las dependencias esenciales como Mux Router.
Vamos a crear una carpeta para almacenar nuestro código y, acto seguido, inicializaremos un archivo go.mod
para gestionar las dependencias de manera eficiente. Estos pasos son vitales para configurar el entorno de trabajo en Go.
¿Cómo se inicializa y se configura el proyecto?
-
Crear carpeta de proyecto: Inicia creando una carpeta llamada
github-tracker
.mkdir github-tracker cd github-tracker
-
Inicializar
go.mod
: Ejecuta el siguiente comando para crear el archivo que gestionará tus dependencias.go mod init github-tracker
-
Crear el archivo principal: Crea un archivo
main.go
donde centralizarás la lógica del proyecto. Importa el paquete principal y declara la funciónmain
. -
Configurar el router: Utiliza el Mux Router para gestionar tus rutas. Si aún no lo tienes, instálalo usando el sistema de dependencias de Go.
go get -u github.com/gorilla/mux
¿Cómo crear un API REST en Go?
Para crear un API REST, declara las rutas y los controladores que se ejecutarán cuando lleguen las solicitudes. La implementación debe contemplar la gestión de los métodos HTTP, así como la producción y gestión de respuestas.
-
Inicializar una ruta con Mux:
import ( "github.com/gorilla/mux" ) func main() { router := mux.NewRouter() router.HandleFunc("/hello", postHandler).Methods("POST") }
-
Implementar el controlador de la ruta:
func postHandler(w http.ResponseWriter, r *http.Request) { ioutil.ReadAll(r.Body) defer r.Body.Close() fmt.Println("Received POST request") }
-
Iniciar el servidor:
http.ListenAndServe(":8080", router)
¿Cómo gestionar la seguridad y auditoría en GitHub?
Configura webhooks en GitHub para escuchar eventos específicos y gestionarlos localmente. Puedes utilizar herramientas como ngrok para exponer tu servidor local a la red externa de forma segura y temporal.
-
Configurar ngrok:
Después de registrar ngrok, inicia un túnel al puerto 8080 que exponga tu aplicación a internet.
ngrok http 8080
-
Registrar webhook en GitHub:
Ingresa a la configuración de tu repositorio de GitHub, añade un nuevo webhook utilizando la URL proporcionada por ngrok. Configura para escuchar eventos de
push
. -
Validar entregas de webhook:
Verifica en el apartado de entregas recientes de GitHub la correcta recepción y procesamiento del payload enviado por el webhook.
Con estas instrucciones habrás configurado un sistema básico de seguimiento en GitHub utilizando Go y Mux Router, además de recibir webhooks localmente con ngrok. Este tipo de configuraciones son esenciales para desarrollar aplicaciones que interactúen con plataformas externas de manera eficiente y segura. Anímate a seguir explorando y mejorando tus proyectos en Go.