¿Qué es OIDC?
Obtenga información sobre OpenID Connect (OIDC), un protocolo de autenticación que comprueba las identidades de los usuarios cuando inician sesión para acceder a los recursos digitales.
OpenID Connect (OIDC) definido
OpenID Connect (OIDC) es un protocolo de autenticación de identidad que es una extensión de Open Authorization (OAuth) 2.0 para estandarizar el proceso de autenticación y autorización de usuarios cuando inician sesión para acceder a los servicios digitales. OIDC proporciona autenticación, lo que implica comprobar que los usuarios son quienes dicen ser. OAuth 2.0 autoriza los sistemas a los que pueden acceder esos usuarios. OAuth 2.0 se usa normalmente para permitir que dos aplicaciones no relacionadas compartan información sin poner en peligro los datos de los usuarios. Por ejemplo, muchas personas usan sus cuentas de correo electrónico o redes sociales para iniciar sesión en un sitio de terceros en lugar de crear un nuevo nombre de usuario y contraseña. OIDC también se usa para proporcionar inicio de sesión único. Las organizaciones pueden usar un sistema seguro de administración de identidades y acceso (IAM) como Microsoft Entra ID (anteriormente Azure Active Directory) como autenticador principal de identidades y, a continuación, usar OIDC para pasar esa autenticación a otras aplicaciones. De este modo, los usuarios solo necesitan iniciar sesión una vez con un nombre de usuario y una contraseña para acceder a varias aplicaciones.
Componentes clave de OIDC
Hay seis componentes principales en OIDC:
- La autenticación es el proceso de comprobar que el usuario es quien dice ser.
- Un cliente es el software, como un sitio web o una aplicación, que solicita tokens que se usan para autenticar a un usuario o acceder a un recurso.
- Los usuarios de confianza son las aplicaciones que usan proveedores de OpenID para autenticar a los usuarios.
- Los tokens de identidad contienen datos de identidad, incluido el resultado del proceso de autenticación, un identificador para el usuario e información sobre cómo y cuándo se autentica el usuario.
- Los proveedores de OpenID son las aplicaciones para las que un usuario ya tiene una cuenta. Su rol en OIDC es autenticar al usuario y pasar esa información al usuario de confianza.
- Los usuarios son personas o servicios que buscan acceder a una aplicación sin crear una nueva cuenta ni proporcionar un nombre de usuario y una contraseña.
¿Cómo funciona la autenticación de OIDC?
La autenticación de OIDC funciona permitiendo a los usuarios iniciar sesión en una aplicación y recibir acceso a otra. Por ejemplo, si un usuario quiere crear una cuenta en un sitio de noticias, puede que tenga la opción de usar Facebook para crear su cuenta en lugar de crear una nueva cuenta. Si elige Facebook, usa la autenticación OIDC. Facebook, que en este caso es el proveedor de OpenID, controla el proceso de autenticación y obtiene el consentimiento del usuario para proporcionar información específica, como un perfil de usuario, al sitio de noticias, que es el usuario de confianza.
Tokens de identificación
El proveedor de OpenID usa tokens de identificación para transmitir los resultados de la autenticación y cualquier información pertinente al usuario de confianza. Entre los ejemplos del tipo de datos que se envían se incluyen un identificador, una dirección de correo electrónico y un nombre.
Ámbitos
Los ámbitos definen lo que el usuario puede hacer con su acceso. OIDC proporciona ámbitos estándar, que definen aspectos como para qué usuario de confianza se generó el token, cuándo se generó el token, cuándo expirará el token y la intensidad de cifrado usada para autenticar al usuario.
Un proceso de autenticación de OIDC típico incluye los pasos siguientes:
- Un usuario va a la aplicación a la que quiere acceder (el usuario de confianza).
- El usuario escribe su nombre de usuario y contraseña.
- El usuario de confianza envía una solicitud al proveedor de OpenID.
- El proveedor de OpenID valida las credenciales del usuario y obtiene la autorización.
- El proveedor de OpenID envía un token de identidad y, a menudo, también un token de acceso al usuario de confianza.
- El usuario de confianza envía el token de acceso al dispositivo del usuario.
- Se concede acceso al usuario en función de la información proporcionada en el token de acceso y el usuario de confianza.
¿Qué son los flujos de OIDC?
Los flujos de OIDC definen cómo se solicitan y entregan los tokens al usuario de confianza. Algunos ejemplos:
Flujos de autorización de OIDC: El proveedor de OpenID envía un código único al usuario de confianza. A continuación, el usuario de confianza devuelve el código único al proveedor de OpenID a cambio del token. Este método se usa para que el proveedor de OpenID pueda comprobar el usuario de confianza antes de enviar el token. El explorador no puede ver el token en este método, lo que ayuda a protegerlo.
Flujos de autorización de OIDC con la extensión PKCE: Este flujo es el mismo que el flujo de autorización de OIDC, salvo que usa una clave pública para la extensión de intercambio de código (PKCE) para enviar comunicaciones como un hash. Esto reduce las probabilidades de que se intercepte el token.
Credenciales de cliente: Este flujo proporciona acceso a las API web mediante la identidad de la propia aplicación. Normalmente se usa para la comunicación de servidor a servidor y scripts automatizados que no requieren interacción del usuario.
Código de dispositivo: Este flujo permite a los usuarios iniciar sesión y acceder a las API basadas en web en dispositivos conectados a Internet que no tienen exploradores o tienen una experiencia de teclado deficiente, como un televisor inteligente.
No se recomiendan flujos adicionales, como el flujo implícito de OIDC, que está diseñado para aplicaciones basadas en explorador, porque suponen un riesgo para la seguridad.
OIDC frente a OAuth 2.0
OIDC se basó en OAuth 2.0 para agregar autenticación. El protocolo OAuth 2.0 se desarrolló primero y, después, se agregó OIDC para mejorar sus capacidades. La diferencia entre ambos es que OAuth 2.0 proporciona autorización, mientras que OIDC proporciona autenticación. OAuth 2.0 es lo que permite a los usuarios obtener acceso a un usuario de confianza, usando su cuenta con un proveedor de OpenID, y OIDC es lo que permite al proveedor de OpenID pasar un perfil de usuario al usuario de confianza. OIDC también permite a las organizaciones ofrecer a sus usuarios el inicio de sesión único.
Ventajas de la autenticación de OIDC
Al reducir el número de cuentas que los usuarios necesitan para acceder a las aplicaciones, OIDC ofrece varias ventajas tanto a las personas como a las organizaciones:
-
Reduce el riesgo de contraseñas robadas
Cuando los usuarios necesitan usar varias contraseñas para acceder a las aplicaciones que necesitan para el trabajo y su vida personal, a menudo eligen contraseñas fáciles de memorizar, como Contraseña1234!, y usan la misma en varias cuentas. Esto aumenta el riesgo de que un actor malintencionado adivine una contraseña. Una vez que conozcan la contraseña de una cuenta, es posible que también puedan acceder a otras cuentas. Al reducir el número de contraseñas que alguien tiene que memorizar, aumenta la probabilidad de que se use una contraseña más segura.
-
Mejora los controles de seguridad
Mediante la centralización de la autenticación en una aplicación, las organizaciones también pueden proteger el acceso entre varias aplicaciones con controles de acceso seguros. OIDC admite autenticación en dos fases y multifactor, que requieren que los usuarios comprueben su identidad con al menos dos de las siguientes opciones:
Algo que el usuario conozca, normalmente una contraseña.
Algo que el usuario posea, como un dispositivo de confianza o token que no se pueda duplicar fácilmente.
Algo que el usuario sea, como una huella dactilar o escáner facial.
La autenticación multifactor es un método probado para reducir el riesgo de las cuentas. Las organizaciones también pueden usar OIDC para aplicar otras medidas de seguridad, como administración de acceso con privilegios, protección con contraseña, seguridad de inicio de sesión o la protección de identidad en varias aplicaciones.
-
Simplifica la experiencia del usuario
El inicio de sesión en varias cuentas a lo largo del día puede llevar mucho tiempo y resultar frustrante para los usuarios. Además, si pierden u olvidan una contraseña, restablecerla puede interrumpir aún más la productividad. Las empresas que usan OIDC para proporcionar a sus empleados un inicio de sesión único ayudan a garantizar que sus empleados dedican más tiempo al trabajo productivo en lugar de intentar obtener acceso a las aplicaciones. Las organizaciones también hacen más probable que los clientes se registren y usen sus servicios si permiten a los usuarios usar su cuenta de Microsoft, Facebook o Google para iniciar sesión.
-
Estandariza la autenticación
OpenID Foundation, que incluye marcas de alto perfil como Microsoft y Google, creó OIDC. Se diseñó para ser interoperable y admite muchas plataformas y bibliotecas, como iOS, Android, Microsoft Windows y los principales proveedores de identidad y nube.
-
Simplifica la administración de identidades
Las organizaciones que usan OIDC para proporcionar inicio de sesión único a sus empleados y asociados pueden reducir el número de soluciones de administración de identidades que necesitan administrar. Esto facilita el seguimiento de los cambios de permisos y permite a los administradores usar una interfaz para aplicar reglas y directivas de acceso en varias aplicaciones. Las empresas que usan OIDC para permitir que los usuarios inicien sesión en sus aplicaciones mediante un proveedor de OpenID reducen el número de identidades que necesitan administrar.
-
Ejemplos y casos de uso de OIDC
Muchas organizaciones usan OIDC para habilitar la autenticación segura en aplicaciones web y móviles. Estos son algunos ejemplos:
Cuando un usuario se suscribe a una cuenta de Spotify, se le ofrecen tres opciones: Registrarse con Facebook, registrarse con Google y registrarse con su dirección de correo electrónico. Los usuarios que deciden suscribirse con Facebook o Google usan OIDC para crear una cuenta. Se les redirigirá al proveedor de OpenID que hayan seleccionado (Google o Facebook) y, una vez que hayan iniciado sesión, el proveedor de OpenID enviará los detalles básicos del perfil de Spotify. El usuario no tiene que crear una nueva cuenta para Spotify y sus contraseñas permanecen protegidas.
LinkedIn también proporciona una manera para que los usuarios creen una cuenta con su cuenta de Google en lugar de crear una cuenta independiente para LinkedIn.
Una empresa desea proporcionar inicio de sesión único a los empleados que necesitan acceder a Microsoft Office 365, Salesforce, Box y Workday para realizar su trabajo. En lugar de requerir que los empleados creen una cuenta independiente para cada una de esas aplicaciones, la empresa usa OIDC para proporcionar acceso a las cuatro. Los empleados crean una cuenta y, cada vez que inician sesión, obtienen acceso a todas las aplicaciones que necesitan para trabajar.
Implementación de OIDC para la autenticación segura
OIDC proporciona un protocolo de autenticación para simplificar las experiencias de inicio de sesión para los usuarios y mejorar la seguridad. Es una excelente solución para las empresas que quieren animar a los clientes a registrarse en sus servicios sin la molestia de administrar cuentas. También permite a las organizaciones ofrecer a sus empleados y otros usuarios un inicio de sesión único seguro en varias aplicaciones. Las organizaciones pueden usar soluciones de identidad y acceso compatibles con OIDC, como Microsoft Entra, para administrar todas sus identidades y directivas de seguridad de autenticación en un solo lugar.
Más información sobre Seguridad de Microsoft
-
Microsoft Entra ID
Conecte de forma segura a los empleados, clientes y partners a sus aplicaciones, dispositivos y datos con una solución de administración de identidad y acceso en la nube.
-
Gobierno de Microsoft Entra ID
Garantiza automáticamente que las personas apropiadas tengan el acceso adecuado a las aplicaciones y los servicios necesarios.
-
Administración de permisos de Microsoft Entra
Obtenga una solución unificada para administrar permisos de identidad en toda su infraestructura multinube.
-
Id. verificada por Microsoft Entra
Proporcione identidades descentralizadas con un servicio administrado de credenciales verificables basado en estándares abiertos.
-
Id. de carga de trabajo de Microsoft Entra
Administra y protege las identidades otorgadas a aplicaciones y servicios.
Preguntas más frecuentes
-
OIDC es un protocolo de autenticación de identidad que funciona con OAuth 2.0 para estandarizar el proceso de autenticación y autorización de usuarios cuando inician sesión para acceder a los servicios digitales. OIDC proporciona autenticación, lo que implica comprobar que los usuarios son quienes dicen ser. OAuth 2.0 autoriza los sistemas a los que pueden acceder esos usuarios. OIDC y OAuth 2.0 se usan normalmente para permitir que dos aplicaciones no relacionadas compartan información sin poner en peligro los datos de los usuarios.
-
Tanto OIDC como el Lenguaje de Marcado para Confirmaciones de Seguridad (SAML) son protocolos de autenticación de identidad que permiten a los usuarios iniciar sesión una sola vez de forma segura y acceder a múltiples aplicaciones. SAML es un protocolo anterior que se ha adoptado ampliamente para el inicio de sesión único. Transmite datos con formato XML. OIDC es un protocolo más reciente que usa el formato JSON para transmitir datos de usuario. OIDC está adquiriendo popularidad porque es más fácil de implementar que SAML y funciona mejor con aplicaciones móviles.
-
OIDC significa protocolo de OpenID Connect, que es un protocolo de autenticación de identidad que se usa para permitir que dos aplicaciones no relacionadas compartan información de perfil de usuario sin poner en peligro las credenciales de usuario.
-
OIDC se basó en OAuth 2.0 para agregar autenticación. El protocolo OAuth 2.0 se desarrolló primero y, después, se agregó OIDC para mejorar sus capacidades. La diferencia entre ambos es que OAuth 2.0 proporciona autorización, mientras que OIDC proporciona autenticación. OAuth 2.0 es lo que permite a los usuarios obtener acceso a un usuario de confianza, usando su cuenta con un proveedor de OpenID, y OIDC es lo que permite al proveedor de OpenID pasar un perfil de usuario al usuario de confianza. Esta funcionalidad también permite a las organizaciones ofrecer a sus usuarios el inicio de sesión único. Los flujos de OAuth 2.0 y OIDC son similares, salvo que usan terminología ligeramente diferente.
Un flujo de OAuth 2.0 típico tiene los pasos siguientes:
- Un usuario va a la aplicación a la que quiere acceder (el servidor de recursos).
- El servidor de recursos redirige al usuario a la aplicación donde tiene una cuenta (el cliente).
- El usuario inicia sesión con sus credenciales para el cliente.
- El cliente valida el acceso del usuario.
- El cliente envía un token de acceso al servidor de recursos.
- El servidor de recursos concede acceso al usuario.
Un flujo de OIDC típico tiene los pasos siguientes:
- Un usuario va a la aplicación a la que quiere acceder (el usuario de confianza).
- El usuario escribe su nombre de usuario y contraseña.
- El usuario de confianza envía una solicitud al proveedor de OpenID.
- El proveedor de OpenID valida las credenciales del usuario y obtiene la autorización.
- El proveedor de OpenID envía un token de identidad y, a menudo, también un token de acceso al usuario de confianza.
- El usuario de confianza envía el token de acceso al dispositivo del usuario.
- Se concede acceso al usuario en función de la información proporcionada en el token de acceso y el usuario de confianza.
-
El proveedor de OpenID usa tokens de identificación para transmitir los resultados de la autenticación y cualquier información pertinente a la aplicación de usuario de confianza. Entre los ejemplos del tipo de datos que se envían se incluyen un identificador, una dirección de correo electrónico y un nombre.
Seguir a Microsoft 365