Ejemplos de código de la plataforma de identidad de Microsoft

Microsoft ha creado y mantenido estos ejemplos de código para demostrar el uso de nuestras bibliotecas de autenticación con la plataforma de identidad de Microsoft. Los escenarios habituales de autenticación y autorización se implementan en varios tipos de aplicaciones, lenguajes de desarrollo y marcos.

  • Inicie la sesión de los usuarios en aplicaciones web y proporcione acceso autorizado a las API web protegidas.
  • Proteja una API web exigiendo un token de acceso para realizar operaciones de API.

Cada ejemplo de código incluye un archivo README.md que describe cómo compilar el proyecto (si procede) y ejecutar la aplicación de ejemplo. Los comentarios en el código lo ayudan a comprender cómo se usan estas bibliotecas en la aplicación para realizar la autenticación y autorización mediante la plataforma de identidad.

Ejemplos y guías

Usa las pestañas para ordenar las muestras por tipo de aplicación o su lenguaje/marco preferido.

Aplicación de página única

En estos ejemplos se muestra cómo escribir una aplicación de página única protegida con la Plataforma de identidad de Microsoft. Estos ejemplos usan uno de los tipos de MSAL.js.

Lenguaje/
Plataforma
Ejemplos de código
en GitHub
Auth
libraries
Flujo de autorización
Angular Inicio de sesión de usuarios
Inicio de sesión de usuarios (B2C)
Llamada a Microsoft Graph
Llamada a la API web de ASP.NET Core
Llamada a API web de ASP.NET Core (B2C)
Llamada a Microsoft Graph mediante OBO
Uso de roles de aplicación para el control de acceso
Uso de grupos de seguridad para el control de acceso
Implementación en Azure Storage y App Service
MSAL Angular • Código de autorización con PKCE
• Derechos delegados (OBO)
• Evaluación continua de acceso (CAE)
WebAssembly de Blazor Inicio de sesión de usuarios
Inicio de sesión de usuarios (B2C)
Llamada a Microsoft Graph
Implementación en Azure App Service.
MSAL.js Flujo implícito
JavaScript Inicio de sesión de usuarios
Inicio de sesión de usuarios (B2C)
Llamada a Microsoft Graph
Llamada a la API web de Node.js
Llamada a la API web de Node.js (B2C)
Implementación en Azure Storage y App Service
MSAL.js • Código de autorización con PKCE
React Inicio de sesión de usuarios
Inicio de sesión de usuarios (B2C)
Inicio de sesión de usuarios en aplicaciones de servidor y cliente
Llamada a Microsoft Graph
Llamada a la API de REST de Azure y Azure Storage
Llamada a la API web de Node.js
Llamada a la API web de Node.js (B2C)
Llamada a Microsoft Graph mediante OBO
Uso de roles de aplicación para el control de acceso
Uso de grupos de seguridad para el control de acceso
Implementación en Azure Static Web Apps
Uso de la autenticación para actualización a una edición superior para llamar a la API web de Node.js
MSAL React • Código de autorización con PKCE
• Derechos delegados (OBO)
• Acceso condicional
• Contexto de autenticación de acceso condicional (acrs)
• Evaluación continua de acceso (CAE)

Aplicaciones web

Los ejemplos siguientes ilustran las aplicaciones web que inician la sesión de los usuarios. Algunos ejemplos también muestran la aplicación que llama a Microsoft Graph o a su propia API web con la identidad del usuario.

Lenguaje/
Plataforma
Ejemplos de código
en GitHub
Auth
libraries
Flujo de autorización
ASP.NET Core Serie ASP.NET Core
Inicio de sesión de usuarios
Inicio de sesión de usuarios (B2C)
Llamada a Microsoft Graph
Personalización de la caché de tokens
Llamada a Graph (multiinquilino)
Llamada a las API REST de Azure
Protección de la API web
Protección de la API web (B2C)
Protección de la API web multiinquilino
Uso de roles de aplicación para el control de acceso
Uso de grupos de seguridad para el control de acceso
Implementación en Azure Storage y App Service
Microsoft.Identity.Web • OpenID Connect
• Código de autorización
• Derechos delegados
Blazor Serie Blazor Server
Inicio de sesión de usuarios
Inicio de sesión de usuarios (B2C)
Llamada a Microsoft Graph
Llamada a la API web
Llamada a la API web (B2C)
MSAL.NET Flujo híbrido
ASP.NET Core Escenarios avanzados de caché de tokens Microsoft.Identity.Web Derechos delegados (OBO)
ASP.NET Core Uso del contexto de autenticación de acceso condicional para realizar la autenticación por pasos Microsoft.Identity.Web Código de autorización
ASP.NET Core Migración de Servicios de federación de Active Directory (AD FS) a Microsoft Entra MSAL.NET • SAML
• OpenID Connect
ASP.NET Ejemplo de entrenamiento de Microsoft Graph
Inicio de sesión de usuarios y llamada a Microsoft Graph
Inicio de sesión de usuarios y llamada a Microsoft Graph con ámbitos restringidos de administración
Inicio rápido: inicio de sesión de usuarios
MSAL.NET • OpenID Connect
• Código de autorización
Java

Spring
Serie Spring Boot Starter de Microsoft Entra
Inicio de sesión de usuarios
Inicio de sesión de usuarios (B2C)
Llamada a Microsoft Graph
Uso de roles de aplicación para el control de acceso
Uso de grupos para el control de acceso
Implementación en Azure App Service.
Protección de una API web
Java de MSAL
• Boot Starter de Microsoft Entra ID
Código de autorización
Java

Servlets
Serie Servlet sin Spring
Inicio de sesión de usuarios
Inicio de sesión de usuarios (B2C)
Llamada a Microsoft Graph
Uso de roles de aplicación para el control de acceso
Uso de grupos de seguridad para el control de acceso
Implementación en Azure App Service.
Java de MSAL Código de autorización
Node.js

Express
Serie de aplicaciones web Express
Inicio rápido: inicio de sesión de usuarios
Inicio de sesión de usuarios
Inicio de sesión de usuarios (B2C)
Llamada a Microsoft Graph
Llamada a Microsoft Graph mediante el proxy BFF
Implementación en Azure App Service
Uso de roles de aplicación para el control de acceso
Uso de grupos de seguridad para el control de acceso
MSAL Node • Código de autorización
• Proxy Back-for-Frontend (BFF)
Python

Flask
Serie Flask
Inicio de sesión de usuarios
Inicio de sesión de usuarios (B2C)
Plantilla para iniciar sesión usuarios de Microsoft Entra ID o B2C y, opcionalmente, llamar a una API de bajada (Microsoft Graph)
Llamada a Microsoft Graph
Implementación en Azure App Service.
MSAL Python Código de autorización
Python

Django
Serie Django
Inicio de sesión de usuarios
Inicio de sesión de usuarios (B2C)
Llamada a Microsoft Graph
Implementación en Azure App Service.
MSAL Python Código de autorización
Ruby Entrenamiento de Graph
Inicio de sesión de usuarios y llamada a Microsoft Graph
OmniAuth OAuth2 Código de autorización

API Web

En los ejemplos siguientes se muestra cómo proteger una API web mediante la plataforma de identidad de Microsoft y cómo llamar a una API descendente desde la API web.

Lenguaje/
Plataforma
Ejemplos de código
en GitHub
Auth
libraries
Flujo de autorización
ASP.NET Llamada a Microsoft Graph MSAL.NET Derechos delegados (OBO)
ASP.NET Core Inicio de sesión de usuarios y llamada a Microsoft Graph MSAL.NET Derechos delegados (OBO)
Java Inicio de sesión de usuarios Java de MSAL Derechos delegados (OBO)
Node.js Proteger una API web de Node.Js
Protección de una API web de Node.js con Azure AD B2C
MSAL Node Portador de autorización

Escritorio

Los siguientes ejemplos muestran aplicaciones cliente de escritorio públicas que acceden a Microsoft Graph API o a su propia API web en nombre del usuario. Además del ejemplo de escritorio (consola) con el Administrador de autenticación web (WAM), todas estas aplicaciones cliente usan la Biblioteca de autenticación de Microsoft (MSAL).

Lenguaje/
Plataforma
Ejemplos de código
en GitHub
Auth
libraries
Flujo de autorización
.NET Core Llamada a Microsoft Graph
Llamada a Microsoft Graph con la caché de tokens
Llamada a Microsoft Graph con HTML de la interfaz de usuario web personalizada
Llamada a Microsoft Graph con un explorador web personalizado
Inicio de sesión de usuarios con el flujo de código de dispositivo
Autenticación de usuarios con MSAL.NET en una aplicación de escritorio WinUI
MSAL.NET • Código de autorización con PKCE
• Código del dispositivo
.NET Invocación de una API protegida con la autenticación integrada de Windows MSAL.NET Autenticación integrada de Windows
Java Llamada a Microsoft Graph Java de MSAL Autenticación integrada de Windows
Node.js Inicio de sesión de usuarios MSAL Node Código de autorización con PKCE
.NET Core Llamada a Microsoft Graph con inicio de sesión de los usuarios mediante nombre de usuario y contraseña MSAL.NET Credenciales de contraseña del propietario del recurso
Python Inicio de sesión de usuarios MSAL Python Credenciales de contraseña del propietario del recurso
Plataforma universal de Windows (UWP) Llamada a Microsoft Graph MSAL.NET Administrador de cuentas web
Windows Presentation Foundation (WPF) Inicio de sesión de usuarios y llamada a Microsoft Graph MSAL.NET Código de autorización con PKCE
Windows Presentation Foundation (WPF) Iniciar sesión de usuarios y llamar a la API web de ASP.NET Core
Inicio de sesión de usuarios y llamada a Microsoft Graph
MSAL.NET Código de autorización con PKCE

Móvil

Los siguientes ejemplos muestran aplicaciones cliente para dispositivos móviles públicas que acceden a Microsoft Graph API. Estas aplicaciones cliente usan la Biblioteca de autenticación de Microsoft (MSAL).

Lenguaje/
Plataforma
Ejemplos de código
en GitHub
Auth
libraries
Flujo de autorización
.NET Core Llamar a Microsoft Graph con MAUI
Llamar a Microsoft Graph con MAUI y agente
Llamar al arrendatario de Active Directory B2C con MAUI
MSAL.NET Código de autorización con PKCE
iOS Llamada nativa a Microsoft Graph MSAL iOS Código de autorización con PKCE
Java Inicio de sesión de usuarios y llamada a Microsoft Graph MSAL de Android Código de autorización con PKCE
Kotlin Inicio de sesión de usuarios y llamada a Microsoft Graph MSAL de Android Código de autorización con PKCE
Xamarin Inicio de sesión de usuarios y llamada a Microsoft Graph
Inicio de sesión de usuarios con un agente y llamada a Microsoft Graph
MSAL.NET Código de autorización con PKCE

Servicio o demonio

En el siguiente ejemplo se muestra una aplicación que accede a Microsoft Graph API con su propia identidad (sin ningún usuario).

Lenguaje/
Plataforma
Ejemplos de código
en GitHub
Auth
libraries
Flujo de autorización
.NET Core Llamada a Microsoft Graph
Llamada a la API web
Uso de una identidad administrada y Azure Key Vault
MSAL.NET Concesión de las credenciales de cliente
ASP.NET Multiinquilino con punto de conexión de la Plataforma de identidad de Microsoft MSAL.NET Concesión de las credenciales de cliente
Java Llamada a Microsoft Graph con un secreto
Llamada a Microsoft Graph con un certificado
Java de MSAL Concesión de las credenciales de cliente
Node.js Llamada a Microsoft Graph con un secreto MSAL Node Concesión de las credenciales de cliente
Python Llamada a Microsoft Graph con un secreto
Llamada a Microsoft Graph con un certificado
MSAL Python Concesión de las credenciales de cliente

Azure Functions como API web

En los ejemplos siguientes se muestra cómo proteger una función de Azure mediante HttpTrigger y exponer una API web mediante la plataforma de identidad de Microsoft. También se muestra cómo llamar a una API descendente desde la API web.

Lenguaje/
Plataforma
Ejemplos de código
en GitHub
Auth
libraries
Flujo de autorización
.NET API web de función de Azure de .NET protegida por Microsoft Entra ID MSAL.NET Código de autorización
Python API web de función de Azure de Python protegida por Microsoft Entra ID MSAL Python Código de autorización

Sin explorador (sin encabezado)

El siguiente ejemplo muestra aplicaciones cliente públicas que se ejecutan en un dispositivo sin un explorador web. La aplicación puede ser una herramienta de línea de comandos, una aplicación que se ejecuta en Linux o Mac o una aplicación de IoT. El ejemplo incluye aplicaciones que acceden a Microsoft Graph API en nombre de un usuario que inicia sesión de manera interactiva en otro dispositivo (como un teléfono móvil). Esta aplicación cliente usa la Biblioteca de autenticación de Microsoft (MSAL).

Lenguaje/
Plataforma
Ejemplos de código
en GitHub
Auth
libraries
Flujo de autorización
.NET Core Invocación de una API protegida desde un dispositivo de solo texto MSAL.NET Código del dispositivo
Java Inicio de sesión de usuarios e Invocación de una API protegida desde un dispositivo de solo texto Java de MSAL Código del dispositivo
Python Llamada a Microsoft Graph MSAL Python Código del dispositivo

Aplicaciones de Microsoft Teams

En el ejemplo siguiente, se muestra la aplicación de Microsoft Teams Tab en la que inician sesión los usuarios. Además, se muestra cómo llamar a Microsoft Graph API con la identidad del usuario mediante la Biblioteca de autenticación de Microsoft (MSAL).

Lenguaje/
Plataforma
Ejemplos de código
en GitHub
Auth
libraries
Flujo de autorización
Node.js Aplicación Teams Tab: inicio de sesión único (SSO) y llamada a Microsoft Graph MSAL Node Derechos delegados (OBO)

Aplicaciones SaaS multiinquilino

En los siguientes ejemplos se muestra cómo configurar una aplicación para que acepte inicios de sesión de cualquier inquilino de Microsoft Entra. La configuración de la aplicación para que sea multiinquilino significa que puede ofrecer una aplicación de software como servicio (SaaS) a muchas organizaciones, lo que permite a sus usuarios iniciar sesión en la aplicación después de dar su consentimiento.

Lenguaje/
Plataforma
Ejemplos de código
en GitHub
Auth
libraries
Flujo de autorización
ASP.NET Core Aplicación web MVC de ASP.NET Core que llama a Microsoft Graph API MSAL.NET OpenID Connect
ASP.NET Core La aplicación web ASP.NET Core MVC llama a la API web de ASP.NET Core MSAL.NET Código de autorización
Angular La aplicación de página única de Angular llama a la API web de ASP.NET Core MSAL Angular Código de autorización

Pasos siguientes

Si desea profundizar en más código de ejemplo, consulte: