Flujo de código de autorización de ‌OAuth

El flujo de código de autorización es un protocolo de seguridad utilizado en OAuth 2.0 para permitir que aplicaciones de terceros accedan a los recursos de un usuario sin exponer sus credenciales.

En este flujo, la aplicación cliente redirige al usuario al servidor de autorización, donde inicia sesión y aprueba la solicitud de acceso del cliente. Después de la aprobación, el servidor de autorización envía un código de autorización al cliente, que se intercambia por un token de acceso y, opcionalmente, un token de actualización. Este token de acceso se utiliza luego para realizar solicitudes autorizadas al servidor de recursos en nombre del usuario.

Este flujo se usa comúnmente en escenarios en los que un usuario desea otorgar acceso a sus recursos (como datos o servicios) a una aplicación de terceros sin compartir sus credenciales directamente.

La principal diferencia entre el flujo de código de autorización y el flujo de código de autorización con PKCE (clave de prueba para intercambio de código) radica en los mecanismos de seguridad utilizados para prevenir ciertos ataques, particularmente contra aplicaciones móviles y nativas.

En el flujo de código de autorización estándar, el cliente recibe un código de autorización después de que el usuario se autentica en el servidor de autorización. Luego, el cliente intercambia este código por un token de acceso. Sin embargo, este flujo es vulnerable a ataques de interceptación de códigos de autorización, donde un atacante puede interceptar el código de autorización y utilizarlo para obtener un token de acceso.

El flujo de código de autorización con PKCE agrega una capa adicional de seguridad mediante el uso de un secreto generado dinámicamente, el verificador de código, para autenticar la solicitud de autorización. Esto lo hace más seguro, especialmente en entornos donde es difícil almacenar de forma segura los secretos del cliente, como aplicaciones móviles o nativas.

Para crear un tipo de concesión utilizando el Flujo de código de autorización, realice lo siguiente:

Procedimiento

  1. Complete los pasos del 1 al 6 de Crear conexiones ‌OAuth.
  2. Seleccione el tipo de concesión como Flujo de código de autorización o Flujo de código de autorización con PKCE para separar la autenticación del usuario del emisor del token. Esto mejora la seguridad porque el tipo de concesión admite tokens de actualización para acceso de larga duración sin exponer credenciales sensibles. Revise los siguientes permisos al usar Flujo de código de autorización con el paquete Outlook de Microsoft 365: Consulte Permisos para la aplicación.
    • Mail.Read
    • Mail.ReadWrite
    • Mail.Send
    • MailboxSettings.Read
    • MailboxSettings.ReadWrite
    • offline_access
    • openid
    • User.Read
    • User.ReadBasic.All
    Debe utilizar el método de autenticación Publicación secreta del cliente en paralelo con el tipo de concesión Flujo de código de autorización con PKCE; de lo contrario, obtendrá un error de validación.
  3. Complete los pasos 8 a 18 de Crear conexiones ‌OAuth.