Partager via


Tutoriel : Configurer une application web ASP.NET Core qui authentifie les utilisateurs

S’applique à : cercle vert avec un symbole de coche blanc qui indique que le contenu suivant s’applique aux locataires du personnel. Cercle vert des locataires de main-d’œuvre avec un symbole de coche blanche qui indique que le contenu suivant s’applique aux locataires externes. Locataires externes (en savoir plus)

Dans ce tutoriel, vous allez créer une application web ASP.NET Core et la configurer pour l’authentification. Il s’agit de la partie 1 d’une série qui montre comment créer une application web ASP.NET Core et la préparer à l’authentification à l’aide du Centre d’administration Microsoft Entra. Cette application peut être utilisée pour les employés d’un locataire de main-d’œuvre ou pour les clients qui utilisent un locataire externe

Dans ce tutoriel, vous allez :

  • Créer une application web ASP.NET Core
  • Créer un certificat auto-signé
  • Configurer les paramètres de l’application
  • Définir les paramètres de plateforme et les URL

Conditions préalables

  • Un compte Azure avec un abonnement actif. Créez un compte gratuitement. Ce compte doit disposer des autorisations nécessaires pour gérer les applications. Utilisez l’un des rôles suivants nécessaires pour inscrire l’application :
    • Administrateur d’application
    • Développeur d’applications
  • Bien que n’importe quel environnement de développement intégré (IDE) qui prend en charge les applications ASP.NET Core peut être utilisé, ce didacticiel utilise Visual Studio Code. Vous pouvez le télécharger ici.
  • Exigence minimale de SDK .NET 8.0.
  • Certificat de développeur ASP.NET Core. Installer un à l’aide de dotnet dev-certs
  • Inscrivez une nouvelle application dans le Centre d’administration Microsoft Entra, configurée pour les comptes dans cet annuaire organisationnel uniquement. Pour plus d’informations, reportez-vous à l'enregistrement d'une application. Enregistrez les valeurs suivantes à partir de la page Vue d’ensemble de l’application pour une utilisation ultérieure :
    • ID d’application (client)
    • ID de l’annuaire (locataire)
  • Ajoutez les URI de redirection suivants à l’aide de la configuration de la plateforme Web . Pour plus d’informations, consultez Comment ajouter un URI de redirection dans votre application .
    • URI de redirection : https://localhost:5001/signin-oidc
    • URL de déconnexion du canal frontal : https://localhost:5001/signout-oidc
  • À des fins de développement, créez un certificat auto-signé. Reportez-vous à l’ajout d’informations d’identification pour charger le certificat et enregistrer l’empreinte numérique du certificat. N’utilisez pas de certificat auto-signé pour les applications de production. Utilisez une autorité de certification approuvée.

Créer un projet ASP.NET Core

Dans cette section, vous allez créer un projet ASP.NET Core dans Visual Studio Code.

  1. Ouvrez Visual Studio Code et sélectionnez Fichier > ouvrir le dossier.... Accédez à et sélectionnez l’emplacement dans lequel créer votre projet.

  2. Ouvrez un nouveau terminal en sélectionnant Terminal > Nouveau terminal.

  3. Entrez la commande suivante pour créer un projet MVC (Model View Controller) ASP.NET Core.

    dotnet new mvc -n identity-client-web-app
    

Installer des paquets d’identité

Cette application utilise Microsoft.Identity.Web et le package NuGet associé doit être installé.

Utilisez l’extrait de code suivant pour passer au nouveau dossier identity-client-web-app et installer le package NuGet approprié :

cd identity-client-web-app
dotnet add package Microsoft.Identity.Web.UI

Configurer l’application pour l’authentification

Les applications web qui connectent les utilisateurs à l’aide de la plateforme d’identités Microsoft sont configurées via un fichier de configuration, appsettings.json. Dans ASP.NET Core, il doit spécifier les valeurs suivantes :

Réglage Descriptif
Instance Point de terminaison d’authentification pour exécuter votre application dans des clouds nationaux. Utilisez l’un des suivants :
- https://login.microsoftonline.com/ (Azure cloud public)
- https://login.microsoftonline.us/ (Azure US government)
- https://login.microsoftonline.de/ (Microsoft Entra Germany)
- https://login.partner.microsoftonline.cn/ (Microsoft Entra China géré par 21Vianet)
TenantId Identificateur du locataire où l’application est inscrite. Recommandé : utilisez l’ID de locataire à partir de l’inscription de l’application. Alternatives:
- organizations (tout compte professionnel ou scolaire)
- common (professionnel/scolaire ou compte personnel Microsoft)
- consumers (Comptes personnels Microsoft uniquement).
ClientId Identificateur de l’application (client) obtenu lors de l’enregistrement de l’application.
CertificateThumbprint Empreinte numérique du certificat chargé dans le Centre d’administration Microsoft Entra (voir ajouter des informations d’identification).
CallbackPath Chemin utilisé pour rediriger les réponses ; pour ce didacticiel, défini sur /signin-oidc.
DownstreamApi Identificateur qui définit un point de terminaison pour accéder à Microsoft Graph. Combinez l’URI de l’application avec l’étendue requise (par exemple). user.read

Mettre à jour le fichier de configuration

Dans votre IDE, ouvrez appsettings.json et remplacez le contenu du fichier par l’extrait de code suivant. Remplacez le texte entre guillemets par les valeurs enregistrées précédemment.

{
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "TenantId": "Enter_the_Tenant_Id_Here",
    "ClientId": "Enter_the_Application_Id_Here",
    "ClientCertificates": [
      {
        "SourceType": "StoreWithThumbprint",
        "CertificateStorePath": "CurrentUser/My",
        "CertificateThumbprint": "Enter the certificate thumbprint obtained the Microsoft Entra admin center"
      }   
    ],
    "CallbackPath": "/signin-oidc"
  },
    "DownstreamApi": {
      "BaseUrl": "https://graph.microsoft.com/v1.0/",
      "RelativePath": "me",
      "Scopes": [ 
        "user.read" 
      ]
    },
    "Logging": {
      "LogLevel": {
        "Default": "Information",
        "Microsoft.AspNetCore": "Warning"
      }
    },
    "AllowedHosts": "*"
  }

Mettre à jour l’URI de redirection

À partir des prérequis, l’URI de redirection est défini sur https://localhost:5001/signin-oidc. Cela doit être mis à jour dans les paramètres de lancement de l’application. Vous pouvez utiliser l’URI de redirection créé pendant la configuration de l’application locale ou tout autre numéro de port disponible, à condition qu’il corresponde à l’URI de redirection dans l’inscription de l’application.

  1. Dans le dossier Propriétés , ouvrez le fichier launchSettings.json.

  2. Recherchez l’objet https et mettez à jour la valeur de applicationURI avec le numéro de port correct, c'est-à-dire 5001. La ligne doit ressembler à l’extrait de code suivant :

    "applicationUrl": "https://localhost:5001;http://localhost:{port}",
    

Étape suivante