MSAL.js 中的記錄
Microsoft 驗證連結庫 (MSAL) 應用程式會產生記錄訊息,以協助診斷問題。 應用程式可以使用幾行程式代碼來設定記錄,並自定義控制詳細數據層級,以及是否記錄個人和組織數據。 建議您建立 MSAL 記錄實作,並為使用者提供在發生驗證問題時提交記錄的方式。
記錄層級
MSAL 提供數個層級的記錄詳細資料:
- LogAlways:此記錄層級上不會進行層級篩選。 將會記錄所有層級的記錄訊息。
- 重大:描述無法復原的應用程式或系統當機的記錄,或需要立即注意的災難性失敗。
- 錯誤:表示發生錯誤併產生錯誤。 用於偵錯和識別問題。
- 警告:不一定發生錯誤或失敗,但適用於診斷和找出問題。
- 資訊:MSAL 會記錄用於資訊用途的事件,不一定用於偵錯。
- 詳細資訊(預設值):MSAL 會記錄連結庫行為的完整詳細數據。
注意
並非所有記錄層級都適用於所有 MSAL SDK
個人和組織數據
根據預設,MSAL 記錄器不會擷取任何高度敏感的個人或組織數據。 如果您決定這麼做,連結庫會提供啟用記錄個人和組織數據的選項。
下列各節提供應用程式 MSAL 錯誤記錄的詳細數據。
在 MSAL.js 中設定記錄
在設定期間傳遞loggerOptions物件來建立 PublicClientApplication
實例,以啟用MSAL.js (JavaScript) 中的記錄。 唯一必要的組態參數是應用程式的用戶端標識碼。 其他所有專案都是選擇性的,但可能需要視您的租使用者和應用程式模型而定。
loggerOptions 物件具有下列屬性:
loggerCallback
:開發人員可以提供的回調函式,以自定義方式處理 MSAL 語句的記錄。 根據您想要重新導向記錄的方式,實作 函loggerCallback
式。 loggerCallback 函式具有下列格式(level: LogLevel, message: string, containsPii: boolean): void
- 支援的記錄層級包括:
Error
、Warning
、Info
、 和Verbose
。 預設值為Info
。
- 支援的記錄層級包括:
piiLoggingEnabled
(選擇性):如果設定為 true,則會記錄個人和組織數據。 根據預設,這是 false,因此您的應用程式不會記錄個人資料。 個人資料記錄永遠不會寫入默認輸出,例如 Console、Logcat 或 NSLog。
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
},
},
};
下一步
如需更多程式代碼範例,請參閱 Microsoft 身分識別平台 程式代碼範例。