Partager via


Démarrage rapide : Connecter des utilisateurs et appeler l’API Microsoft Graph à partir d’une application web Java

Dans ce guide de démarrage rapide, vous téléchargez et exécutez un exemple de code qui montre comment une application web Java peut connecter des utilisateurs et appeler l’API Microsoft Graph. Les utilisateurs de n’importe quelle organisation Microsoft Entra peuvent se connecter à l’application.

Voir Comment fonctionne l'exemple pour une illustration.

Conditions préalables

Pour exécuter cet exemple, vous avez besoin des éléments suivants :

Inscrire et télécharger votre application de démarrage rapide

Il existe deux façons de démarrer votre application de démarrage rapide : express (option 1) et manuelle (option 2).

Option 1 : Inscrire et configurer automatiquement votre application, puis télécharger l’exemple de code

  1. Accédez au Centre d’administration Microsoft Entra : expérience de démarrage rapide des inscriptions d’applications en tant qu'administrateur d’application Cloud.
  2. Entrez un nom pour votre application, puis sélectionnez Inscrire.
  3. Suivez les instructions de l’expérience de démarrage rapide du portail pour télécharger le code d’application configuré automatiquement.

Option 2 : Inscrire et configurer manuellement votre application et exemple de code

Étape 1 : Inscrire votre application

Pour inscrire votre application et y ajouter manuellement les informations d’inscription de l’application, procédez comme suit :

  1. Connectez-vous au centre d’administration Microsoft Entra en tant qu’au moins un Administrateur d'Application Cloud .
  2. Si vous avez accès à plusieurs locataires, utilisez l’icône Paramètres dans le menu supérieur pour basculer vers le locataire dans lequel vous souhaitez inscrire l’application à partir du menu Répertoires + abonnements.
  3. Accédez à Identité>Applications>Enregistrements d’applications, puis sélectionnez Nouvelle inscription.
  4. Entrez un nom pour votre application, par exemple java-webapp. Les utilisateurs de votre application peuvent voir ce nom. Vous pouvez le modifier ultérieurement.
  5. Sélectionnez Inscription.
  6. Dans la page Vue d’ensemble, notez les valeurs ID d’application (client) et ID d’annuaire (locataire). Vous aurez besoin de ces valeurs ultérieurement.
  7. Sous Gérer, sélectionnez Authentification.
  8. Sélectionnez Ajouter une plateforme>Web.
  9. Dans la section URI de redirection, entrez https://localhost:8443/msal4jsample/secure/aad.
  10. Sélectionnez Configurer.
  11. Dans la section Web, sous URI de redirection, entrez https://localhost:8443/msal4jsample/graph/me comme deuxième URI de redirection.
  12. Sous Gérer, sélectionnez Certificats et secrets. Dans la section secrets client, sélectionnez nouveau secret client.
  13. Entrez une description de clé (par exemple, secret d’application), laissez l’expiration par défaut, puis sélectionnez Ajouter.
  14. Notez la Valeur de la clé secrète client. Vous en aurez besoin plus tard.

Étape 2 : Télécharger l’exemple de code

Télécharger l’exemple de code

Étape 3 : Configurer l’exemple de code

  1. Extrayez le fichier zip dans un dossier local.

  2. Optionnel. Si vous utilisez un environnement de développement intégré, ouvrez l’exemple dans cet environnement.

  3. Ouvrez le fichier application.properties. Vous pouvez le trouver dans le dossier src/main/resources/. Remplacez les valeurs dans les champs aad.clientId, aad.authorityet aad.secretKey par l’ID d’application, l’ID de locataire et les valeurs de clé secrète client, respectivement. Voici ce à quoi il doit ressembler :

     aad.clientId=Enter_the_Application_Id_here
     aad.authority=https://login.microsoftonline.com/Enter_the_Tenant_Info_Here/
     aad.secretKey=Enter_the_Client_Secret_Here
     aad.redirectUriSignin=https://localhost:8443/msal4jsample/secure/aad
     aad.redirectUriGraph=https://localhost:8443/msal4jsample/graph/me
     aad.msGraphEndpointHost="https://graph.microsoft.com/"
    

Dans le code précédent :

  • Enter_the_Application_Id_here est l’ID d’application de l’application que vous avez inscrite.
  • Enter_the_Client_Secret_Here correspond au secret client que vous avez créé dans Certificats et secrets pour l’application que vous avez inscrite.
  • Enter_the_Tenant_Info_Here correspond à la valeur ID de l’annuaire (locataire) de l’application que vous avez inscrite.
  1. Pour utiliser HTTPS avec localhost, fournissez les propriétés server.ssl.key. Pour générer un certificat auto-signé, utilisez l’utilitaire keytool (inclus dans JRE).

Voici un exemple :

keytool -genkeypair -alias testCert -keyalg RSA -storetype PKCS12 -keystore keystore.p12 -storepass password

server.ssl.key-store-type=PKCS12
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=password
server.ssl.key-alias=testCert
  1. Placez le fichier de keystore généré dans le dossier ressources .

Étape 4 : Exécuter l’exemple de code

Pour exécuter le projet, effectuez l’une des étapes suivantes :

  • Exécutez-le directement à partir de votre IDE à l’aide du serveur Spring Boot incorporé.
  • Empaquetez-le dans un fichier WAR à l’aide de Maven, puis déployez-le dans une solution de conteneur J2EE comme Apache Tomcat.
Exécution du projet à partir d’un IDE

Pour exécuter l’application web à partir d’un IDE, sélectionnez Exécuter, puis accédez à la page d’accueil du projet. Pour cet exemple, l’URL de la page d’accueil standard est https://localhost:8443.

  1. Dans la page d’accueil, sélectionnez le bouton Connexion pour rediriger les utilisateurs vers l’ID Microsoft Entra et les inviter à entrer des informations d’identification.

  2. Une fois les utilisateurs authentifiés, ils sont redirigés vers https://localhost:8443/msal4jsample/secure/aad. Ils sont maintenant connectés et la page affiche des informations sur le compte d’utilisateur. L’exemple d’interface utilisateur comporte ces boutons :

    • Déconnectez: Déconnectez l'utilisateur actuel de l'application et redirigez cet utilisateur vers la page d'accueil.
    • Afficher les informations utilisateur: acquiert un jeton pour Microsoft Graph et appelle Microsoft Graph avec une demande contenant le jeton, qui retourne des informations de base sur l’utilisateur connecté.
Exécution du projet à partir de Tomcat

Si vous souhaitez déployer l’exemple web sur Tomcat, apportez quelques modifications au code source.

  1. Ouvrez ms-identity-java-webapp/src/main/java/com.microsoft.azure.msalwebsample/MsalWebSampleApplication.

    • Supprimez tout le code source et remplacez-le par ce code :

       package com.microsoft.azure.msalwebsample;
      
       import org.springframework.boot.SpringApplication;
       import org.springframework.boot.autoconfigure.SpringBootApplication;
       import org.springframework.boot.builder.SpringApplicationBuilder;
       import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
      
       @SpringBootApplication
       public class MsalWebSampleApplication extends SpringBootServletInitializer {
      
        public static void main(String[] args) {
         SpringApplication.run(MsalWebSampleApplication.class, args);
        }
      
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
         return builder.sources(MsalWebSampleApplication.class);
        }
       }
      
  2. Le port HTTP par défaut de Tomcat est 8080, mais vous avez besoin d’une connexion HTTPS sur le port 8443. Pour configurer ce paramètre :

    • Accédez à tomcat/conf/server.xml.

    • Recherchez la balise <connector> et remplacez le connecteur existant par ce connecteur :

      <Connector
               protocol="org.apache.coyote.http11.Http11NioProtocol"
               port="8443" maxThreads="200"
               scheme="https" secure="true" SSLEnabled="true"
               keystoreFile="C:/Path/To/Keystore/File/keystore.p12" keystorePass="KeystorePassword"
               clientAuth="false" sslProtocol="TLS"/>
      
  3. Ouvrez une fenêtre d’invite de commandes. Accédez au dossier racine de cet exemple (où se trouve le fichier pom.xml), puis exécutez mvn package pour générer le projet.

    • Cette commande génère un fichier msal-web-sample-0.1.0.war dans votre répertoire de /targets.
    • Renommez ce fichier en msal4jsample.war.
    • Déployez le fichier WAR à l’aide de Tomcat ou d’une autre solution de conteneur J2EE.
      • Pour déployer le fichier msal4jsample.war, copiez-le dans le répertoire /webapps/ de votre installation Tomcat, puis démarrez le serveur Tomcat.
  4. Une fois le fichier déployé, accédez à https://localhost:8443/msal4jsample à l’aide d’un navigateur.

Important

Cette application de démarrage rapide utilise une clé secrète client pour s’identifier en tant que client confidentiel. Étant donné que la clé secrète client est ajoutée en texte brut à vos fichiers projet, pour des raisons de sécurité, nous vous recommandons d’utiliser un certificat au lieu d’un secret client avant d’utiliser l’application dans un environnement de production. Pour plus d’informations sur l’utilisation d’un certificat, consultez Informations d’identification du certificat pour l’authentification d’application.

Plus d’informations

Fonctionnement de l’exemple

Diagramme montrant comment fonctionne l’exemple d’application généré par ce guide de démarrage rapide.

Obtenir MSAL

MSAL pour Java (MSAL4J) est la bibliothèque Java utilisée pour connecter des utilisateurs et demander des jetons utilisés pour accéder à une API protégée par la plateforme d’identités Microsoft.

Ajoutez MSAL4J à votre application à l’aide de Maven ou Gradle pour gérer vos dépendances en apportant les modifications suivantes au fichier pom.xml (Maven) ou build.gradle (Gradle).

Dans pom.xml:

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>msal4j</artifactId>
    <version>1.0.0</version>
</dependency>

Dans build.gradle :

compile group: 'com.microsoft.azure', name: 'msal4j', version: '1.0.0'

Initialiser MSAL

Ajoutez une référence à MSAL pour Java en ajoutant le code suivant au début du fichier dans lequel vous utiliserez MSAL4J :

import com.microsoft.aad.msal4j.*;

Aide et support

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

Étapes suivantes

Pour une discussion plus approfondie sur la création d’applications web qui connectent les utilisateurs sur la plateforme d’identités Microsoft, consultez la série de scénarios à plusieurs parties :