¿Qué es OAuth 2.0?
OAuth 2.0 es un estándar abierto con el que una aplicación puede acceder, en nombre de un usuario, a datos protegidos de otro servicio sin conocer su contraseña. En lugar de credenciales, recibe tokens de acceso limitados en el tiempo y en su alcance.

OAuth 2.0: definición e importancia
Antes, los usuarios entregaban su contraseña a aplicaciones de terceros para que pudieran acceder al correo o al calendario, un riesgo considerable. OAuth 2.0 lo resuelve: el usuario permite a una aplicación un acceso concreto y la contraseña permanece en el servicio correspondiente. El estándar está publicado desde 2012 como RFC 6749 y es la base de muchos inicios de sesión e interfaces.
Conviene distinguir bien: OAuth 2.0 regula la autorización, es decir, lo que una aplicación puede hacer. Para el inicio de sesión (¿quién es el usuario?) se emplea normalmente OpenID Connect, que se basa en él. Ambos aparecen, por ejemplo, en «Iniciar sesión con Google» o «Iniciar sesión con Microsoft».
Cómo funciona OAuth 2.0
Intervienen cuatro roles: el usuario como propietario del recurso, la aplicación como cliente, el servidor de autorización, que comprueba la concesión, y el servidor de recursos con los datos protegidos. El usuario es dirigido al servidor de autorización, inicia sesión allí y confirma qué permisos (scopes) recibe la aplicación.
La aplicación obtiene entonces un token de acceso de corta duración y, en su caso, un token de actualización para conseguir nuevos tokens de acceso. Para aplicaciones web y móviles, el método recomendado es el flujo de código de autorización con PKCE; para conexiones entre servidores se usa el flujo de credenciales de cliente. Variantes antiguas como el flujo implícito se consideran obsoletas.
Ejemplo práctico: reserva de citas con acceso al calendario
Una consulta de fisioterapia usa un sistema de reservas que debe registrar automáticamente las citas reservadas en el calendario de Google u Outlook de los terapeutas. Antes habría que haber almacenado credenciales para ello; hoy basta una autorización mediante OAuth 2.0, en la que la contraseña nunca llega al sistema de reservas.
La terapeuta confirma una sola vez que el sistema puede crear entradas en el calendario, y nada más. Puede revocar el acceso en cualquier momento sin cambiar su contraseña. El sistema solo guarda los tokens, a ser posible cifrados, y solicita otros nuevos automáticamente cuando caducan.
Ventajas, límites y errores habituales
OAuth 2.0 separa contraseña y acceso, permite permisos finamente graduados y revocables y cuenta con un amplio soporte. Pero el estándar es un marco con muchas variantes, y en la implementación surgen con facilidad brechas de seguridad, porque detalles como las redirecciones y el almacenamiento de tokens son responsabilidad propia. Errores típicos:
- Usar flujos obsoletos como el flujo implícito o la concesión por contraseña
- Guardar tokens en el código fuente, en URL o en texto plano en la base de datos
- Solicitar scopes demasiado amplios en lugar de solo los permisos necesarios
- No definir ni comprobar con exactitud las URI de redirección
- Confundir OAuth con el inicio de sesión y prescindir de OpenID Connect
Qué debe tener en cuenta su empresa
Apueste por bibliotecas contrastadas y servicios de identidad reconocidos en lugar de desarrollos propios, solicite solo los permisos necesarios y planifique la revocación y la rotación de tokens. Nano Concepts conecta servicios como Microsoft, Google o plataformas sectoriales mediante OAuth 2.0 y protege las interfaces de portales y aplicaciones.
Preguntas frecuentes sobre OAuth 2.0
Estrictamente, no: OAuth 2.0 regula qué accesos recibe una aplicación en nombre de un usuario. Para el inicio de sesión propiamente dicho se usa OpenID Connect, que se basa en OAuth y aporta además un token de identidad con información sobre el usuario.
Un token de acceso es una prueba de autorización limitada en el tiempo que una aplicación envía en sus peticiones a un servicio. Contiene los permisos concedidos (scopes) o remite a ellos y caduca al cabo de poco tiempo. Un token de actualización puede solicitar uno nuevo.
Un scope describe el alcance de una autorización, por ejemplo «leer el calendario» o «modificar contactos». El usuario lo ve en la pantalla de consentimiento y el token solo vale para esos permisos. Las aplicaciones deben solicitar únicamente los scopes que realmente necesiten.
OAuth 1.0 usaba firmas criptográficas en cada petición y se consideraba complicado. OAuth 2.0 es más sencillo y flexible, se apoya en conexiones cifradas (HTTPS) y no es retrocompatible. Hoy se utiliza prácticamente solo OAuth 2.0.
Servicios que encajan

Desarrollo de API y backend
Interfaces y backends que conectan ERP, CRM, tienda y apps: intercambio automático de datos en lugar de teclearlos.
Más información
Seguridad web
Detectar y cerrar vulnerabilidades en sitios web, tiendas online, portales de clientes y aplicaciones web a medida.
Más información
Desarrollo de portales de clientes
Un área de autoservicio protegida en la que sus clientes consultan por sí mismos pedidos, facturas, documentos y tickets.
Más informaciónTérminos relacionados
Relevante para estos sectores
Artículos relacionados de la revista

Desarrollo de apps: el proceso de la idea a la tienda
De la primera conversación a la publicación en el App Store y Google Play: las cinco fases del desarrollo de una app, con resultados, decisiones, un ejemplo práctico y los errores más frecuentes.
Seguir leyendo
Proteger WordPress: hardening, actualizaciones, plugins y copias
La mayoría de las vulnerabilidades de WordPress están en plugins y temas, no en el núcleo. Cómo reforzar su instalación con permisos claros, un ritmo fijo de actualizaciones, copias probadas y monitorización.
Seguir leyendo
Mantenimiento de software: qué debe cubrir un contrato de mantenimiento
El software nunca está terminado. Qué servicios debe incluir un contrato de mantenimiento, cómo separar mantenimiento, soporte y evolución y qué alcance necesita realmente su software.
Seguir leyendo