Partager via


Démarrage rapide : Connecter des utilisateurs dans un exemple d’application web

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 guide de démarrage rapide, vous utilisez un exemple d'application web pour vous guider sur la manière de connecter des utilisateurs et d'appeler l'API Microsoft Graph dans votre locataire d'entreprise. L’exemple d’application utilise la bibliothèque d’authentification Microsoft pour gérer l’authentification.

Avant de commencer, utilisez le sélecteur Choisir un type de locataire en haut de cette page pour sélectionner un type de locataire. Microsoft Entra ID fournit deux configurations de locataire : employés et externe. Une configuration de tenant pour la gestion du personnel est destinée à vos employés, vos applications internes et à d'autres ressources organisationnelles. Un locataire externe est destiné à vos applications destinées aux clients.

Prerequisites

  • Un compte Azure avec un abonnement actif. Si vous n’en avez pas encore, créez un compte gratuitement.
  • Ce compte Azure doit disposer des autorisations nécessaires pour gérer des applications. Les rôles Microsoft Entra suivants incluent les autorisations requises :
    • Administrateur d’application
    • Développeur d’applications
  • Un locataire d’employés. Vous pouvez utiliser votre répertoire par défaut ou configurer un nouveau locataire.
  • Visual Studio Code ou un autre éditeur de code.
  • 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 : http://localhost:3000/auth/redirect
    • URL de déconnexion de canal frontal : https://localhost:5001/signout-callback-oidc
  • Ajoutez une clé secrète client à votre inscription d’application. N’utilisez pas les secrets client dans les applications de production. Utilisez plutôt des certificats ou des informations d’identification fédérées. Pour plus d’informations, consultez ajouter des informations d’identification à votre application.
  • Node.js

Cloner ou télécharger un exemple d’application web

Pour obtenir l’exemple d’application, vous pouvez le cloner à partir de GitHub ou le télécharger en tant que fichier .zip .

  • Téléchargez le fichier .zip, puis extrayez-le dans un chemin d’accès de fichier où la longueur du nom est inférieure à 260 caractères ou clonez le référentiel :

  • Pour cloner l’exemple, ouvrez une invite de commandes et accédez à l’emplacement où vous souhaitez créer le projet, puis entrez la commande suivante :

    git clone https://github.com/Azure-Samples/ms-identity-node.git
    

Configurez l’échantillon d’application web

Pour permettre à l'application d'exemple de connecter les utilisateurs, vous devez la mettre à jour avec les informations de votre application et de votre locataire.

Dans le dossier ms-identity-node , ouvrez le fichier App/.env , puis remplacez les espaces réservés suivants :

Variable Descriptif Exemple(s)
Enter_the_Cloud_Instance_Id_Here Instance cloud Azure dans laquelle votre application est inscrite https://login.microsoftonline.com/ (inclure la barre oblique de fin)
Enter_the_Tenant_Info_here ID de locataire ou domaine principal contoso.microsoft.com ou aaaabbbb-0000-cccc-1111-dddd2222eeee
Enter_the_Application_Id_Here ID client de l’application que vous avez inscrite 00001111-aaaa-2222-bbbb-3333cccc4444
Enter_the_Client_Secret_Here Clé secrète du client de l'application que vous avez enregistrée A1b-C2d_E3f.H4i,J5k?L6m!N7o-P8q_R9s.T0u
Enter_the_Graph_Endpoint_Here Instance cloud de l’API Microsoft Graph que votre application appelle https://graph.microsoft.com/ (inclure la barre oblique de fin)
Enter_the_Express_Session_Secret_Here Chaîne aléatoire de caractères utilisée pour signer le cookie de session Express A1b-C2d_E3f.H4...

Une fois que vous avez apporté des modifications, votre fichier doit ressembler à l’extrait de code suivant :

CLOUD_INSTANCE=https://login.microsoftonline.com/
TENANT_ID=aaaabbbb-0000-cccc-1111-dddd2222eeee
CLIENT_ID=00001111-aaaa-2222-bbbb-3333cccc4444
CLIENT_SECRET=A1b-C2d_E3f.H4...

REDIRECT_URI=http://localhost:3000/auth/redirect
POST_LOGOUT_REDIRECT_URI=http://localhost:3000

GRAPH_API_ENDPOINT=https://graph.microsoft.com/

EXPRESS_SESSION_SECRET=6DP6v09eLiW7f1E65B8k

Exécuter et tester un exemple d’application web

Vous avez configuré votre exemple d’application. Vous pouvez continuer à l’exécuter et à le tester.

  1. Pour démarrer le serveur, exécutez les commandes suivantes à partir du répertoire du projet :

    cd App
    npm install
    npm start
    
  2. Accédez à http://localhost:3000/.

  3. Sélectionnez Se connecter pour démarrer le processus de connexion.

La première fois que vous vous connectez, vous êtes invité à fournir votre consentement pour autoriser l’application à vous connecter et à accéder à votre profil. Une fois que vous êtes connecté, vous êtes redirigé vers la page d’accueil de l’application.

Fonctionnement de l’application

L’exemple héberge un serveur web sur localhost, port 3000. Lorsqu’un navigateur web accède à cette adresse, l’application affiche la page d’accueil. Une fois que l’utilisateur sélectionne Se connecter, l’application redirige le navigateur vers l’écran de connexion à Microsoft Entra, via l’URL générée par la bibliothèque MSAL Node. Une fois que l’utilisateur a donné son consentement, le navigateur redirige l’utilisateur vers la page d’accueil de l’application, ainsi qu’un ID et un jeton d’accès.

Dans ce guide de démarrage rapide, vous utilisez un exemple d’application web pour vous montrer comment connecter des utilisateurs dans votre locataire externe. L’exemple d’application utilise la bibliothèque d’authentification Microsoft pour gérer l’authentification.

Avant de commencer, utilisez le sélecteur Choisir un type de locataire en haut de cette page pour sélectionner un type de locataire. Microsoft Entra ID fournit deux configurations de locataire : employés et externe. Une configuration de tenant pour la gestion du personnel est destinée à vos employés, vos applications internes et à d'autres ressources organisationnelles. Un locataire externe est destiné à vos applications destinées aux clients.

Prerequisites

Cloner ou télécharger un exemple d’application web

Pour obtenir l’exemple d’application, vous pouvez le cloner à partir de GitHub ou le télécharger en tant que fichier .zip :

  • Pour cloner l’exemple, ouvrez une invite de commandes et accédez à l’emplacement où vous souhaitez créer le projet, puis entrez la commande suivante :

    git clone https://github.com/Azure-Samples/ms-identity-ciam-javascript-tutorial.git
    
  • Vous pouvez également télécharger l’exemple de fichier .zip, puis l’extraire dans un chemin d’accès de fichier où la longueur du nom est inférieure à 260 caractères.

Installer les dépendances de projet

  1. Ouvrez une fenêtre de console et accédez au répertoire qui contient l’exemple d’application Node.js :

    cd 1-Authentication\5-sign-in-express\App
    
  2. Exécutez les commandes suivantes pour installer les dépendances d’application :

    npm install
    

Configurez l’échantillon d’application web

Pour connecter les utilisateurs avec l'application d'exemple, vous devez la mettre à jour avec les détails de votre application et de votre client :

  1. Dans votre éditeur de code, ouvrez le fichier app\authConfig.js .

  2. Trouvez l’espace réservé :

    • Enter_the_Application_Id_Here et remplacez-le par l’ID d’application (client) de l’application inscrite précédemment.
    • Enter_the_Tenant_Subdomain_Here et remplacez-le par le sous-domaine du répertoire (locataire). Par exemple, si le domaine principal de votre locataire est contoso.onmicrosoft.com, utilisez contoso. Si vous ne disposez pas du nom de votre locataire, découvrez de quelle manière consulter les détails de votre locataire.
    • Enter_the_Client_Secret_Here et remplacez-le par la valeur de secret d’application que vous avez copiée précédemment.

Exécuter et tester un exemple d’application web

Vous pouvez maintenant tester l’exemple d’application web Node.js. Vous devez démarrer le serveur Node.js et y accéder via votre navigateur à l’adresse http://localhost:3000.

  1. Dans votre terminal, exécutez la commande suivante :

    npm start 
    
  2. Ouvrez votre navigateur, puis accédez à http://localhost:3000. Vous devez voir une page similaire à la capture d’écran suivante :

    Capture d’écran de connexion dans une application web Node.

  3. Une fois le chargement terminé, sélectionnez Se connecter lorsque vous y êtes invité.

  4. Dans la page de connexion, tapez votre Adresse e-mail, sélectionnez Suivant, tapez votre Mot de passe, puis sélectionnez Se connecter. Si vous n’avez aucun compte, sélectionnez le lien Vous n’avez pas de compte ? Créez un lien , qui lance le flux d’inscription.

  5. Si vous choisissez l’option d’inscription, après avoir renseigné votre e-mail, votre code secret à usage unique, le nouveau mot de passe et plus de détails de compte, vous avez terminé l’intégralité du flux d’inscription. Vous observez une page similaire à la capture d’écran suivante. Vous observez une page similaire si vous choisissez l’option de connexion.

    Capture d'écran des revendications de jeton d'identification de vue.

  6. Sélectionnez Déconnectez pour déconnecter l’utilisateur de l’application web ou sélectionnez Afficher les assertions du jeton d’identification pour afficher les assertions du jeton d’identification retournées par Microsoft Entra.

Fonctionnement

Lorsque les utilisateurs sélectionnent le lien de connexion, l’application lance une demande d’authentification et redirige les utilisateurs vers l’ID externe Microsoft Entra. Dans la page de connexion ou d’inscription qui s’affiche, une fois qu’un utilisateur se connecte correctement ou crée un compte, l’ID externe Microsoft Entra retourne un jeton d’ID à l’application. L’application valide le jeton d’ID, lit les revendications et retourne une page sécurisée aux utilisateurs.

Lorsque les utilisateurs sélectionnent le lien De déconnexion, l’application efface sa session, puis redirige l’utilisateur vers le point de terminaison de déconnexion d’ID externe Microsoft Entra pour l’avertir que l’utilisateur s’est déconnecté.

Si vous souhaitez créer une application similaire à l’exemple que vous avez exécuté, suivez les étapes décrites dans l’article Connecter les utilisateurs dans votre propre application web Node.js.