Partager via


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

S’applique à :Cercle vert avec un symbole de coche blanche. Locataires de main-d’œuvre Cercle vert avec un symbole de coche blanche. 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 valeurs enregistrées dans la configuration de votre application sont utilisées pour configurer l’application pour l’authentification. Le fichier de configuration, appsettings.json, est utilisé pour stocker les paramètres d’application utilisés pendant l’exécution.

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": "*"
  }
  • Instance - Point de terminaison d’authentification. Vérifiez les différents points de terminaison disponibles dans les clouds nationaux.
  • TenantId : identificateur du locataire où l’application est inscrite. Remplacez le texte entre guillemets par la valeur de l’ID de répertoire (tenant) qui a été enregistrée précédemment sur la page d'aperçu de l'application enregistrée.
  • ClientId : identificateur de l’application, également appelé client. Remplacez le texte entre guillemets par la valeur de l'ID d'application (client) qui a été enregistrée précédemment depuis la page d’aperçu de l’application enregistrée.
  • ClientCertificates : un certificat auto-signé est utilisé pour l’authentification dans l’application. Remplacez le texte du CertificateThumbprint par l’empreinte numérique du certificat précédemment enregistré. N’utilisez pas de certificat auto-signé pour les applications de production.
  • CallbackPath : identificateur pour aider le serveur à rediriger une réponse vers l’application appropriée.
  • DownstreamApi : identificateur qui définit un point de terminaison pour accéder à Microsoft Graph. L’URI d’application est associé à l’étendue spécifiée. Pour définir la configuration d’une application appartenant à l’organisation, la valeur de l’attribut Scopes est légèrement différente.

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