Bejelentkezés az MSAL for Java rendszerben

A Microsoft Authentication Library (MSAL) alkalmazások olyan naplóüzeneteket hoznak létre, amelyek segíthetnek a problémák diagnosztizálásában. Az alkalmazások néhány sornyi kóddal konfigurálhatják a naplózást, és egyéni vezérléssel szabályozhatják a részletesség szintjét, valamint azt, hogy a rendszer naplózza-e a személyes és szervezeti adatokat. Javasoljuk, hogy hozzon létre egy MSAL-naplózási implementációt, és biztosítson módot a felhasználók számára, hogy hitelesítési problémák esetén küldjenek naplókat.

Naplózási szintek

Az MSAL több szintű naplózási részletet biztosít:

  • LogAlways: Ezen a naplószinten nem történik szintszűrés. A rendszer minden szinten naplózza az üzeneteket.
  • Critical: Olyan naplók, amelyek egy helyreállíthatatlan alkalmazást vagy rendszer összeomlását, vagy azonnali figyelmet igénylő katasztrofális hibát írnak le.
  • Error: Azt jelzi, hogy valami hiba történt, és hiba keletkezett. Hibakeresésre és problémák azonosítására szolgál.
  • Warning: Nem feltétlenül történt hiba vagy meghibásodás, de ezek diagnosztikai célokat szolgálnak, valamint a problémák pontos azonosítására valók.
  • Informational: Az MSAL olyan eseményeket naplóz, amelyek nem feltétlenül hibakeresésre szolgálnak.
  • Verbose (Alapértelmezett): Az MSAL naplózza a kódtár viselkedésének teljes részleteit.

Note

Nem minden naplószint érhető el az összes MSAL SDK-hoz.

Személyes és szervezeti adatok

Alapértelmezés szerint az MSAL-naplózó nem rögzíti a bizalmas személyes vagy szervezeti adatokat. A kódtár lehetővé teszi a személyes és szervezeti adatok naplózását, ha úgy dönt, hogy ezt teszi.

Az alábbi szakaszok további részleteket nyújtanak az alkalmazás MSAL-hibanaplózásáról.

MSAL Java naplózáshoz

A Java-hoz készült MSAL lehetővé teszi, hogy az alkalmazásban már használt naplózó könyvtárat használja, feltéve, hogy az kompatibilis a Simple Logging Facade for Java (SLF4J) rendszerrel. A Java MSAL az SLF4J-t használja egyszerű absztrakcióként különböző naplózási keretrendszerekhez, például java.util.logging, Logback és Log4j. Az SLF4J lehetővé teszi a felhasználó számára, hogy üzembe helyezéskor csatlakoztassa a kívánt naplózási keretrendszert, és az üzembe helyezéskor automatikusan kapcsolódjon a logbackhez. Az MSAL-naplók a konzolra lesznek írva. Ez a cikk bemutatja, hogyan engedélyezheti az MSAL4J-naplózást a Spring Boot-webalkalmazások bejelentkezési keretrendszerével.

  1. A naplózás megvalósításához vegye fel a logback csomagot a pom.xml fájlba.

    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.3</version>
    </dependency>
    
  2. Lépjen a resources mappára, és adjon hozzá egy nevű logback.xmlfájlt, és szúrja be a következő kódot. Ezzel naplókat fűz a konzolhoz. A hozzáfűzőt class módosíthatja úgy, hogy naplókat írjon egy fájlba, adatbázisba vagy tetszőleges hozzáfűzőbe.

    <?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>
    
  3. Állítsa a logging.config tulajdonságot a logback.xml fájl helyére a fő metódus előtt. Navigáljon a(z) MsalWebSampleApplication.java elemhez, és adja hozzá a következő kódot a MsalWebSampleApplication nyilvános osztályhoz.

    @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);
        }
    }
    

A bérlőben külön alkalmazásregisztrációkra lesz szüksége a webalkalmazáshoz és a webes API-hoz. Az alkalmazásregisztrációhoz és a webes API-hatókör közzétételéhez kövesse a felhasználók hitelesítését és webes API-kat hívó webalkalmazás forgatókönyvének lépéseit.

Az egyéb naplózási keretrendszerekhez való kötéssel kapcsolatos utasításokért tekintse meg az SLF4J dokumentációját.

Személyes és szervezeti információk

Az MSAL naplózása alapértelmezés szerint nem rögzít vagy naplóz személyes vagy szervezeti adatokat. Az alábbi példában a személyes vagy szervezeti adatok naplózása alapértelmezés szerint ki van kapcsolva:

PublicClientApplication app2 = PublicClientApplication.builder(PUBLIC_CLIENT_ID)
        .authority(AUTHORITY)
        .build();

Kapcsolja be a személyes és szervezeti adatok naplózását az ügyfélalkalmazás-szerkesztő beállításával logPii() . Ha bekapcsolja a személyes vagy szervezeti adatok naplózását, az alkalmazásnak felelősséget kell vállalnia a rendkívül bizalmas adatok biztonságos kezeléséért és a jogszabályi követelményeknek való megfelelésért.

Az alábbi példában a személyes vagy szervezeti adatok naplózása engedélyezve van:

PublicClientApplication app2 = PublicClientApplication.builder(PUBLIC_CLIENT_ID)
        .authority(AUTHORITY)
        .logPii(true)
        .build();

Következő lépések

További kódmintákért tekintse meg Microsoft Identitásplatform kódmintákat.