Démarrage rapide : Ajouter la connexion avec Microsoft à une application web ASP.NET Core

Bienvenue ! Ce n’est probablement pas la page que vous attendiez. Pendant que nous travaillons sur un correctif, ce lien devrait vous permettre d’accéder au bon article :

Démarrage rapide : Ajouter la connexion avec Microsoft à une application web ASP.NET Core

Nous vous prions de nous excuser pour le désagrément et nous vous remercions de votre patience.

Dans ce démarrage rapide, vous allez télécharger et exécuter un exemple de code qui montre comment une application web ASP.NET Core peut connecter des utilisateurs à partir de n’importe quelle organisation Microsoft Entra.

Étape 1 : Configurer votre application dans le portail Azure

Pour que l’exemple de code de ce guide de démarrage rapide fonctionne :

  • Pour URI de redirection, entrez https://localhost:44321/ et https://localhost:44321/signin-oidc .
  • Pour URL de déconnexion du canal frontal, entrez https://localhost:44321/signout-oidc.

Le point de terminaison d’autorisation émettra des jetons d’ID de demande.

Already configured Votre application est configurée avec ces attributs.

Étape 2 : Télécharger le projet ASP.NET Core

Exécutez le projet.

Conseil

Pour éviter les erreurs dues à des limitations de longueur de chemin dans Windows, nous vous recommandons d’extraire l’archive ou de cloner le référentiel dans un répertoire près de la racine de votre lecteur.

Étape 3 : Votre application est configurée et prête à être exécutée

Nous avons configuré votre projet avec les valeurs des propriétés de votre application, il est prêt à être exécuté.

Notes

Enter_the_Supported_Account_Info_Here

Informations complémentaires

Cette section offre une vue d’ensemble du code requis pour connecter les utilisateurs. Cette vue d’ensemble peut être utile pour comprendre comment le code fonctionne, quels sont les principaux arguments et comment ajouter une connexion à une application ASP.NET Core existante.

Fonctionnement de l’exemple

Diagram of the interaction between the web browser, the web app, and the Microsoft identity platform in the sample app.

Classe de démarrage

Le middleware (intergiciel) Microsoft.AspNetCore.Authentication utilise une classe Startup qui s’exécute lors du démarrage du processus d’hébergement :

public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
        .AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"));

    services.AddControllersWithViews(options =>
    {
        var policy = new AuthorizationPolicyBuilder()
            .RequireAuthenticatedUser()
            .Build();
        options.Filters.Add(new AuthorizeFilter(policy));
    });
   services.AddRazorPages()
        .AddMicrosoftIdentityUI();
}

La méthode AddAuthentication() configure le service pour ajouter l’authentification basée sur les cookies. Cette authentification est utilisée dans les scénarios de navigateur et pour définir la demande d’authentification sur OpenID Connect.

La ligne qui contient .AddMicrosoftIdentityWebApp ajoute à votre application l’authentification auprès de la plateforme d’identités Microsoft. L’application est ensuite configurée pour connecter les utilisateurs en fonction des informations suivantes contenues dans la section AzureAD du fichier de configuration appsettings.json :

Clé appsettings.json Description
ClientId ID d’application (client) de l’application inscrite dans le portail Azure.
Instance Point de terminaison du service d’émission de jeton de sécurité (STS) pour l’utilisateur à authentifier. Cette valeur est généralement https://login.microsoftonline.com/, ce qui indique le cloud public Azure.
TenantId Nom de votre locataire ou de l’ID de locataire (GUID), ou common pour connecter les utilisateurs avec des comptes professionnels ou scolaires, ou des comptes personnels Microsoft.

La méthode Configure() contient deux méthodes importantes, app.UseAuthentication() et app.UseAuthorization(), qui activent leurs fonctionnalités nommées : Également dans la méthode Configure(), vous devez inscrire les routes Microsoft Identity Web avec au moins un appel à endpoints.MapControllerRoute() ou un appel à endpoints.MapControllers() :

app.UseAuthentication();
app.UseAuthorization();

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
    endpoints.MapRazorPages();
});

Attribut pour la protection d’un contrôleur ou des méthodes

Vous pouvez protéger un contrôleur ou les méthodes d’un contrôleur en utilisant l’attribut [Authorize]. Cet attribut limite l’accès au contrôleur ou aux méthodes en autorisant uniquement les utilisateurs authentifiés. Une demande d’authentification peut être démarrée pour accéder au contrôleur si l’utilisateur n’est pas authentifié.

Aide et support

Si vous avez besoin d’aide, si vous souhaitez signaler un problème ou si vous voulez en savoir plus sur vos options de support, consultez Aide et support pour les développeurs.

Étapes suivantes

Le dépôt GitHub qui contient ce tutoriel ASP.NET Core inclut des instructions et d’autres exemples de code qui vous montrent comment :

  • Ajouter l’authentification à une nouvelle application web ASP.NET Core
  • Appeler Microsoft Graph, d’autres API Microsoft ou vos propres API web
  • Ajouter une autorisation
  • Connecter des utilisateurs dans des clouds nationaux ou avec des identités sociales