Opcje konfiguracji uwierzytelniania

Przed rozpoczęciem tutaj upewnij się, że rozumiesz, jak zainicjować obiekt aplikacji.

Biblioteka biblioteki MSAL zawiera zestaw opcji konfiguracji, które mogą służyć do dostosowywania zachowania przepływów uwierzytelniania. Te opcje można ustawić w konstruktorze PublicClientApplication obiektu lub w ramach interfejsów API żądań. W tym miejscu opisano obiekt konfiguracji, który można przekazać do konstruktora PublicClientApplication .

Korzystanie z obiektu konfiguracji

Obiekt konfiguracji ma następującą strukturę i może zostać przekazany do konstruktora PublicClientApplication . Jedynym wymaganym parametrem konfiguracji jest identyfikator klienta aplikacji. Wszystko inne jest opcjonalne, ale może być wymagane w zależności od dzierżawy i modelu aplikacji.

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",
    },
    system: {
        loggerOptions: {
            loggerCallback: (
                level: LogLevel,
                message: string,
                containsPii: boolean
            ): void => {
                if (containsPii) {
                    return;
                }
                switch (level) {
                    case LogLevel.Error:
                        console.error(message);
                        return;
                    case LogLevel.Info:
                        console.info(message);
                        return;
                    case LogLevel.Verbose:
                        console.debug(message);
                        return;
                    case LogLevel.Warning:
                        console.warn(message);
                        return;
                }
            },
            piiLoggingEnabled: false,
        },
        windowHashTimeout: 60000,
        iframeHashTimeout: 6000,
        loadFrameTimeout: 0,
        protocolMode: "AAD"
    },
    telemetry: {
        application: {
            appName: "My Application",
            appVersion: "1.0.0",
        },
    },
};

const msalInstance = new PublicClientApplication(msalConfig);

Opcje konfiguracji

Opcje konfiguracji uwierzytelniania

Option Description Forma Wartość domyślna
clientId Identyfikator aplikacji. Znajduje się w okienku rejestracji aplikacji Azure Portal Identyfikator UUID/IDENTYFIKATOR GUID Żaden. Ten parametr jest wymagany w celu wykonania jakichkolwiek akcji przez bibliotekę MSAL.
authority Identyfikator URI dzierżawy do uwierzytelniania i autoryzacji. Zazwyczaj przyjmuje formę https://{uri}/{tenantid} Ciąg w formacie identyfikatora URI z dzierżawą — https://{uri}/{tenantid} https://login.microsoftonline.com/common
knownAuthorities Tablica identyfikatorów URI, które są znane jako prawidłowe. Używane w scenariuszach B2C. Tablica ciągów w formacie identyfikatora URI Pusta tablica []
cloudDiscoveryMetadata Ciąg zawierający odpowiedź odnajdywania w chmurze. Używane w scenariuszach Microsoft Entra. ciąg Pusty ciąg ""
authorityMetadata Ciąg zawierający odpowiedź punktu końcowego .well-known/openid-configuration. ciąg Pusty ciąg ""
redirectUri Identyfikator URI, do którego jest wysyłana odpowiedź kodu autoryzacji. Niezależnie od określonej tutaj lokalizacji musi być dostępna biblioteka BIBLIOTEKi MSAL do obsługi odpowiedzi. Ciąg w formacie bezwzględnym lub względnym identyfikatora URI Strona żądania logowania (window.location.href ze strony, która złożyła żądanie uwierzytelnienia)
postLogoutRedirectUri Identyfikator URI, który jest przekierowywany do po wywołaniu logout(). Ciąg w formacie bezwzględnym lub względnym identyfikatora URI. Przekaż null , aby wyłączyć przekierowanie wylogowywanie. Strona żądania logowania (window.location.href ze strony, która złożyła żądanie uwierzytelnienia)
navigateToLoginRequestUrl Jeśli trueprogram przejdzie z powrotem do oryginalnej lokalizacji żądania przed przetworzeniem odpowiedzi kodu autoryzacji. Jeśli właściwość redirectUri jest taka sama jak oryginalna lokalizacja żądania, ta flaga powinna być ustawiona na wartość false. Boolean true
clientCapabilities Tablica możliwości, które mają być dodawane do wszystkich żądań sieciowych xms_cc w ramach żądania oświadczeń Tablica ciągów znaków []
azureCloudOptions Zdefiniowany zestaw opcji chmury platformy Azure dla deweloperów domyślnie ustawiony na określone władze w chmurze. AzureCloudOptions AzureCloudInstance.None
skipAuthorityMetadataCache Flaga do wybrania, czy podczas inicjowania urzędu ma być używana lokalna pamięć podręczna metadanych. Pamięć podręczna metadanych jest używana, jeśli nie podano metadanych urzędu i przed wykonaniem wywołania sieciowego metadanych. Boolean false
onRedirectNavigate Wywołanie zwrotne, które przekazano adres URL biblioteki MSAL, przejdzie do w przepływach przekierowania. Powrót w wywołaniu false zwrotnym zatrzymuje nawigację. Funkcja- (url: string) => boolean \| void undefined
instanceAware Flaga wskazująca, czy usługa STS powinna wysyłać dodatkowe parametry, aby określić, skąd mają być pobierane tokeny. Boolean false
isMcp Jeśli trueparametr resource jest wymagany dla wszystkich żądań tokenu. Służy do przepływów protokołu MCP (Model Context Protocol). Boolean false

Opcje konfiguracji pamięci podręcznej

Option Description Forma Wartość domyślna
cacheLocation Lokalizacja pamięci podręcznej tokenów w przeglądarce. Wartość ciągu, która musi być jedną z następujących wartości: "sessionStorage", , "localStorage""memoryStorage" sessionStorage
temporaryCacheLocation (Przestarzałe) Lokalizacja tymczasowej pamięci podręcznej w przeglądarce. Ta opcja powinna zostać zmieniona tylko w przypadku określonych przypadków brzegowych. Aby uzyskać więcej informacji, zobacz buforowanie. Wartość ciągu, która musi być jedną z następujących wartości: "sessionStorage", , "localStorage""memoryStorage" sessionStorage
storeAuthStateInCookie (Przestarzałe) Jeśli to prawda, przechowuje elementy pamięci podręcznej w plikach cookie, a także w pamięci podręcznej przeglądarki. Wcześniej była używana do Internet Explorer zgodności. Boolean false
secureCookies (Przestarzałe) Jeśli wartość true i storeAuthStateInCookie jest również włączona, biblioteka MSAL dodaje flagę Secure do pliku cookie przeglądarki, aby można je było wysyłać tylko za pośrednictwem protokołu HTTPS. Boolean false
cacheMigrationEnabled Jeśli to prawda, wpisy pamięci podręcznej ze starszych wersji biblioteki MSAL są aktualizowane tak, aby były zgodne ze schematem najnowszej pamięci podręcznej podczas uruchamiania. Jeśli aplikacja nie została ostatnio zaktualizowana do nowej wersji MSAL.js, możesz bezpiecznie wyłączyć tę funkcję. Jeśli stare wpisy pamięci podręcznej nie są migrowane, może to spowodować chybienie pamięci podręcznej podczas próby pobrania kont lub tokenów, a użytkownicy, których to dotyczy, mogą wymagać ponownego uwierzytelnienia, aby uzyskać aktualną datę. Boolean true w przypadku korzystania z elementu localStorage, false w przeciwnym razie
claimsBasedCachingEnabled Jeśli truetokeny dostępu są buforowane w ramach klucza zawierającego skrót żądanego ciągu oświadczeń, co spowoduje chybienie pamięci podręcznej i nowe żądanie tokenu sieciowego, gdy to samo żądanie tokenu zostanie wykonane z różnymi lub brakującymi oświadczeniami. Jeśli ustawiono falsewartość , tokeny są buforowane bez oświadczeń, ale wszystkie żądania zawierające oświadczenia przechodzą do sieci i zastępują wszystkie wcześniej buforowane tokeny z tymi samymi zakresami. Boolean false

Note

Opcja temporaryCacheLocation została wycofana w ostatnich wersjach przeglądarki MSAL i może zostać usunięta w przyszłej wersji głównej. Nie należy polegać na tej opcji dla nowych implementacji.

Note

Opcje storeAuthStateInCookie i secureCookies zostały wycofane w ostatnich wersjach przeglądarki MSAL. Te opcje były używane głównie na potrzeby zgodności Internet Explorer, która nie jest już obsługiwana. Mogą zostać usunięte w przyszłej wersji głównej.

Aby uzyskać więcej informacji , zobacz Buforowanie w usłudze MSAL .

Opcje konfiguracji systemu

Option Description Forma Wartość domyślna
loggerOptions Obiekt konfiguracji dla rejestratora. Zobacz poniżej. Zobacz poniżej.
windowHashTimeout Limit czasu (w milisekundach) oczekuje na rozwiązywanie problemów z operacjami wyskakujących okienek. liczba całkowita (milisekundy) 60000
iframeHashTimeout Limit czasu (w milisekundach) oczekuje na rozwiązanie operacji elementu iframe. liczba całkowita (milisekundy) 6000
loadFrameTimeout Limit czasu w milisekundach, aby poczekać na rozwiązanie operacji iframe/wyskakujących okienek. Jeśli zostanie podana, ustawi wartości domyślne dla windowHashTimeout i iframeHashTimeout. liczba całkowita (milisekundy) undefined
navigateFrameWait Opóźnienie w milisekundach oczekiwania na załadowanie elementu iframe w oknie. liczba całkowita (milisekundy) W programie IE lub Edge: 500, we wszystkich innych przeglądarkach: 0
asyncPopups (Przestarzałe — użyj navigatePopups zamiast tego). Określa, czy wyskakujące okienka są otwierane asynchronicznie. Po ustawieniu falsewartości , puste wyskakujące okienka są otwierane przed wszystkimi innymi zdarzeniami. Po ustawieniu truena wartość wyskakujące okienka są otwierane podczas tworzenia żądania sieciowego. Boolean false
navigatePopups Ustawia, czy wyskakujące okienka są otwierane, a następnie przechodzi do niej później. Po ustawieniu truewartości na , zostaną otwarte puste wyskakujące okienka, a następnie przejdź do domeny logowania. Po ustawieniu falsena wartość wyskakujące okienka są otwierane bezpośrednio w domenie logowania. Można to ustawić false dla scenariuszy, w których about:blank nie jest obsługiwana, takich jak aplikacje klasyczne lub progresywne aplikacje internetowe. Boolean true
allowRedirectInIframe Domyślnie biblioteka MSAL nie zezwala na inicjowanie operacji przekierowania, gdy aplikacja znajduje się wewnątrz elementu iframe. Ustaw tę flagę, aby true usunąć tę kontrolę. Boolean false
cryptoOptions Obiekt konfiguracji dla operacji kryptograficznych w przeglądarce. Zobacz Opcje konfiguracji kryptograficznej Zobacz Opcje konfiguracji kryptograficznej
pollIntervalMilliseconds Interwał czasu w milisekundach między sondami skrótu adresu URL wyskakującego podczas uwierzytelniania. liczba całkowita (milisekundy) 30
protocolMode Wyliczenie reprezentujące tryb protokołu do użycia. Jeśli "AAD"funkcja MSAL działa w punktach końcowych zgodnych ze standardem OIDC w wersji 2; jeśli "OIDC"funkcja działa w innych punktach końcowych zgodnych ze standardem OIDC. ciąg "AAD"

Opcje konfiguracji rejestratora

Option Description Forma Wartość domyślna
loggerCallback Funkcja wywołania zwrotnego, która obsługuje rejestrowanie instrukcji BIBLIOTEKI MSAL. Funkcja- loggerCallback: (level: LogLevel, message: string, containsPii: boolean): void Zobacz powyżej.
piiLoggingEnabled Jeśli to prawda, dane osobowe (PII) są uwzględniane w dziennikach. Boolean false

Opcje konfiguracji kryptograficznej

Option Description Forma Wartość domyślna
useMsrCrypto Czy używać kryptografii MSR , jeśli jest dostępna w przeglądarce (i inne interfejsy kryptograficzne nie są dostępne). Boolean false
entropy Kryptograficznie silne wartości losowe używane do rozmieszczania biblioteki MSR Crypto (np. crypto.randomBytes(48) z węzła). Zalecane jest 48 bitów entropii. Wymagane, jeśli useMsrCrypto jest włączona. Uint8Array undefined

Opcje konfiguracji telemetrii

Option Description Forma Wartość domyślna
application Opcje telemetrii dla aplikacji korzystających z MSAL.js Zobacz poniżej Zobacz poniżej
client Wystąpienie klienta wydajności telemetrii IPerformanceClient StubPerformanceClient

Telemetria aplikacji

Option Description Forma Wartość domyślna
appName Unikatowa nazwa ciągu aplikacji ciąg Pusty ciąg ""
appVersion Wersja aplikacji przy użyciu biblioteki MSAL ciąg Pusty ciąg ""