Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
¡Bienvenido! Probablemente esta no sea la página que esperaba. Mientras trabajamos en una corrección, este vínculo debería llevarle al artículo correcto:
Lamentamos las molestias y agradecemos su paciencia mientras trabajamos para resolverlo.
En este inicio rápido, descargará y ejecutará un ejemplo de código que muestra cómo una aplicación de Windows Presentation Foundation (WPF) puede iniciar sesión a los usuarios y obtener un token de acceso para llamar a Microsoft Graph API.
Vea Cómo funciona el ejemplo para obtener una ilustración.
Paso 1: Configuración de la aplicación en Azure Portal
Para que el ejemplo de código de esta guía de inicio rápido funcione, agregue un URI de redirección de https://login.microsoftonline.com/common/oauth2/nativeclient
y ms-appx-web://microsoft.aad.brokerplugin/{client_id}
.
La aplicación está configurada con estos atributos.
Paso 2: Descarga del proyecto de Visual Studio
Ejecute el proyecto con Visual Studio 2019.
Sugerencia
Se recomienda extraer el archivo o clonar el repositorio en un directorio próximo a la raíz de la unidad para evitar los errores provocados por las limitaciones de longitud de la ruta de acceso en Windows.
Paso 3: La aplicación está configurada y lista para ejecutarse
Hemos configurado el proyecto con los valores de las propiedades de su aplicación y está preparado para ejecutarse.
Nota:
Enter_the_Supported_Account_Info_Here
Información adicional
Funcionamiento del ejemplo
MSAL.NET
MSAL (Microsoft.Identity.Client) es la biblioteca que se usa para iniciar sesión a los usuarios y solicitar tokens usados para acceder a una API protegida por la plataforma de identidad de Microsoft. Puede instalar MSAL mediante la ejecución del siguiente comando en la Consola del Administrador de paquetes de Visual Studio:
Install-Package Microsoft.Identity.Client -IncludePrerelease
Inicialización de MSAL
Puede agregar la referencia de MSAL agregando el código siguiente:
using Microsoft.Identity.Client;
A continuación, inicialice MSAL con el código siguiente:
IPublicClientApplication publicClientApp = PublicClientApplicationBuilder.Create(ClientId)
.WithRedirectUri("https://login.microsoftonline.com/common/oauth2/nativeclient")
.WithAuthority(AzureCloudInstance.AzurePublic, Tenant)
.Build();
Donde: | Descripción |
---|---|
ClientId |
Es el Identificador de aplicación (cliente) de la aplicación registrada en Azure Portal. Puede encontrar este valor en la página Información general de la aplicación en Azure Portal. |
Solicitud de tokens
MSAL tiene dos métodos para adquirir tokens: AcquireTokenInteractive
y AcquireTokenSilent
.
Obtención de un token de usuario de forma interactiva
Algunas situaciones requieren forzar a los usuarios a interactuar con la plataforma de identidad de Microsoft a través de una ventana emergente para validar sus credenciales o para dar su consentimiento. Algunos ejemplos son:
- La primera vez que los usuarios inician sesión en la aplicación
- Cuando es posible que los usuarios necesiten volver a escribir sus credenciales porque la contraseña ha expirado
- Cuando la aplicación solicita acceso a un recurso al que el usuario necesita dar su consentimiento
- Cuando se requiere la autenticación en dos fases
authResult = await App.PublicClientApp.AcquireTokenInteractive(_scopes)
.ExecuteAsync();
Donde: | Descripción |
---|---|
_scopes |
Contiene los ámbitos que se solicitan, como { "user.read" } para Microsoft Graph o { "api://<Application ID>/access_as_user" } para las API web personalizadas. |
Obtención de un token de usuario de forma silenciosa
No desea exigir al usuario que valide sus credenciales cada vez que necesite acceder a un recurso. La mayoría de las veces desea adquisiciones y renovación de tokens sin ninguna interacción del usuario. Puede usar el método AcquireTokenSilent
para obtener tokens para acceder a los recursos protegidos después del método de AcquireTokenInteractive
inicial:
var accounts = await App.PublicClientApp.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await App.PublicClientApp.AcquireTokenSilent(scopes, firstAccount)
.ExecuteAsync();
Donde: | Descripción |
---|---|
scopes |
Contiene los ámbitos que se solicitan, como { "user.read" } para Microsoft Graph o { "api://<Application ID>/access_as_user" } para las API web personalizadas. |
firstAccount |
Especifica el primer usuario de la memoria caché (MSAL admite varios usuarios en una sola aplicación). |
Ayuda y soporte técnico
Si necesita ayuda, desea informar de un problema o desea obtener información sobre las opciones de soporte técnico, consulte Opciones de ayuda y soporte técnico para desarrolladores.
Pasos siguientes
Pruebe el tutorial de escritorio de Windows para obtener una guía paso a paso completa sobre la creación de aplicaciones y nuevas características, incluida una explicación completa de este inicio rápido.