Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Microsoft Authentication Library (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, çeşitli günlükleme ayrıntı düzeyleri sunar:
- LogAlways: Bu günlükleme düzeyinde düzey tabanlı filtreleme yapılmaz. Tüm düzeylerdeki günlük mesajları kaydedilecektir.
- 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ı: Bu, mutlaka bir hata ya da başarısızlık olduğu anlamına gelmez; ancak tanılama yapmak ve sorunların kaynağını tam olarak belirlemek için 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.
Note
Tüm MSAL SDK’ları için tüm günlükleme düzeyleri mevcut değildir.
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.
iOS ve macOS için MSAL logging-ObjC
MSAL günlüğünü yakalamak için bir geri çağırma ayarlayın ve bunu kendi uygulamanızın günlüğüne dahil edin. Geri çağırma işlevinin imzası şu şekildedir:
/*!
The LogCallback block for the MSAL logger
@param level The level of the log message
@param message The message being logged
@param containsPII If the message might contain Personally Identifiable Information (PII)
this will be true. Log messages possibly containing PII will not be
sent to the callback unless PIllLoggingEnabled is set to YES on the
logger.
*/
typedef void (^MSALLogCallback)(MSALLogLevel level, NSString *message, BOOL containsPII);
Örneğin:
[MSALGlobalConfig.loggerConfig setLogCallback:^(MSALLogLevel level, NSString *message, BOOL containsPII)
{
if (!containsPII)
{
#if DEBUG
// IMPORTANT: MSAL logs may contain sensitive information. Never output MSAL logs with NSLog, or print, directly unless you're running your application in debug mode. If you're writing MSAL logs to file, you must store the file securely.
NSLog(@"MSAL log: %@", message);
#endif
}
}];
Kişisel veri
MSAL varsayılan olarak kişisel verileri yakalamaz veya günlüğe kaydetmez. Kitaplık, uygulama geliştiricilerinin bunu MSALLogger sınıfındaki bir özellik aracılığıyla açmasına olanak tanır. uygulamasını açarak pii.Enabled, uygulama son derece hassas verileri güvenli bir şekilde işleme ve mevzuat gereksinimlerini takip etme sorumluluğunu üstlenir.
// By default, the `MSALLogger` doesn't capture any PII
// PII will be logged
MSALGlobalConfig.loggerConfig.piiEnabled = YES;
// PII will NOT be logged
MSALGlobalConfig.loggerConfig.piiEnabled = NO;
Günlük düzeyleri
iOS ve macOS için MSAL kullanarak günlüğe kaydetme düzeyini ayarlamak için aşağıdaki değerlerden birini kullanın:
| Level | Description |
|---|---|
MSALLogLevelNothing |
Tüm günlüklemeyi devre dışı bırak |
MSALLogLevelError |
Varsayılan düzey, bilgileri yalnızca hatalar oluştuğunda yazdırır |
MSALLogLevelWarning |
Warnings |
MSALLogLevelInfo |
Parametreler ve çeşitli anahtarlık işlemleriyle kitaplık giriş noktaları |
MSALLogLevelVerbose |
API izleme |
Örneğin:
MSALGlobalConfig.loggerConfig.logLevel = MSALLogLevelVerbose;
Günlük iletisi biçimi
MSAL günlük iletilerinin ileti bölümü şu biçimdedir: TID = <thread_id> MSAL <sdk_ver> <OS> <OS_ver> [timestamp - correlation_id] message
Örneğin:
TID = 551563 MSAL 0.2.0 iOS Sim 12.0 [2018-09-24 00:36:38 - 36764181-EF53-4E4E-B3E5-16FE362CFC44] acquireToken returning with error: (MSALErrorDomain, -42400) User cancelled the authorization session.
Bağıntı kimlikleri ve zaman damgaları sağlamak, sorunları izlemek için yararlıdır. Zaman damgası ve bağıntı kimliği bilgileri günlük iletisinde bulunur. Bunları elde etmek için tek güvenilir kaynak MSAL günlükleme iletileridir.
Sonraki Adımlar
Daha fazla kod örneği için bkz. Microsoft kimlik platformu kod örnekleri.