Vue d’ensemble de Microsoft Identity Web

Microsoft. Identity.Web est un ensemble de bibliothèques qui simplifie l’ajout d’authentification et d’autorisation aux applications qui s’intègrent aux Plateforme d'identités Microsoft, y compris Microsoft Entra ID. Il prend en charge :

  • .NET Aspire applications distribuées
  • ASP.NET Core applications web et API web
  • applications OWIN sur .NET Framework
  • .NET les applications démon et les services en arrière-plan

Que vous générez des applications web qui connectent des utilisateurs, des API web qui valident des jetons ou des services en arrière-plan qui appellent des API protégées, Microsoft. Identity.Web gère la complexité de l’authentification pour vous.

Pourquoi utiliser Microsoft Identity Web ?

Microsoft.Identity.Web réduit le code passe-partout et fournit des pratiques optimales intégrées pour les scénarios communs d'identité. Les fonctionnalités clés sont les suivantes :

  • Authentification simplifiée - Configuration minimale pour la connexion des utilisateurs et la validation des jetons
  • Les appels d’API en aval - Appeler Microsoft Graph, SDK Azure ou vos propres API protégées avec gestion automatique des jetons
    • Acquisition de jetons - Acquérir des jetons pour le compte des utilisateurs ou de votre application
    • Gestion du cacheToken - Prise en charge du cache distribué avec Redis, SQL Server, Cosmos DB et PostgreSQL
  • Types d’informations d’identification multiples : prise en charge des certificats, des identités managées et de l’authentification sans certificat
  • En-têtes d’autorisation automatiques : l’authentification est gérée de manière transparente lors de l’appel d’API

Consultez les packages NuGet pour obtenir une vue d’ensemble de tous les packages disponibles et quand les utiliser.

Appeler des API avec l’authentification automatique

Vous pouvez appeler des API protégées sans gérer manuellement les jetons. Microsoft. Identity.Web prend en charge les modèles d’intégration suivants :

  • Microsoft Graph - Utilisation de GraphServiceClient avec acquisition automatique de jetons
  • SDK Azure : utilisez des implémentations TokenCredential qui s’intègrent à Microsoft. Identity.Web
  • Vos propres API - Utilisez IDownstreamApi ou IAuthorizationHeaderProvider pour des appels d’API transparents
  • Identités d’agent - Appeler des API pour le compte des identités managées ou des principaux de service avec gestion automatique des informations d’identification

Les en-têtes d’authentification sont ajoutés automatiquement à vos demandes, et les jetons sont acquis et mis en cache de manière transparente. Pour plus d’informations, consultez Appel d’API en aval, applications démon et guide des identités de l’agent.

Approches de configuration

Vous pouvez configurer Microsoft. Identity.Web via des fichiers de paramètres ou par programmation. Les deux approches prennent en charge tous les scénarios d’authentification.

Configurer l’authentification dans appsettings.json:

{
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "TenantId": "your-tenant-id",
    "ClientId": "your-client-id"
  }
}

Important

Pour les applications démon et les applications console, vérifiez que votre appsettings.json fichier est copié dans le répertoire de sortie. Dans Visual Studio, définissez la propriété Copy to Output Directory vers Copy if newer ou Copy always, ou ajoutez ce qui suit à votre .csproj :

<ItemGroup>
  <None Update="appsettings.json">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </None>
</ItemGroup>

Configuration par code

Vous pouvez également configurer l’authentification directement dans le code de démarrage de votre application :

builder.Services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
    .AddMicrosoftIdentityWebApp(options =>
    {
        options.Instance = "https://login.microsoftonline.com/";
        options.TenantId = "your-tenant-id";
        options.ClientId = "your-client-id";
    });

Étapes suivantes

Choisissez le scénario qui correspond à votre application :