Impactos: 4
Protección de la aplicación con OpenID Connect y Azure AD
Autenticación moderna para la aplicación
Hay muchas opciones para proteger las identidades en la aplicación. Al seleccionar la tecnología
adecuada para la aplicación, podrá garantizar su seguridad y, a la vez, ofrecer
una gran experiencia a los usuarios.
[contact-form-7 404 "No encontrado"]En la empresa de transporte, los conductores tienen identidades en Microsoft 365. Quiere saber
cómo puede usar esas identidades para autenticarlas en la aplicación de programación. Quiere
proporcionar un acceso seguro a la aplicación sin necesidad de que los conductores administren
cuentas de usuario y credenciales adicionales.
Echemos un vistazo a los estándares y servicios que puede usar para la autenticación.
¿Qué es Azure Active Directory?
Azure Active Directory (Azure AD) es un servicio de administración de acceso y de identidades
basado en la nube de Microsoft. Simplifica la autenticación para los desarrolladores, ya que
proporciona identidad como servicio. Admite los protocolos estándar del sector como
OAuth 2.0 y OpenID Connect.
Azure AD permite a los usuarios iniciar sesión y ver recursos. También cuenta con características
para proteger las identidades, como Identity Protection y autenticación multifactorial.
Determinados servicios de Microsoft, como Azure y Microsoft 365, usan Azure AD para almacenar
y administrar usuarios. Por ejemplo, cada vez que Microsoft 365 necesita verificar un usuario,
Azure AD realiza toda la tarea de administración de identidades y acceso.
Autenticación en Azure Active Directory
Los usuarios se autentican en dos fases:
- El proveedor de identidades comprueba la
- identidad de los usuarios que existen en el directorio.
- Tras una autenticación correcta, se emiten tokens que contienen información
- relacionada con la autenticación correcta.
- El usuario pasa esos tokens a la aplicación. La aplicación debe validar el token de
- seguridad del usuario para garantizar que la autenticación se
- haya realizado correctamente.
Veamos un escenario básico en el que es necesario identificarse: un usuario de un
explorador web debe autenticarse en una aplicación web. Tenga en cuenta el
diagrama siguiente para este escenario:
- El usuario solicita un recurso protegido, en este caso, una aplicación web.
- La aplicación web redirige la solicitud al proveedor de identidades, y este solicita
- y verifica las credenciales de autenticación del usuario.
- Si el usuario envía las credenciales correctas, el proveedor devuelve un token de
- seguridad al usuario y lo redirige al recurso que ha solicitado al inicio.
- El usuario envía el token de seguridad a la aplicación web.
- La aplicación web utiliza el token para comprobar que el proveedor de identidades
- haya realizado la autenticación.
Después de este proceso de autenticación, en el que se identifica al usuario, la aplicación
web debe autorizar el acceso del usuario a los recursos. La autorización es el proceso por el
que la aplicación web comprueba si el usuario tiene permiso para acceder al recurso solicitado.
Este flujo de comunicación se basa en los protocolos estándar del sector de
OAuth 2.0 y OpenID Connect.
OAuth 2.0
OAuth 2.0 es el protocolo estándar del sector para la autorización. Proporciona flujos de
autorización específicos para aplicaciones web, móviles y de escritorio. Esta especificación
se diseñó principalmente para permitir que los usuarios autorizaran a una aplicación a tener
acceso a los datos de otra aplicación.
Imagine que tiene una aplicación que almacena información de contacto. Quiere que los
usuarios con cuentas de LinkedIn puedan importar su información de contacto de LinkedIn
en la aplicación. Con OAuth, puede habilitar esta comunicación de servidor a servidor. Los usuarios
pueden permitir que la aplicación tenga acceso a la información de contacto, sin necesidad de
compartir contraseñas entre aplicaciones.
OAuth funciona bien para la autorización de comunicaciones de servidor a servidor, pero no incluye
estándares ni especificaciones para la autenticación. A medida que las aplicaciones aumentaron los
niveles de uso compartido de los datos y la información de las cuentas entre ellas, la habilitación de
un marco estándar para el inicio de sesión único se hizo evidente. Esto condujo al desarrollo de
OpenID Connect.
OpenID Connect
OpenID Connect es una capa de autenticación que se basa en OAuth 2.0. Incluye los métodos
de verificación de identidad que no se encuentran en OAuth 2.0. OpenID Connect proporciona
un token de acceso y un token de identificador, que se pueden enviar a una aplicación para
demostrar su identidad.
El token de identificador es un objeto JSON Web Token (JWT) y contiene información sobre
el usuario autenticado. El proveedor de identidades firma el token para que las aplicaciones
puedan comprobar la autenticación mediante la clave pública del proveedor.
JSON Web Token es un estándar internacional abierto que define el modo en el que las aplicaciones
pueden intercambiar datos de manera segura en forma de mensajes firmados digitalmente.
El contenido de cada token no está cifrado, pero el mensaje está firmado con la clave privada
del proveedor de identidades. Al comprobar la firma con la clave pública correspondiente,
las aplicaciones pueden demostrar que el token lo emite el proveedor de identidades
y no se ha alterado.
En este diagrama se muestra cómo la aplicación cliente, el servidor de aplicaciones y
el proveedor de identidades se comunican en una solicitud de autenticación de OpenID Connect.
El cliente puede ser una aplicación móvil o una aplicación de escritorio. En este caso, es un explorador
web. El servidor de aplicaciones suele ser un servidor web que hospeda páginas web o una API web.
El proveedor de identidades, en el centro, es Azure AD.
Cuando el explorador web navega a la aplicación web, el servidor web necesita autenticar al usuario.
En este caso, el servidor redirige el explorador a Azure AD y proporciona su propio id. de cliente, que
se ha registrado en Azure AD. Cuando el usuario se ha autenticado correctamente en Azure AD, el
proveedor redirige el explorador al URI en el servidor web.
Al implementar OpenID Connect, debe obtener un id. de cliente para la aplicación mediante la creación
de un registro de aplicación en Azure AD. Luego, copie el id. de cliente en los archivos de configuración
de la aplicación. En el registro de aplicación también se incluirá el URI de la aplicación web para que
Azure AD pueda redirigir al cliente correctamente.
COMPARTELO Y DA ME GUSTA👍👍👍👍👍