Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Microsoft Authentication Library (MSAL)-Apps (MSAL) generieren Protokollmeldungen, die bei der Diagnose von Problemen helfen können. Eine App kann die Protokollierung mit einigen Codezeilen konfigurieren und benutzerdefinierte Kontrolle über die Detailebene und darüber verfügen, ob persönliche und organisatorische Daten protokolliert werden. Es wird empfohlen, eine MSAL-Protokollierungsimplementierung zu erstellen und Benutzern die Möglichkeit zu bieten, Protokolle zu übermitteln, wenn Authentifizierungsprobleme auftreten.
Protokollierungsebenen
MSAL bietet mehrere Ebenen der Protokollierungsdetails:
-
LogAlways: Auf dieser Protokollebene wird keine Ebenenfilterung durchgeführt. Protokollmeldungen aller Ebenen werden protokolliert. -
Critical: Protokolle, die einen nicht wiederherstellbaren Anwendungs- oder Systemabsturz oder einen katastrophalen Fehler beschreiben, der sofortige Aufmerksamkeit erfordert. -
Error: Gibt an, dass ein Fehler aufgetreten ist und ein Fehler generiert wurde. Wird zum Debuggen und Identifizieren von Problemen verwendet. -
Warning: Es ist nicht unbedingt ein Fehler oder Ausfall aufgetreten, sondern dies ist für Diagnosezwecke und zur genauen Eingrenzung von Problemen bestimmt. -
Informational: MSAL protokolliert Ereignisse, die für Informationszwecke vorgesehen sind, nicht unbedingt für das Debuggen vorgesehen. -
Verbose(Standard): MSAL protokolliert die vollständigen Details des Bibliotheksverhaltens.
Note
Nicht alle Protokollierungsstufen sind für alle MSAL-SDKs verfügbar.
Personenbezogene und organisatorische Daten
Standardmäßig erfasst der MSAL-Logger keine streng vertraulichen persönlichen oder organisatorischen Daten. Die Bibliothek bietet die Möglichkeit, die Protokollierung personenbezogener und organisatorischer Daten zu aktivieren, wenn Sie dies tun möchten.
In den folgenden Abschnitten finden Sie weitere Details zur MSAL-Fehlerprotokollierung für Ihre Anwendung.
MSAL für Java Protokollierung
MSAL für Java ermöglicht Ihnen die Verwendung der Protokollierungsbibliothek, die Sie bereits mit Ihrer App verwenden, sofern sie mit der einfachen Protokollierungsfassade für Java (SLF4J) kompatibel ist. MSAL für Java verwendet SLF4J als einfache Abstraktion für verschiedene Protokollierungsframeworks, z. B. java.util.logging, Logback und Log4j. SLF4J ermöglicht es dem Benutzer, das gewünschte Protokollierungsframework bei der Bereitstellung einzubinden, und wird bei der Bereitstellung automatisch an Logback gebunden. MSAL-Protokolle werden in die Konsole geschrieben. In diesem Artikel wird gezeigt, wie Sie die MSAL4J-Protokollierung mithilfe des Logbackframeworks in einer Spring Boot-Webanwendung aktivieren.
Um die Protokollierung zu implementieren, schließen Sie das
logbackPaket inpom.xml.<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency>Navigieren Sie zum
resourcesOrdner, und fügen Sie eine Datei mit dem Namenlogback.xmlhinzu, und fügen Sie den folgenden Code ein. Dadurch werden Protokolle an die Konsole angefügt. Sie können den Appenderclassändern, um Logs in eine Datei, eine Datenbank oder einen beliebigen Appender Ihrer Wahl zu schreiben.<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="debug"> <appender-ref ref="STDOUT" /> </root> </configuration>Legen Sie die
logging.configEigenschaft auf den Speicherort derlogback.xmlDatei vor der Hauptmethode fest. Navigieren Sie zuMsalWebSampleApplication.javaund fügen Sie den folgenden Code der öffentlichen KlasseMsalWebSampleApplicationhinzu.@SpringBootApplication public class MsalWebSampleApplication { static { System.setProperty("logging.config", "C:\Users\<your path>\src\main\resources\logback.xml"); } public static void main(String[] arrgs) { // Console.log("main"); // System.console().printf("Hello"); // System.out.printf("Hello %s!%n", "World"); System.out.printf("%s%n", "Hello World"); SpringApplication.run(MsalWebSampleApplication.class, args); } }
In Ihrem Mandanten benötigen Sie separate App-Registrierungen für die Web-App und die Web-API. Führen Sie für die App-Registrierung und die Bereitstellung des Web-API-Bereichs die Schritte im Szenario A Web App aus, die Benutzer authentifiziert und Web-APIs aufruft.
Anweisungen zum Binden an andere Protokollierungsframeworks finden Sie in der SLF4J-Dokumentation.
Persönliche und Organisationsinformationen
Standardmäßig erfasst oder protokolliert die MSAL-Protokollierung keine persönlichen oder organisatorischen Daten. Im folgenden Beispiel ist die Protokollierung personenbezogener oder organisatorischer Daten standardmäßig deaktiviert:
PublicClientApplication app2 = PublicClientApplication.builder(PUBLIC_CLIENT_ID)
.authority(AUTHORITY)
.build();
Aktivieren Sie die Protokollierung personenbezogener und organisatorischer Daten durch Festlegen von logPii() im Clientanwendungs-Generator. Wenn Sie die Protokollierung personenbezogener oder organisatorischer Daten aktivieren, muss Ihre App für die sichere Verarbeitung streng vertraulicher Daten und die Einhaltung gesetzlicher Vorschriften verantwortlich sein.
Im folgenden Beispiel ist die Protokollierung personenbezogener oder organisatorischer Daten aktiviert:
PublicClientApplication app2 = PublicClientApplication.builder(PUBLIC_CLIENT_ID)
.authority(AUTHORITY)
.logPii(true)
.build();
Nächste Schritte
Weitere Codebeispiele finden Sie unter Microsoft Identity Platform Codebeispiele.