Bibliotecas de Azure Active Directory para .NET
Introducción
Inicie sesión de usuarios y acceda a las API web protegidas con Azure Active Directory (Azure AD).
Para empezar a desarrollar aplicaciones con Azure Active Directory, consulte la Plataforma de identidad de Microsoft.
Biblioteca de cliente
Proporcionar acceso con ámbito a las API web protegidas por Azure AD mediante OpenID Connect y OAuth 2.0 con la biblioteca de autenticación de Microsoft para .NET (MSAL.NET).
Instale el paquete NuGet directamente desde la Consola del Administración de paquetes de Visual Studio o con la CLI de .NET Core.
Administrador de paquetes de Visual Studio
Install-Package Microsoft.Identity.Client
CLI de .NET Core
dotnet add package Microsoft.Identity.Client
Ejemplo de código
Recupere un token de acceso para Microsoft Graph API en una aplicación de escritorio (cliente público).
/* Include this using directive:
using Microsoft.Identity.Client;
*/
string ClientId = "11111111-1111-1111-1111-111111111111"; // Application (client) ID
string Tenant = "common";
string Instance = "https://login.microsoftonline.com/";
string graphAPIEndpoint = "https://graph.microsoft.com/v1.0/me";
string[] scopes = new string[] { "user.read" };
AuthenticationResult authResult = null;
var app = PublicClientApplicationBuilder.Create(ClientId)
.WithAuthority($"{Instance}{Tenant}")
.WithRedirectUri("http://localhost")
.Build();
var accounts = await app.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
try
{
// Always first try to acquire a token silently.
authResult = await app.AcquireTokenSilent(scopes, firstAccount)
.ExecuteAsync();
}
catch (MsalUiRequiredException ex)
{
// If an MsalUiRequiredException occurred when AcquireTokenSilent was called,
// it indicates you need to call AcquireTokenInteractive to acquire a token.
System.Diagnostics.Debug.WriteLine($"MsalUiRequiredException: {ex.Message}");
try
{
authResult = await app.AcquireTokenInteractive(scopes)
.WithAccount(firstAccount)
.WithPrompt(Prompt.SelectAccount)
.ExecuteAsync();
}
catch (MsalException msalex)
{
System.Diagnostics.Debug.WriteLine($"Error acquiring Token:{System.Environment.NewLine}{msalex}");
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine($"Error acquiring token silently:{System.Environment.NewLine}{ex}");
return;
}
if (authResult != null)
{
System.Diagnostics.Debug.WriteLine($"Access token:{System.Environment.NewLine}{authResult.AccessToken}");
}
Ejemplos
- ASP.NET Core aplicación web: inicio de sesión de usuarios
- Aplicación de escritorio de Windows (WPF): inicio de sesión de usuarios
- Uso del control de acceso basado en rol (RBAC) en una aplicación
Explore la colección completa de ejemplos de código de Plataforma de identidad de Microsoft.
Azure SDK for .NET
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de