Avatar ·

¿Cómo organizar correctamente la autenticación en Go? (JWT, sesiones, middleware)

¡Hola a todos! Soy un desarrollador Go principiante y estoy escribiendo mi primera API REST en Go puro (sin frameworks como Gin o Echo). Me quedé atascado en el tema de la autenticación. He leído muchos artículos, pero en todas partes ofrecen enfoques diferentes: algunos usan JWT, otros usan sesiones con cookies, otros usan OAuth2 a través de servicios de terceros. Estoy muy confundido. Mi tarea: hacer una API simple para notas. El usuario se registra, inicia sesión, obtiene un token y luego lo usa para acceder a endpoints protegidos. Por ahora, he esbozado este código primitivo para verificar la contraseña en el handler: ```go func loginHandler(w http.ResponseWriter, r *http.Request) { // ... parseo de JSON con login y contraseña user, err := findUserByEmail(email) if err != nil || !checkPasswordHash(password, user.Hash) { http.Error(w, "unauthorized", http.StatusUnauthorized) return } // ¿Y luego qué? ¿Cómo guardar el hecho de la autenticación? w.Write([]byte("logged in")) } ``` Preguntas: 1. ¿Qué enfoque se considera ahora