Opzioni di configurazione dell'autenticazione

Prima di iniziare, assicurarsi di comprendere come inizializzare un oggetto app.

La libreria MSAL include un set di opzioni di configurazione che possono essere usate per personalizzare il comportamento dei flussi di autenticazione. Queste opzioni possono essere impostate nel costruttore dell'oggetto PublicClientApplication o come parte delle API di richiesta. Di seguito viene descritto l'oggetto di configurazione che può essere passato al PublicClientApplication costruttore.

Utilizzo dell'oggetto config

L'oggetto di configurazione ha la struttura seguente e può essere passato al PublicClientApplication costruttore. L'unico parametro di configurazione obbligatorio è l'ID client dell'applicazione. Tutto il resto è facoltativo, ma può essere necessario a seconda del tenant e del modello di applicazione.

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

Opzioni di configurazione

Opzioni di configurazione dell'autenticazione

Option Description Formato Valore predefinito
clientId ID app dell'applicazione. È disponibile nel riquadro di registrazione dell'app portale di Azure UUID/GUID Nessuno. Questo parametro è obbligatorio affinché MSAL esegua qualsiasi azione.
authority URI del tenant con cui eseguire l'autenticazione e l'autorizzazione. In genere assume la forma di https://{uri}/{tenantid} Stringa in formato URI con tenant - https://{uri}/{tenantid} https://login.microsoftonline.com/common
knownAuthorities Matrice di URI noti come validi. Usato negli scenari B2C. Matrice di stringhe in formato URI Matrice vuota []
cloudDiscoveryMetadata Stringa contenente la risposta di Cloud Discovery. Usato negli scenari di Microsoft Entra. Stringa Stringa vuota ""
authorityMetadata Stringa contenente la risposta dell'endpoint .well-known/openid-configuration. Stringa Stringa vuota ""
redirectUri URI a cui viene inviata la risposta al codice di autorizzazione. Qualsiasi percorso specificato qui deve avere la libreria MSAL disponibile per gestire la risposta. Stringa in formato URI assoluto o relativo Pagina richiesta di accesso (window.location.href della pagina che ha effettuato la richiesta di autenticazione)
postLogoutRedirectUri URI reindirizzato a dopo che viene effettuata una chiamata logout(). Stringa in formato URI assoluto o relativo. Passare null per disabilitare il reindirizzamento post disconnessione. Pagina richiesta di accesso (window.location.href della pagina che ha effettuato la richiesta di autenticazione)
navigateToLoginRequestUrl Se true, tornerà al percorso della richiesta originale prima di elaborare la risposta al codice di autorizzazione. redirectUri Se è uguale al percorso della richiesta originale, questo flag deve essere impostato su false. Boolean true
clientCapabilities Matrice di funzionalità da aggiungere a tutte le richieste di rete come parte della xms_cc richiesta di attestazioni Matrice di stringhe []
azureCloudOptions Set definito di opzioni cloud di Azure per gli sviluppatori per impostazione predefinita per le autorità cloud specifiche. AzureCloudOptions AzureCloudInstance.None
skipAuthorityMetadataCache Flag per scegliere se usare la cache dei metadati locale durante l'inizializzazione dell'autorità. La cache dei metadati viene usata se non vengono forniti metadati dell'autorità e prima che venga effettuata una chiamata di rete per i metadati. Boolean false
onRedirectNavigate Un callback che ha passato l'URL MSAL passerà a nei flussi di reindirizzamento. La restituzione false nel callback interrompe la navigazione. Funzione- (url: string) => boolean \| void undefined
instanceAware Flag che indica se il servizio token di sicurezza deve restituire parametri aggiuntivi per specificare da dove recuperare i token. Boolean false
isMcp Se true, è necessario un resource parametro in tutte le richieste di token. Usato per i flussi MCP (Model Context Protocol). Boolean false

Opzioni di configurazione della cache

Option Description Formato Valore predefinito
cacheLocation Posizione della cache dei token nel browser. Valore stringa che deve essere uno dei seguenti: "sessionStorage", "localStorage", "memoryStorage" sessionStorage
temporaryCacheLocation (Deprecato) Posizione della cache temporanea nel browser. Questa opzione deve essere modificata solo per casi limite specifici. Per altre informazioni, vedere Memorizzazione nella cache. Valore stringa che deve essere uno dei seguenti: "sessionStorage", "localStorage", "memoryStorage" sessionStorage
storeAuthStateInCookie (Deprecato) Se true, archivia gli elementi della cache nei cookie e nella cache del browser. È stato usato in precedenza per la compatibilità Internet Explorer. Boolean false
secureCookies (Deprecato) Se true e storeAuthStateInCookie è abilitato anche, MSAL aggiunge il Secure flag al cookie del browser in modo che possa essere inviato solo tramite HTTPS. Boolean false
cacheMigrationEnabled Se true, le voci della cache delle versioni precedenti di MSAL vengono aggiornate in modo che siano conformi allo schema della cache più recente all'avvio. Se l'applicazione non è stata aggiornata di recente a una nuova versione di MSAL.js, è possibile disattivarla in modo sicuro. Se non viene eseguita la migrazione delle voci della cache precedenti, potrebbe verificarsi un mancato riscontro nella cache quando si tenta di recuperare account o token e gli utenti interessati potrebbero dover ripetere l'autenticazione per aggiornarsi. Boolean truequando si usa , false in caso localStoragecontrario
claimsBasedCachingEnabled Se true, i token di accesso vengono memorizzati nella cache in una chiave contenente l'hash della stringa di attestazioni richiesta, causando un mancato riscontro nella cache e una nuova richiesta di token di rete quando viene effettuata la stessa richiesta di token con attestazioni diverse o mancanti. Se impostato su false, i token vengono memorizzati nella cache senza attestazioni, ma tutte le richieste contenenti attestazioni passano alla rete e sovrascrivono qualsiasi token memorizzato nella cache in precedenza con gli stessi ambiti. Boolean false

Note

L'opzione temporaryCacheLocation è stata deprecata nelle versioni recenti di MSAL Browser e potrebbe essere rimossa in una versione principale futura. Non è consigliabile basarsi su questa opzione per le nuove implementazioni.

Note

Le storeAuthStateInCookie opzioni e secureCookies sono state deprecate nelle versioni recenti di MSAL Browser. Queste opzioni sono state usate principalmente per la compatibilità Internet Explorer, che non è più supportata. Potrebbero essere rimossi in una versione principale futura.

Per altre informazioni, vedere Memorizzazione nella cache in MSAL .

Opzioni di configurazione del sistema

Option Description Formato Valore predefinito
loggerOptions Oggetto Config per logger. Vedere di seguito. Vedere di seguito.
windowHashTimeout Timeout in millisecondi per attendere la risoluzione delle operazioni popup. integer (millisecondi) 60000
iframeHashTimeout Timeout in millisecondi per attendere la risoluzione delle operazioni iframe. integer (millisecondi) 6000
loadFrameTimeout Timeout in millisecondi per attendere la risoluzione delle operazioni iframe/popup. Se specificato, imposta i valori predefiniti per windowHashTimeout e iframeHashTimeout. integer (millisecondi) undefined
navigateFrameWait Ritardo in millisecondi per attendere il caricamento dell'iframe nella finestra. integer (millisecondi) In Internet Explorer o Edge: 500, in tutti gli altri browser: 0
asyncPopups (Deprecato : usare navigatePopups invece. Imposta un valore che indica se i popup vengono aperti in modo asincrono. Quando è impostato su false, i popup vuoti vengono aperti prima di qualsiasi altra operazione. Quando è impostata truesu , i popup vengono aperti quando si effettua la richiesta di rete. Boolean false
navigatePopups Imposta un valore che indica se i popup vengono aperti e spostati in un secondo momento. Quando è impostato su true, i popup vuoti vengono aperti e quindi passano al dominio di accesso. Se impostato su false, i popup vengono aperti direttamente al dominio di accesso. Questa opzione può essere impostata su false per scenari in cui about:blank non è supportato, ad esempio app desktop o app Web progressive. Boolean true
allowRedirectInIframe Per impostazione predefinita, MSAL non consente l'avvio delle operazioni di reindirizzamento quando l'applicazione si trova all'interno di un iframe. Impostare questo flag su true per rimuovere questo controllo. Boolean false
cryptoOptions Oggetto config per le operazioni di crittografia nel browser. Vedere Opzioni di configurazione di crittografia Vedere Opzioni di configurazione di crittografia
pollIntervalMilliseconds Intervallo di tempo in millisecondi tra i polling dell'hash dell'URL popup durante l'autenticazione. integer (millisecondi) 30
protocolMode Enumerazione che rappresenta la modalità protocollo da utilizzare. Se "AAD", MSAL funziona negli endpoint AAD v2 conformi a OIDC; se "OIDC", funziona su altri endpoint conformi a OIDC. Stringa "AAD"

Opzioni di configurazione del logger

Option Description Formato Valore predefinito
loggerCallback Funzione di callback che gestisce la registrazione delle istruzioni MSAL. Funzione- loggerCallback: (level: LogLevel, message: string, containsPii: boolean): void Vedere sopra.
piiLoggingEnabled Se true, le informazioni personali vengono incluse nei log. Boolean false

Opzioni di configurazione di crittografia

Option Description Formato Valore predefinito
useMsrCrypto Indica se usare MSR Crypto se disponibile nel browser (e altre interfacce di crittografia non sono disponibili). Boolean false
entropy Valori casuali crittograficamente sicuri usati per eseguire il seeding della crittografia MSR (ad esempio crypto.randomBytes(48) da Node). È consigliabile usare 48 bit di entropia. Obbligatorio se useMsrCrypto è abilitato. Uint8Array undefined

Opzioni di configurazione dei dati di telemetria

Option Description Formato Valore predefinito
application Opzioni di telemetria per le applicazioni che usano MSAL.js Vedere di seguito Vedere di seguito
client Istanza client delle prestazioni di telemetria IPerformanceClient StubPerformanceClient

Telemetria dell'applicazione

Option Description Formato Valore predefinito
appName Nome stringa univoco di un'applicazione Stringa Stringa vuota ""
appVersion Versione dell'applicazione con MSAL Stringa Stringa vuota ""