Sobes.tech
Junior — Middle

¿Qué mecanismos de autenticación y autorización se aplicaron en sus proyectos?

sobes.tech AI

Respuesta de la IA

En proyectos en Go, a menudo se utilizan los siguientes mecanismos de autenticación y autorización:

  • JWT (JSON Web Tokens) — para autenticación sin estado, donde el servidor emite un token después de un inicio de sesión exitoso, y el cliente lo envía en los encabezados de las solicitudes.
  • Autenticación básica — método sencillo que transmite el nombre de usuario y la contraseña en el encabezado, generalmente para servicios internos.
  • OAuth 2.0 — para integración con proveedores externos (Google, Facebook), especialmente en aplicaciones web.
  • Middleware para verificar permisos de acceso — en Go, a menudo se implementa mediante middleware que verifica la presencia y validez del token, así como los permisos del usuario.

Ejemplo de middleware simple para verificar JWT en Go:

func AuthMiddleware(next http.Handler) http.Handler {
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        tokenString := r.Header.Get("Authorization")
        if tokenString == "" {
            http.Error(w, "Unauthorized", http.StatusUnauthorized)
            return
        }
        // Aquí agregar lógica para verificar el token
        // Si el token es válido:
        next.ServeHTTP(w, r)
    })
}