MSAL.js’de oturum açma

Microsoft Kimlik Doğrulama Kitaplığı (MSAL) uygulamaları sorunları tanılamaya yardımcı olabilecek günlük iletileri oluşturur. Bir uygulama birkaç kod satırıyla günlüğe kaydetmeyi yapılandırabilir ve ayrıntı düzeyi ile kişisel ve kuruluş verilerinin günlüğe kaydedilip kaydedilmediği üzerinde özel denetime sahip olabilir. Bir MSAL günlük uygulaması oluşturmanızı ve kullanıcıların kimlik doğrulaması sorunları olduğunda günlük göndermeleri için bir yol sağlamanızı öneririz.

Günlük düzeyleri

MSAL birkaç günlük ayrıntı düzeyi sağlar:

  • LogAlways: Bu günlük düzeyinde düzey filtrelemesi yapılmaz. Tüm düzeylerdeki günlük iletileri günlüğe kaydedilir.
  • Kritik: Kurtarılamayan bir uygulamayı veya sistem kilitlenmesini ya da acil dikkat gerektiren yıkıcı bir hatayı açıklayan günlükler.
  • Hata: Bir sorun oluştuğunu ve bir hata oluşturulduğunu gösterir. Hata ayıklama ve sorunları tanımlama için kullanılır.
  • Uyarı: Hata veya hata olması şart değildir, ancak tanılama ve sorunları belirleme amacıyla tasarlanmıştır.
  • Bilgilendirilme: MSAL, hata ayıklamaya yönelik olması gerekmeyen bilgilendirme amaçlı olayları günlüğe kaydeder.
  • Ayrıntılı (Varsayılan): MSAL, kitaplık davranışının tüm ayrıntılarını günlüğe kaydeder.

Not

Tüm MSAL SDK'ları için tüm günlük düzeyleri kullanılamaz

Kişisel ve kurumsal veriler

Varsayılan olarak, MSAL günlükçü son derece hassas kişisel veya kuruluş verilerini yakalamaz. Kitaplık, siz karar verirseniz kişisel ve kurumsal verilerin günlüğe kaydedilmesini etkinleştirme seçeneği sunar.

Aşağıdaki bölümlerde uygulamanız için MSAL hata günlüğü hakkında daha fazla ayrıntı sağlanır.

MSAL.js'de günlüğe kaydetmeyi yapılandırma

Örnek oluşturma PublicClientApplication yapılandırması sırasında bir loggerOptions nesnesi geçirerek MSAL.js (JavaScript) içinde günlüğe kaydetmeyi etkinleştirin. Gereken tek yapılandırma parametresi, uygulamanın istemci kimliğidir. Diğer her şey isteğe bağlıdır, ancak kiracınıza ve uygulama modelinize bağlı olarak gerekli olabilir.

loggerOptions nesnesi aşağıdaki özelliklere sahiptir:

  • loggerCallback: MSAL deyimlerinin günlüğe kaydedilmesini özel bir şekilde işlemek için geliştirici tarafından sağlanabilir bir Geri Çağırma işlevi. Günlükleri loggerCallback nasıl yeniden yönlendirmek istediğinize bağlı olarak işlevini uygulayın. loggerCallback işlevi aşağıdaki biçime sahiptir (level: LogLevel, message: string, containsPii: boolean): void
    • Desteklenen günlük düzeyleri şunlardır: Error, Warning, Infove Verbose. Varsayılan değer: Info.
  • piiLoggingEnabled (isteğe bağlı): true olarak ayarlanırsa kişisel ve kurumsal verileri günlüğe kaydeder. Varsayılan olarak bu yanlıştır, böylece uygulamanız kişisel verileri günlüğe kaydetmez. Kişisel veri günlükleri hiçbir zaman Console, Logcat veya NSLog gibi varsayılan çıkışlara yazılmıyor.
import msal from "@azure/msal-browser"

const msalConfig = {
    auth: {
        clientId: "enter_client_id_here",
        authority: "https://login.microsoftonline.com/common",
        knownAuthorities: [],
        cloudDiscoveryMetadata: "",
        redirectUri: "enter_redirect_uri_here",
        postLogoutRedirectUri: "enter_postlogout_uri_here",
        navigateToLoginRequestUrl: true,
        clientCapabilities: ["CP1"]
    },
    cache: {
        cacheLocation: "sessionStorage",
        storeAuthStateInCookie: false,
        secureCookies: false
    },
    system: {
        loggerOptions: {
            logLevel: msal.LogLevel.Verbose,
            loggerCallback: (level, message, containsPii) => {
                if (containsPii) {
                    return;
                }
                switch (level) {
                    case msal.LogLevel.Error:
                        console.error(message);
                        return;
                    case msal.LogLevel.Info:
                        console.info(message);
                        return;
                    case msal.LogLevel.Verbose:
                        console.debug(message);
                        return;
                    case msal.LogLevel.Warning:
                        console.warn(message);
                        return;
                }
            },
            piiLoggingEnabled: false
        },
    },
};

Sonraki adımlar

Daha fazla kod örneği için bkz. Microsoft kimlik platformu kod örnekleri.