Escenario: Aplicación de escritorio que llama a las API web

Aprenda a crear una aplicación de escritorio que llame a las API web.

Introducción

Si aún no lo ha hecho, cree su primera aplicación siguiendo un inicio rápido:

Información general

Supongamos que escribe una aplicación de escritorio y que desea que los usuarios inicien sesión en la aplicación, así como llamar a alguna API web como Microsoft Graph, otras API de Microsoft o su propia API web. Tiene varias opciones:

  • Puede utilizar la adquisición interactiva de tokens:

    • Si la aplicación de escritorio admite controles gráficos; por ejemplo, si es una aplicación Windows Form, una aplicación para Windows Presentation Foundation (WPF) o una aplicación nativa de macOS.
    • O si se trata de una aplicación .NET Core y acepta que la interacción de autenticación con Azure Active Directory (Azure AD) suceda en el explorador del sistema.
    • O bien, si se trata de una aplicación de Node.js y Electron, que se ejecuta en una instancia de Chromium.
  • En el caso de las aplicaciones hospedadas en Windows, también es posible que las aplicaciones que se ejecutan en equipos unidos a un dominio de Windows o unidos a Azure AD adquieran un token en modo silencioso mediante el uso de la autenticación integrada de Windows.

  • Por último, y aunque no es recomendable, puede usar un nombre de usuario y una contraseña en las aplicaciones clientes públicas. Esto sigue siendo necesario en algunos escenarios, como DevOps. Su uso impone restricciones en la aplicación. Por ejemplo, no puede iniciar la sesión de un usuario que necesita realizar la autenticación multifactor (acceso condicional). Además, la aplicación no se beneficiará del inicio de sesión único (SSO).

    También va en contra de los principios de la autenticación moderna y solo se proporciona por motivos de herencia.

    Desktop application

  • Si escribe una herramienta de línea de comandos portátil (probablemente una aplicación .NET Core que se ejecuta en Linux o Mac) y acepta que la autenticación se delegue en el explorador del sistema, podrá usar la autenticación interactiva. .NET Core no proporciona un explorador web, por lo que la autenticación se produce en el explorador del sistema. De lo contrario, la mejor opción en ese caso es utilizar el flujo de código de dispositivo. Este flujo también se usa en las aplicaciones sin un explorador, como las aplicaciones de Internet de las cosas (IoT).

    Browserless application

Características específicas

Las aplicaciones de escritorio tienen pocas características específicas. Dependen principalmente de si la aplicación usa la autenticación interactiva o no.

Si no está familiarizado con la administración de identidades y acceso (IAM) con OAuth 2.0 y OpenID Connect, o incluso si es nuevo en IAM en la plataforma de identidad de Microsoft, debe dar máxima prioridad a leer los siguientes artículos.

Aunque su lectura no es necesaria antes de completar el primer inicio rápido o tutorial, se tratan temas fundamentales para la plataforma, y estar familiarizado con ellos le ayudará a medida que crea escenarios más complejos.

Pasos siguientes

Avance al siguiente artículo de este escenario, Registro de la aplicación.