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

Estos ejemplos de código, creados y mantenidos por Microsoft, muestran la autenticación y autorización mediante Azure AD y la plataforma de identidad de Microsoft en varios tipos de aplicación, lenguajes de desarrollo y marcos de trabajo.

  • 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 del código ayudan a comprender las secciones críticas que implementan la autenticación y autorización mediante bibliotecas de autenticación y la plataforma de identidad.

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 .NET Core
Llamada a la API web de .NET Core (B2C)
Llamada a Microsoft Graph mediante OBO
Llamada a la API web de .NET Core mediante PoP
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)
• Prueba de posesión (PoP)
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)
Llamada a Microsoft Graph mediante OBO
Llamada a una API web de Node.js mediante OBO y CA
Implementación en Azure Storage y App Service
MSAL.js • Código de autorización con PKCE
• Derechos delegados (OBO)
• Acceso condicional (CA)
React 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)
Llamada a Microsoft Graph mediante OBO
Llamada a la API web de Node.js mediante PoP
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
Implementación en Azure Static Web Apps
MSAL React • Código de autorización con PKCE
• Derechos delegados (OBO)
• Acceso condicional (CA)
• Prueba de posesión (PoP)

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
• MSAL.NET
• 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 de concesión de código de autorización
ASP.NET Core Escenarios avanzados de caché de tokens • MSAL.NET
• 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 • MSAL.NET
• Microsoft.Identity.Web
Código de autorización
ASP.NET Core Migración de Active Directory FS a Azure AD 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 Azure AD
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.
• MSAL Java
• Boot Starter de Azure AD
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
Java Inicio de sesión de usuarios y llamada a Microsoft Graph Java de MSAL Código de autorización
Java

Spring
Inicio de sesión de usuarios y llamada a Microsoft Graph mediante OBO

API web
Java de MSAL • Código de autorización
• Derechos delegados (OBO)
Node.js

Express
Serie de aplicaciones web Express
Inicio de sesión de usuarios
Inicio de sesión de usuarios (B2C)
Llamada a Microsoft Graph
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
Aplicación web que permite iniciar sesión a los usuarios
MSAL Node Código de autorización
Python

Flask
Serie Flask
Inicio de sesión de usuarios
Inicio de sesión de usuarios (B2C)
Inicio de sesión de usuarios y llamada a Microsoft Graph
Llamada a Microsoft Graph
Implementación en Azure App Service
Python de MSAL 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.
Python de MSAL 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 aplicaciones del área de trabajo (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
MSAL.NET • Código de autorización con PKCE
• Código del dispositivo
.NET Llamada a Microsoft Graph con un demonio de consola
Llamada a una API web con un demonio de consola
MSAL.NET Código de autorización con PKCE
.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
PowerShell 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 Python de MSAL Código de autorización con PKCE
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
XAML Inicio de sesión de usuarios y llamada a una 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 o a su propia API web en nombre del usuario. 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
iOS Llamada nativa a Microsoft Graph
Llamada a Microsoft Graph con nxoauth de Azure AD
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
ASP.NET Llamada a Microsoft Graph
Llamada a la API web
Llamada a su propia API web
Uso de una identidad administrada y Azure Key Vault
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 Java de MSAL Concesión de las credenciales de cliente
Node.js Inicio de sesión de usuarios y llamada a una API web MSAL Node Concesión de las credenciales de cliente
Python Llamada a Microsoft Graph con un secreto
Llamada a Microsoft Graph con un certificado
Python de MSAL 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 Azure AD MSAL.NET Código de autorización
Node.js API web de función de Azure de Node.js protegida por Azure AD MSAL Node Portador de autorización
Node.js Llamada a Microsoft Graph API en nombre del usuario MSAL Node Derechos delegados (OBO)
Python API web de función de Azure de Python protegida por Azure AD Python de MSAL Código de autorización

Desatendido

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 Java de MSAL Código del dispositivo
Python Llamada a Microsoft Graph Python de MSAL Código del dispositivo

Aplicaciones SaaS multiinquilino

En los siguientes ejemplos se muestra cómo configurar la aplicación para que acepte inicios de sesión de cualquier inquilino de Azure Active Directory (Azure AD). 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

Pasos siguientes

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