Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 "" |