Kimlik doğrulama yapılandırma seçenekleri

Buradan başlamadan önce bir uygulama nesnesini başlatmayı anladığınızdan emin olun.

MSAL kitaplığında, kimlik doğrulama akışlarınızın davranışını özelleştirmek için kullanılabilecek bir dizi yapılandırma seçeneği vardır. Bu seçenekler, nesnenin oluşturucusunda veya istek API'lerininPublicClientApplication bir parçası olarak ayarlanabilir. Burada oluşturucuya PublicClientApplication geçirilebilen yapılandırma nesnesini açıklayacağız.

Yapılandırma nesnesini kullanma

Yapılandırma nesnesi aşağıdaki yapıya sahiptir ve oluşturucuya PublicClientApplication geçirilebilir. 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.

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

Yapılandırma Seçenekleri

Kimlik Doğrulama Yapılandırması Seçenekleri

Seçenek Description Format Varsayılan Değer
clientId Uygulamanızın uygulama kimliği. Azure portal uygulama kaydı bölmenizde bulunabilir UUID/GUID Yok. MSAL'nin herhangi bir eylem gerçekleştirmesi için bu parametre gereklidir.
authority Kimlik doğrulaması ve yetkilendirme için kiracının URI'si. Genellikle şu şekildedir: https://{uri}/{tenantid} Kiracı ile URI biçiminde dize - https://{uri}/{tenantid} https://login.microsoftonline.com/common
knownAuthorities Geçerli olduğu bilinen bir URI dizisi. B2C senaryolarında kullanılır. URI biçiminde dize dizisi Boş dizi []
cloudDiscoveryMetadata Bulut bulma yanıtını içeren bir dize. Microsoft Entra senaryolarında kullanılır. Dize Boş dize ""
authorityMetadata .well-known/openid-configuration uç noktası yanıtını içeren bir dize. Dize Boş dize ""
redirectUri Yetkilendirme kodu yanıtının geri gönderildiği URI. Burada belirtilen konum, yanıtı işlemek için kullanılabilir MSAL kitaplığına sahip olmalıdır. Mutlak veya göreli URI biçiminde dize Oturum açma isteği sayfası (window.location.href kimlik doğrulama isteğinde bulunan sayfanın)
postLogoutRedirectUri Logout() çağrısı yapıldıktan sonra yeniden yönlendirilen URI. Mutlak veya göreli URI biçiminde dize. Oturum kapatma sonrası yeniden yönlendirmesini devre dışı bırakmak için geçiş null yapın. Oturum açma isteği sayfası (window.location.href kimlik doğrulama isteğinde bulunan sayfanın)
navigateToLoginRequestUrl ise true, yetkilendirme kodu yanıtını işlemeden önce özgün istek konumuna geri döner. redirectUri özgün istek konumuyla aynıysa, bu bayrak false olarak ayarlanmalıdır. Boolean true
clientCapabilities Talep isteğinin bir parçası xms_cc olarak tüm ağ isteklerine eklenecek özellikler dizisi Dizeler dizisi []
azureCloudOptions Geliştiricilerin varsayılan olarak belirli bulut yetkililerine sahip olması için tanımlanmış azure bulut seçenekleri kümesi. AzureCloudOptions AzureCloudInstance.None
skipAuthorityMetadataCache Yetkili başlatma sırasında yerel meta veri önbelleğinin kullanılıp kullanılmayacağını seçen bir bayrak. Yetkili meta verileri sağlanmamışsa ve meta veriler için bir ağ çağrısı yapılmadan önce meta veri önbelleği kullanılır. Boolean false
onRedirectNavigate MSAL URL'sine geçirilen bir geri arama yeniden yönlendirme akışlarında gider. false Geri arama döndürülerek gezinti durdurulur. Işlev- (url: string) => boolean \| void undefined
instanceAware STS'nin belirteçlerin nereden alınacağını belirtmek için ek parametreleri geri gönderip göndermeyeceğini gösteren bir bayrak. Boolean false
isMcp ise true, tüm belirteç isteklerinde bir resource parametre gereklidir. Model Bağlam Protokolü (MCP) akışları için kullanılır. Boolean false

Önbellek Yapılandırma Seçenekleri

Seçenek Description Format Varsayılan Değer
cacheLocation Belirteç önbelleğinin tarayıcıda konumu. Aşağıdakilerden biri olması gereken dize değeri: "sessionStorage", "localStorage", "memoryStorage" sessionStorage
temporaryCacheLocation (Kullanım dışı) Geçici önbelleğin tarayıcıda konumu. Bu seçenek yalnızca belirli kenar durumları için değiştirilmelidir. Daha fazla bilgi için bkz. önbelleğe alma. Aşağıdakilerden biri olması gereken dize değeri: "sessionStorage", "localStorage", "memoryStorage" sessionStorage
storeAuthStateInCookie (Kullanım dışı) Doğruysa, önbellek öğelerini tarayıcı önbelleğinin yanı sıra tanımlama bilgilerinde de depolar. Daha önce Internet Explorer uyumluluk için kullanılıyordu. Boolean false
secureCookies (Kullanım dışı) True ise ve storeAuthStateInCookie ayrıca etkinleştirilirse, MSAL bayrağı tarayıcı tanımlama bilgisine ekler Secure , böylece yalnızca HTTPS üzerinden gönderilebilir. Boolean false
cacheMigrationEnabled True ise, MSAL'nin eski sürümlerinden önbellek girdileri başlangıçtaki en son önbellek şemasına uyacak şekilde güncelleştirilir. Uygulamanız yakın zamanda yeni bir MSAL.jssürümüne güncelleştirilmemişse, bunu güvenle kapatabilirsiniz. Eski önbellek girdileri geçirilmezse, hesaplar veya belirteçler alınmaya çalışılırken önbellek kaçırılmasına neden olabilir ve etkilenen kullanıcıların güncel olması için yeniden kimlik doğrulaması yapmaları gerekebilir. Boolean true kullanırken localStorage, false aksi takdirde
claimsBasedCachingEnabled ise true, erişim belirteçleri istenen talep dizesinin karması içeren bir anahtar altında önbelleğe alınır ve aynı belirteç isteği farklı veya eksik taleplerle yapıldığında önbellek kaçırma ve yeni ağ belirteci isteğiyle sonuçlanır. olarak ayarlanırsa falsebelirteçler talep olmadan önbelleğe alınır, ancak talep içeren tüm istekler ağa gider ve aynı kapsamlara sahip daha önce önbelleğe alınmış belirteçlerin üzerine yazar. Boolean false

Note

Bu temporaryCacheLocation seçenek MSAL Browser'ın son sürümlerinde kullanım dışı bırakılmıştır ve gelecekteki bir ana sürümde kaldırılabilir. Yeni uygulamalar için bu seçeneğe güvenmemelisiniz.

Note

storeAuthStateInCookie ve secureCookies seçenekleri MSAL Browser'ın son sürümlerinde kullanım dışı bırakılmıştır. Bu seçenekler öncelikli olarak artık desteklenmeyen Internet Explorer uyumluluk için kullanılmıştır. Bunlar gelecekteki önemli bir sürümde kaldırılabilir.

Daha fazla bilgi için bkz. MSAL'de önbelleğe alma .

Sistem Yapılandırma Seçenekleri

Seçenek Description Format Varsayılan Değer
loggerOptions Günlükçü için yapılandırma nesnesi. Aşağıya bakın. Aşağıya bakın.
windowHashTimeout Açılan işlemlerin çözülmesini beklemek için milisaniye cinsinden zaman aşımı. tamsayı (milisaniye) 60000
iframeHashTimeout iframe işlemlerinin çözülmesini beklemek için milisaniye cinsinden zaman aşımı. tamsayı (milisaniye) 6000
loadFrameTimeout iframe/açılır pencere işlemlerinin çözümlenmesi için milisaniye cinsinden zaman aşımı. Sağlanırsa ve iframeHashTimeoutiçin windowHashTimeout varsayılan değerleri ayarlar. tamsayı (milisaniye) undefined
navigateFrameWait iframe'in pencerede yüklenmesini beklemek için milisaniye cinsinden gecikme. tamsayı (milisaniye) IE veya Edge'de: 500, diğer tüm tarayıcılarda: 0
asyncPopups (Kullanım dışı — bunun yerine kullanın navigatePopups .) Açılır pencerelerin zaman uyumsuz olarak açılıp açılmayacağını ayarlar. olarak falseayarlandığında, başka bir şey olmadan önce boş açılır pencereler açılır. olarak trueayarlandığında, ağ isteği yapılırken açılır pencereler açılır. Boolean false
navigatePopups Açılır pencerelerin açılıp açılmayacağını ve daha sonraya gidip gitmeyeceğini ayarlar. olarak ayarlandığında true, boş açılır pencereler açılır ve oturum açma etki alanına gider. olarak falseayarlandığında açılır pencereler doğrudan oturum açma etki alanına açılır. Bu, masaüstü uygulamaları veya aşamalı web uygulamaları gibi desteklenmeyen senaryolar about:blank için olarak ayarlanabilirfalse. Boolean true
allowRedirectInIframe Varsayılan olarak, MSAL uygulama bir iframe içinde olduğunda yeniden yönlendirme işlemlerinin başlatılmasına izin vermez. Bu denetimi kaldırmak için bu bayrağı olarak true ayarlayın. Boolean false
cryptoOptions Tarayıcıda şifreleme işlemleri için yapılandırma nesnesi. Bkz . Şifreleme Yapılandırma Seçenekleri Bkz . Şifreleme Yapılandırma Seçenekleri
pollIntervalMilliseconds Kimlik doğrulaması sırasında açılan URL karması yoklamaları arasındaki milisaniye cinsinden süre aralığı. tamsayı (milisaniye) 30
protocolMode Kullanılacak protokol modunu temsil eden sabit listesi. ise "AAD", MSAL OIDC uyumlu AAD v2 uç noktaları üzerinde çalışır; ise "OIDC", diğer OIDC uyumlu uç noktalarda çalışır. Dize "AAD"

Günlükçü Yapılandırma Seçenekleri

Seçenek Description Format Varsayılan Değer
loggerCallback MSAL deyimlerinin günlüğe kaydedilmesini işleyen geri çağırma işlevi. İşlev - loggerCallback: (level: LogLevel, message: string, containsPii: boolean): void Yukarıya bakın.
piiLoggingEnabled Doğruysa, kişisel bilgiler (PII) günlüklere eklenir. Boolean false

Şifreleme Yapılandırma Seçenekleri

Seçenek Description Format Varsayılan Değer
useMsrCrypto MsR Crypto'nun tarayıcıda kullanılabiliyorsa kullanılıp kullanılmaymayacağı (ve diğer şifreleme arabirimlerinin kullanılamadığı). Boolean false
entropy MSR Şifrelemesini (örneğin Node'dan) tohumlamada kullanılan kriptografik olarak crypto.randomBytes(48) güçlü rastgele değerler. 48 bit entropi önerilir. Etkinse useMsrCrypto gereklidir. Uint8Array undefined

Telemetri Yapılandırma Seçenekleri

Seçenek Description Format Varsayılan Değer
application MSAL.js kullanan uygulamalar için telemetri seçenekleri Aşağıya bakın Aşağıya bakın
client Telemetri performansı istemci örneği IPerformanceClient StubPerformanceClient

Uygulama Telemetrisi

Seçenek Description Format Varsayılan Değer
appName Uygulamanın benzersiz dize adı Dize Boş dize ""
appVersion MSAL kullanan uygulamanın sürümü Dize Boş dize ""