Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
GraphServiceClientavec acquisition automatique de jetons -
SDK Azure : utilisez des implémentations
TokenCredentialqui s’intègrent à Microsoft. Identity.Web -
Vos propres API - Utilisez
IDownstreamApiouIAuthorizationHeaderProviderpour 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.
Configuration par fichier (recommandé)
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 :
- Application Web - Connecter des utilisateurs - Ajouter l’authentification à votre application Web ASP.NET Core
- API Web - Protéger votre API - Sécuriser votre API web ASP.NET Core avec des jetons de porteur
- Application démon - Appeler des API - Créer des services en arrière-plan qui appellent des API protégées