Portada » ¿Qué es OpenID Connect? Cómo Funciona y Diferencia con OAuth
CIBERSEGURIDAD · OPENID CONNECT · OIDC · OAUTH 2.0

¿Qué es OpenID Connect?

OpenID Connect u OIDC es un protocolo de identidad construido sobre OAuth 2.0 que permite a una aplicación comprobar la identidad de un usuario autenticado. Utiliza componentes como el ID Token, el UserInfo Endpoint y los flujos definidos sobre OAuth 2.0 para incorporar autenticación a una arquitectura de autorización.

OpenID Connect OIDC OAuth 2.0 ID Token
Respuesta rápida

¿Qué es OpenID Connect?

OpenID Connect es un protocolo de identidad que utiliza OAuth 2.0 como base para permitir que una aplicación compruebe la identidad de un usuario autenticado.

OIDC incorpora elementos como el ID Token, que contiene información sobre la autenticación e identidad del usuario, y puede utilizar el UserInfo Endpoint para obtener datos adicionales del usuario según los permisos concedidos.

Concepto clave

¿Cómo funciona OpenID Connect?

OIDC añade una capa de identidad sobre OAuth 2.0 para que una aplicación pueda conocer y verificar información sobre el usuario autenticado.

OAuth gestiona el flujo

OpenID Connect utiliza los flujos y mecanismos de OAuth 2.0 para iniciar la interacción entre el cliente y el proveedor de identidad.

Se autentica al usuario

El usuario interactúa con el proveedor de identidad y realiza el proceso de autenticación que corresponda a la cuenta.

Se entrega información de identidad

Después del proceso, la aplicación puede recibir un ID Token y, según el flujo y permisos utilizados, consultar información adicional mediante UserInfo.

Publicidad
Punto crítico

OAuth y OpenID Connect no cumplen exactamente la misma función

OAuth 2.0 está orientado principalmente a autorización, mientras que OpenID Connect añade un protocolo específico para identidad y autenticación.

01 · OAUTH

Acceso delegado

OAuth permite que un cliente obtenga acceso limitado a recursos protegidos mediante tokens y alcances definidos.

02 · OIDC

Identidad del usuario

OpenID Connect incorpora mecanismos para comunicar y verificar información sobre la identidad del usuario autenticado.

03 · ID TOKEN

Información de identidad

El ID Token permite transmitir información relacionada con la autenticación y la identidad del usuario al cliente.

Publicidad
Comparación general

Principales componentes de OpenID Connect

Componente Función Ejemplo Característica
OpenID Provider Gestiona la identidad y autenticación. Proveedor de identidad. Autentica usuarios y emite tokens.
Client Solicita autenticación. Aplicación web o móvil. Recibe tokens e información de identidad.
ID Token Representa información de identidad. JWT. Contiene claims relacionados con el usuario y la autenticación.
UserInfo Endpoint Entrega información del usuario. Endpoint HTTPS. Requiere un access token válido para solicitar datos.
Nonce Vincula la solicitud con la respuesta. Valor aleatorio. Ayuda a detectar respuestas no asociadas con la solicitud iniciada.
Publicidad
Identidad

¿Qué es un OpenID Provider?

Un OpenID Provider o OP es el sistema que gestiona la autenticación del usuario y participa en la emisión de información de identidad y tokens definidos por OpenID Connect.

Autenticación

El proveedor de identidad presenta al usuario el proceso necesario para verificar sus credenciales y completar la autenticación.

Tokens

Después de una autenticación válida, el proveedor puede emitir los tokens correspondientes al flujo utilizado.

Identidad

El OpenID Provider puede proporcionar al cliente información verificable sobre la identidad del usuario autenticado.

ID Token

¿Qué es un ID Token?

El ID Token es uno de los elementos centrales de OpenID Connect y contiene claims relacionados con la autenticación y la identidad del usuario.

Formato JWT

En OpenID Connect, el ID Token se representa como un JSON Web Token firmado que el cliente puede validar según las reglas del protocolo.

Claims

El token puede contener claims como el identificador del usuario, el emisor del token, la audiencia y datos temporales relacionados con la autenticación.

Validación

El cliente debe validar los elementos relevantes del ID Token antes de utilizarlo para aceptar la información de identidad proporcionada.

Publicidad
UserInfo

¿Qué es el UserInfo Endpoint?

El UserInfo Endpoint es un recurso protegido que puede proporcionar información adicional sobre el usuario autenticado.

Access Token

El cliente puede presentar un access token válido para solicitar información del usuario según el alcance concedido.

Información adicional

Los datos disponibles dependen de los claims y scopes configurados por el proveedor de identidad y aceptados durante el proceso.

No reemplaza al ID Token

El UserInfo Endpoint y el ID Token tienen funciones relacionadas, pero cumplen papeles diferentes dentro de OpenID Connect.

Scopes

¿Qué son los scopes en OpenID Connect?

Los scopes indican el alcance solicitado durante el proceso de autorización y pueden determinar qué información del usuario puede solicitar el cliente.

OpenID

El scope openid identifica la solicitud como una operación de OpenID Connect y permite activar las funciones de identidad del protocolo.

Perfil

El scope profile puede solicitar determinados datos de perfil del usuario cuando el proveedor los ofrece y el acceso correspondiente es concedido.

Correo electrónico

El scope email puede solicitar información relacionada con la dirección de correo electrónico del usuario según la configuración del proveedor.

Publicidad
OIDC vs OAuth

¿Cuál es la diferencia entre OpenID Connect y OAuth?

OAuth 2.0 y OpenID Connect están relacionados, pero fueron diseñados para objetivos diferentes.

OAuth 2.0

OAuth 2.0 proporciona un marco de autorización para que un cliente pueda obtener acceso limitado a recursos protegidos.

OpenID Connect

OpenID Connect utiliza OAuth 2.0 como base y añade una capa estandarizada para autenticar usuarios y comunicar información sobre su identidad.

ID Token

Una diferencia fundamental es que OIDC introduce el ID Token como mecanismo destinado a transportar información relacionada con la identidad y autenticación del usuario.

Authorization Code

¿Cómo funciona el flujo Authorization Code en OIDC?

Authorization Code es uno de los flujos utilizados con OpenID Connect para que una aplicación obtenga información y tokens después de la autenticación del usuario.

Solicitud de autorización

El cliente redirige al usuario hacia el proveedor de identidad con los parámetros necesarios para iniciar el proceso.

Autenticación

El usuario se autentica ante el proveedor de identidad y, cuando corresponde, concede el acceso solicitado por la aplicación.

Intercambio del código

El cliente recibe un authorization code y lo intercambia en el token endpoint por los tokens correspondientes al flujo.

Publicidad
Seguridad

¿Qué es el nonce en OpenID Connect?

El nonce es un valor asociado con una solicitud de autenticación que permite al cliente vincular determinadas partes de la respuesta con la solicitud original.

Valor único

El cliente genera un valor que puede utilizarse para distinguir una solicitud concreta de otras solicitudes.

Presencia en el ID Token

Cuando corresponde, el nonce recibido en el ID Token puede compararse con el valor enviado originalmente para comprobar que coincidan.

Protección del flujo

La validación del nonce forma parte de las comprobaciones de seguridad que debe realizar el cliente en una implementación correcta de OpenID Connect.

Protección

¿Qué relación tiene PKCE con OpenID Connect?

PKCE puede utilizarse junto con el flujo Authorization Code para proteger el intercambio del código y vincularlo con la solicitud iniciada por el cliente.

Code Verifier

El cliente genera un code verifier y lo utiliza como parte de la protección del flujo.

Authorization Code

Después de recibir el código, el cliente presenta el code verifier al solicitar los tokens correspondientes.

Clientes públicos

PKCE es especialmente relevante en arquitecturas donde el cliente no puede mantener un secreto de cliente de forma confidencial.

Seguridad

¿Qué debe validar una aplicación al utilizar OIDC?

Una implementación de OpenID Connect no debería aceptar un ID Token sin realizar las comprobaciones necesarias definidas por el protocolo y la configuración del proveedor.

Emisor

El cliente debe comprobar que el token haya sido emitido por el OpenID Provider esperado.

Audiencia

También debe verificar que el token esté destinado al cliente correspondiente mediante los datos de audiencia.

Firma y tiempo

La aplicación debe validar la firma y las condiciones temporales relevantes del token antes de confiar en su contenido.

Publicidad
SSO

¿OpenID Connect permite Single Sign-On?

OpenID Connect puede formar parte de una arquitectura de Single Sign-On o SSO, donde una autenticación realizada ante un proveedor de identidad permite acceder a diferentes aplicaciones compatibles.

Un proveedor de identidad

Varias aplicaciones pueden utilizar un mismo proveedor de identidad para gestionar la autenticación de sus usuarios.

Aplicaciones independientes

Cada aplicación mantiene su propia configuración y permisos, aunque puede confiar en la identidad proporcionada por el mismo sistema de identidad.

No son sinónimos

OIDC es un protocolo de identidad, mientras que SSO describe una experiencia o arquitectura en la que una autenticación puede dar acceso a múltiples aplicaciones.

Configuración

¿Qué se necesita para integrar OpenID Connect?

Una integración OIDC requiere registrar correctamente el cliente y definir los parámetros necesarios para que el proveedor y la aplicación puedan comunicarse.

Client ID

La aplicación necesita un identificador registrado ante el OpenID Provider para iniciar las solicitudes de autenticación.

Redirect URI

El proveedor debe conocer las direcciones autorizadas a las que puede devolver la respuesta del proceso de autenticación.

Scopes y endpoints

La aplicación debe utilizar los scopes, endpoints y parámetros correspondientes a la configuración del proveedor de identidad.

Limitaciones

¿OpenID Connect garantiza una autenticación completamente segura?

No. OIDC proporciona un protocolo estandarizado, pero la seguridad final depende de su implementación, configuración y de la protección de las cuentas, tokens y sistemas involucrados.

Configuración

Redirect URI, clientes, scopes, almacenamiento de tokens y validaciones deben configurarse correctamente.

Proveedor de identidad

La seguridad del proceso también depende del proveedor de identidad y de las medidas aplicadas para proteger las cuentas de los usuarios.

Aplicación cliente

El cliente debe realizar correctamente las validaciones del protocolo y proteger las credenciales y tokens que recibe.

Resumen

OpenID Connect: conceptos principales

Concepto Significado Ejemplo Función
OpenID Connect Protocolo de identidad sobre OAuth 2.0. Inicio de sesión mediante proveedor de identidad. Autenticar usuarios y comunicar identidad.
ID Token Token de identidad. JWT firmado. Transportar información sobre autenticación e identidad.
UserInfo Endpoint de información del usuario. Solicitud HTTPS con access token. Obtener información adicional del usuario.
Nonce Valor asociado con una solicitud. Cadena aleatoria. Vincular la respuesta con la solicitud iniciada.
OAuth 2.0 Marco de autorización. Access token y scopes. Delegar acceso a recursos.
Continúa aprendiendo

Guías relacionadas sobre autenticación y autorización

Elige el tema que quieras profundizar:

Preguntas frecuentes

Preguntas frecuentes sobre OpenID Connect

OpenID Connect es un protocolo de identidad construido sobre OAuth 2.0 que permite a una aplicación comprobar la identidad de un usuario autenticado.

Sirve para añadir autenticación de identidad a una arquitectura basada en OAuth 2.0 y permitir que una aplicación reciba información verificable sobre el usuario autenticado.

OAuth 2.0 es un marco de autorización, mientras que OpenID Connect utiliza OAuth 2.0 como base y añade mecanismos para autenticar usuarios y comunicar información de identidad.

Es un token de identidad utilizado por OpenID Connect para transportar información relacionada con la autenticación y la identidad del usuario.

Es un recurso protegido que puede proporcionar información adicional sobre el usuario autenticado utilizando un access token válido.

Es un valor asociado con una solicitud de autenticación que permite vincular determinadas partes de la respuesta con la solicitud original.

Sí. OpenID Connect utiliza OAuth 2.0 como base y añade mecanismos específicos para autenticación e identidad.

Sí. OpenID Connect puede formar parte de una arquitectura de Single Sign-On donde varias aplicaciones utilizan un mismo proveedor de identidad para autenticar usuarios.

Publicidad
Siguiente guía

¿Qué es OAuth?

Continúa aprendiendo sobre identidad y autorización y comprende cómo funciona OAuth 2.0 y su relación con OpenID Connect.

Ver guía →
Carrito de compra
Scroll al inicio