Quickstart: Aanmelden met Microsoft toevoegen aan een Java-web-app

Welkom! Dit is waarschijnlijk niet de pagina die u verwachtte te zien. Terwijl we aan een oplossing voor dit probleem werken, kunt u met deze koppeling naar het juiste artikel gaan:

Quickstart: Aanmelden met Microsoft toevoegen aan een Java-web-app

Onze excuses voor het ongemak en bedankt voor uw geduld tijdens onze inspanningen om dit probleem op te lossen.

In deze quickstart downloadt u een codevoorbeeld en voert u dit uit. Het codevoorbeeld laat zien hoe gebruikers kunnen worden aangemeld en de Microsoft Graph kunnen aanroepen met een Java-webtoepassing. Gebruikers van elke Microsoft Entra-organisatie kunnen zich aanmelden bij de toepassing.

Zie het diagram met de werking van het voorbeeld voor een overzicht.

Vereisten

Als u dit voorbeeld wilt uitvoeren, hebt u het volgende nodig:

Stap 1: uw toepassing configureren in de Azure-portal

Ga als volgt te werk om het codevoorbeeld in deze quickstart te gebruiken:

  1. Voeg de antwoord-URL's https://localhost:8443/msal4jsample/secure/aad en https://localhost:8443/msal4jsample/graph/me toe.
  2. Een clientgeheim maken.

Already configured Uw toepassing is geconfigureerd met deze kenmerken.

Stap 2: Het codevoorbeeld downloaden

Download het project en pak het ZIP-bestand uit in een map in de buurt van de hoofdmap van uw station. Bijvoorbeeld C:\Azure-Samples.

Als u HTTPS voor localhost wilt gebruiken, geeft u de server.ssl.key-eigenschappen op. Gebruik het keytool-hulpprogramma om een zelfondertekend certificaat te maken (opgenomen in JRE).

Hier volgt een voorbeeld:

  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

Plaats het gegenereerde KeyStore-bestand in de map resources.

Notitie

Enter_the_Supported_Account_Info_Here

Stap 3: Het codevoorbeeld uitvoeren

Voer een van de volgende stappen uit om het project uit te voeren:

  • Voer het rechtstreeks vanuit uw IDE uit met behulp van de ingesloten Spring Boot-server.
  • Verpak het in een WAR-bestand met behulp van Maven en implementeer het in een J2EE-containeroplossing, zoals Apache Tomcat.
Het project uitvoeren vanuit een IDE

Als u de webtoepassing vanuit een IDE wilt uitvoeren, selecteert u Uitvoeren en gaat u naar de startpagina van het project. Voor dit voorbeeld is de standaard URL voor de startpagina https://localhost:8443.

  1. Selecteer op de voorpagina de knop Aanmelden om gebruikers om te leiden naar De Microsoft Entra-id en om referenties te vragen.

  2. Nadat de gebruikers zijn geverifieerd, worden ze omgeleid naar https://localhost:8443/msal4jsample/secure/aad. Ze zijn nu aangemeld en op de pagina wordt informatie over het gebruikersaccount weergegeven. De voorbeeld-UI heeft deze knoppen:

    • Afmelden: de huidige gebruiker afmelden bij de toepassing en die gebruiker omleidt naar de startpagina.
    • Gebruikersgegevens weergeven: Hiermee verwerft u een token voor Microsoft Graph en roept u Microsoft Graph aan met een aanvraag die het token bevat, waarmee basisinformatie over de aangemelde gebruiker wordt geretourneerd.
Het project uitvoeren vanuit Tomcat

Als u het webvoorbeeld wilt implementeren met Tomcat, moet u een aantal wijzigingen aanbrengen in de broncode.

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

    • Verwijder alle broncode en vervang deze door deze 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. De standaard HTTP-poort van Tomcat is 8080, maar er is een HTTPS-verbinding via poort 8443 nodig. U kunt deze instelling als volgt configureren:

    • Ga naar tomcat/conf/server.xml.

    • Zoek de tag <connector> en vervang de bestaande connector door deze connector:

      <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. Open een opdrachtpromptvenster. Ga naar de hoofdmap van dit voorbeeld (waar het bestand pom.xml zich bevindt) en voer mvn > package uit om het project te bouwen.

    • Met deze opdracht wordt een msal-web-sample-0.1.0.war-bestand in de map /targets gegenereerd.
    • Wijzig de naam van dit bestand in msal4jsample.war.
    • Implementeer dit WAR-bestand met behulp van Tomcat of een andere J2EE-containeroplossing.
      • Voor de implementatie van bestand msal4jsample.war kopieert u het bestand naar de map /webapps/ in uw Tomcat-installatie en start u de Tomcat-server.
  4. Nadat het bestand is geïmplementeerd, gaat u in een browser naar https://localhost:8443/msal4jsample.

Belangrijk

Deze quickstarttoepassing gebruikt een clientgeheim om zichzelf te identificeren als een vertrouwelijke client. Omdat het clientgeheim als platte tekst aan uw projectbestanden wordt toegevoegd, wordt u om veiligheidsredenen aangeraden een certificaat te gebruiken in plaats van een clientgeheim voordat u de toepassing in een productieomgeving gebruikt. Zie Certificaatreferenties voor toepassingsverificatie voor meer informatie over het gebruik van een certificaat.

Meer informatie

Hoe het voorbeeld werkt

Diagram that shows how the sample app generated by this quickstart works.

MSAL ophalen

MSAL voor Java (MSAL4J) is de Java-bibliotheek die wordt gebruikt voor het aanmelden van gebruikers en de aanvraagtokens die worden gebruikt voor toegang tot een API die is beveiligd via het Microsoft-identiteitsplatform.

Voeg MSAL4J toe aan uw toepassing met behulp van Maven of Gradle om uw afhankelijkheden te beheren door de volgende wijzigingen aan te brengen in het > bestand pom.xml (Maven) of build.gradle (Gradle).

In pom.xml:

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

In build.gradle:

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

MSAL initialiseren

Voeg een verwijzing toe aan MSAL voor Java door de volgende code toe te voegen aan het begin van het bestand waarin u MSAL4J gaat gebruiken:

import com.microsoft.aad.msal4j.*;

Help en ondersteuning

Als u hulp nodig hebt, een probleem wilt melden of meer informatie wilt over uw ondersteuningsopties, raadpleegt u Hulp en ondersteuning voor ontwikkelaars.

Volgende stappen

Voor een uitgebreidere bespreking van het bouwen van web-apps waarmee gebruikers zich aanmelden op het Microsoft Identity-platform, raadpleegt u onze reeks scenario's: