Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: Tenant del personale
Tenant esterni (scopri di più)
Le app daemon .NET possono chiamare un'API Web. Le app daemon .NET possono anche chiamare diverse API Web preapprovate.
Chiamata di un'API Web da un'applicazione daemon
Ecco come usare il token per chiamare un'API:
Microsoft.Identity.Web elimina la complessità di MSAL.NET. Offre API di livello superiore che gestiscono automaticamente gli elementi interni di MSAL.NET, come ad esempio l'elaborazione di errori di accesso condizionale, la memorizzazione nella cache.
Ecco il file Program.cs dell'app daemon che chiama un'API a valle:
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Identity.Abstractions;
using Microsoft.Identity.Web;
// In the Program.cs, acquire a token for your downstream API
var tokenAcquirerFactory = TokenAcquirerFactory.GetDefaultInstance();
tokenAcquirerFactory.Services.AddDownstreamApi("MyApi",
tokenAcquirerFactory.Configuration.GetSection("MyWebApi"));
var sp = tokenAcquirerFactory.Build();
var api = sp.GetRequiredService<IDownstreamApi>();
var result = await api.GetForAppAsync<IEnumerable<TodoItem>>("MyApi");
Console.WriteLine($"result = {result?.Count()}");
Ecco la Program.cs di un'app daemon che chiama Microsoft Graph:
var tokenAcquirerFactory = TokenAcquirerFactory.GetDefaultInstance();
tokenAcquirerFactory.Services.AddMicrosoftGraph();
var serviceProvider = tokenAcquirerFactory.Build();
try
{
GraphServiceClient graphServiceClient = serviceProvider.GetRequiredService<GraphServiceClient>();
var users = await graphServiceClient.Users
.GetAsync(r => r.Options.WithAppOnly());
Console.WriteLine($"{users.Count} users");
Console.ReadKey();
}
catch (Exception ex) { Console.WriteLine("We could not retrieve the user's list: " + $"{ex}"); }
Chiamata di diverse API
Per le app daemon, le API Web chiamate devono essere preapprovate. Non esiste alcun consenso incrementale con le app daemon. Non esiste alcuna interazione dell'utente. L'amministratore del tenant deve fornire il consenso in anticipo per l'applicazione e tutte le autorizzazioni API. Se si vogliono chiamare diverse API, acquisire un token per ogni risorsa, ogni volta che si chiama AcquireTokenForClient
. MSAL usa la cache dei token dell'applicazione per evitare chiamate di servizio non necessarie.
Passaggi successivi
Scopri di più creando un'applicazione a pagina singola con React (SPA) che consente l'accesso agli utenti nella seguente serie di esercitazioni in più parti.
Esplorare gli esempi di codice del servizio/daemon di Microsoft Identity Platform