Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Avant de commencer ici, assurez-vous de comprendre comment initialiser un objet d’application.
La bibliothèque MSAL a un ensemble d’options de configuration qui peuvent être utilisées pour personnaliser le comportement de vos flux d’authentification. Ces options peuvent être définies dans le constructeur de l’objet PublicClientApplication ou dans le cadre des API de requête. Ici, nous décrivons l’objet de configuration qui peut être transmis au PublicClientApplication constructeur.
Utilisation de l’objet config
L’objet de configuration a la structure suivante et peut être passé dans le PublicClientApplication constructeur. Le seul paramètre de configuration requis est l’ID client de l’application. Tout le reste est facultatif, mais peut être nécessaire en fonction de votre client et de votre modèle d’application.
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);
Options de configuration
Options de configuration d’authentification
| Option | Description | Format | Valeur par défaut |
|---|---|---|---|
clientId |
ID d’application de votre application. Se trouve dans votre volet d’inscription d’application Portail Azure | UUID/GUID | Aucun. Ce paramètre est requis pour que MSAL effectue toutes les actions. |
authority |
URI du locataire avec authentification et autorisation. Prend généralement la forme de https://{uri}/{tenantid} |
Chaîne au format URI avec le locataire - https://{uri}/{tenantid} |
https://login.microsoftonline.com/common |
knownAuthorities |
Tableau d’URI connus comme valides. Utilisé dans les scénarios B2C. | Tableau de chaînes au format URI | Tableau vide [] |
cloudDiscoveryMetadata |
Chaîne contenant la réponse de découverte cloud. Utilisé dans Microsoft Entra scénarios. | ficelle | Chaîne vide "" |
authorityMetadata |
Chaîne contenant la réponse du point de terminaison .well-known/openid-configuration. | ficelle | Chaîne vide "" |
redirectUri |
URI vers lequel la réponse du code d’autorisation est renvoyée. Quel que soit l’emplacement spécifié ici, la bibliothèque MSAL doit être disponible pour gérer la réponse. | Chaîne au format URI absolu ou relatif | Page demande de connexion (window.location.href de page qui a effectué une demande d’authentification) |
postLogoutRedirectUri |
URI redirigé vers une fois qu’un appel de déconnexion() est effectué. | Chaîne au format URI absolu ou relatif.
null Passez pour désactiver la redirection post-déconnexion. |
Page demande de connexion (window.location.href de page qui a effectué une demande d’authentification) |
navigateToLoginRequestUrl |
Si true, revenez à l’emplacement de la demande d’origine avant de traiter la réponse du code d’autorisation. Si la redirectUri valeur est identique à l’emplacement de la requête d’origine, cet indicateur doit être défini sur false. |
booléen | true |
clientCapabilities |
Tableau de fonctionnalités à ajouter à toutes les demandes réseau dans le cadre de la xms_cc demande de revendications |
Tableau de chaînes | [] |
azureCloudOptions |
Ensemble défini d’options cloud Azure pour que les développeurs mettent par défaut leurs autorités cloud spécifiques. | AzureCloudOptions | AzureCloudInstance.None |
skipAuthorityMetadataCache |
Indicateur permettant de choisir s’il faut utiliser le cache de métadonnées locales pendant l’initialisation de l’autorité. Le cache de métadonnées est utilisé si aucune métadonnées d’autorité n’est fournie et avant qu’un appel réseau pour les métadonnées ait été effectué. | booléen | false |
onRedirectNavigate |
Un rappel passé à l’URL MSAL accède dans les flux de redirection. Le retour false dans le rappel arrête la navigation. |
Fonction- (url: string) => boolean \| void |
undefined |
instanceAware |
Indicateur indiquant si le STS doit renvoyer des paramètres supplémentaires pour spécifier à partir duquel les jetons doivent être récupérés. | booléen | false |
isMcp |
Si true, un resource paramètre est requis sur toutes les demandes de jeton. Utilisé pour les flux MCP (Model Context Protocol). |
booléen | false |
Options de configuration du cache
| Option | Description | Format | Valeur par défaut |
|---|---|---|---|
cacheLocation |
Emplacement du cache de jetons dans le navigateur. | Valeur de chaîne qui doit être l’une des suivantes : "sessionStorage", , "localStorage""memoryStorage" |
sessionStorage |
temporaryCacheLocation |
(Déconseillé) Emplacement du cache temporaire dans le navigateur. Cette option ne doit être modifiée que pour des cas de périphérie spécifiques. Pour plus d’informations, consultez la mise en cache. | Valeur de chaîne qui doit être l’une des suivantes : "sessionStorage", , "localStorage""memoryStorage" |
sessionStorage |
storeAuthStateInCookie |
(Déconseillé) Si la valeur est true, stocke les éléments de cache dans les cookies ainsi que le cache du navigateur. Utilisé précédemment pour la compatibilité Internet Explorer. | booléen | false |
secureCookies |
(Déconseillé) Si la valeur est true et storeAuthStateInCookie est également activée, MSAL ajoute l’indicateur Secure au cookie du navigateur afin qu’il puisse uniquement être envoyé via HTTPS. |
booléen | false |
cacheMigrationEnabled |
Si la valeur est true, les entrées de cache des versions antérieures de MSAL sont mises à jour pour être conformes au schéma de cache le plus récent au démarrage. Si votre application n’a pas été récemment mise à jour vers une nouvelle version de MSAL.js, vous pouvez désactiver cela en toute sécurité. Si les anciennes entrées de cache ne sont pas migrées, cela peut entraîner une absence de cache lors de la tentative de récupération de comptes ou de jetons, et les utilisateurs affectés peuvent avoir besoin de se réauthentifier pour être à jour. | booléen |
true lors de l’utilisation localStorage, false sinon |
claimsBasedCachingEnabled |
Si true, les jetons d’accès sont mis en cache sous une clé contenant le hachage de la chaîne de revendications demandée, ce qui entraîne une absence de cache et une nouvelle demande de jeton réseau lorsque la même demande de jeton est effectuée avec des revendications différentes ou manquantes. Si la valeur est définie false, les jetons sont mis en cache sans revendications, mais toutes les requêtes contenant des revendications vont au réseau et remplacent tout jeton précédemment mis en cache avec les mêmes étendues. |
booléen | false |
Note
L’option temporaryCacheLocation a été déconseillée dans les versions récentes de MSAL Browser et peut être supprimée dans une prochaine version majeure. Vous ne devez pas vous appuyer sur cette option pour les nouvelles implémentations.
Note
Les storeAuthStateInCookie options et secureCookies les options ont été déconseillées dans les versions récentes de MSAL Browser. Ces options ont été principalement utilisées pour la compatibilité Internet Explorer, qui n’est plus prise en charge. Ils peuvent être supprimés dans une prochaine version majeure.
Pour plus d’informations, consultez Mise en cache dans MSAL .
Options de configuration système
| Option | Description | Format | Valeur par défaut |
|---|---|---|---|
loggerOptions |
Objet config pour l’enregistreur d’événements. | Voir ci-dessous. | Voir ci-dessous. |
windowHashTimeout |
Délai d’expiration en millisecondes pour attendre la résolution des opérations contextuelles. | entier (millisecondes) | 60000 |
iframeHashTimeout |
Délai d’expiration en millisecondes pour attendre la résolution des opérations iframe. | entier (millisecondes) | 6000 |
loadFrameTimeout |
Délai d’expiration en millisecondes pour attendre la résolution des opérations iframe/popup. Si elle est fournie, définit les valeurs par défaut pour windowHashTimeout et iframeHashTimeout. |
entier (millisecondes) | undefined |
navigateFrameWait |
Retard en millisecondes pour attendre que l’iframe se charge dans la fenêtre. | entier (millisecondes) | Dans Internet Explorer ou Edge : 500, dans tous les autres navigateurs : 0 |
asyncPopups |
(Déconseillé : utiliser navigatePopups à la place.) Définit si les fenêtres contextuelles sont ouvertes de manière asynchrone. Lorsque la valeur est définie false, les fenêtres contextuelles vides sont ouvertes avant tout autre événement. Lorsque la valeur est définie true, les fenêtres contextuelles sont ouvertes lors de la requête réseau. |
booléen | false |
navigatePopups |
Définit si les fenêtres contextuelles sont ouvertes et accédées ultérieurement. Lorsque la valeur est définie true, les fenêtres contextuelles vides sont ouvertes, puis accédez au domaine de connexion. Lorsque la valeur est définie false, les fenêtres contextuelles sont ouvertes directement dans le domaine de connexion. Cela peut être défini false pour les scénarios où about:blank il n’est pas pris en charge, comme les applications de bureau ou les applications web progressives. |
booléen | true |
allowRedirectInIframe |
Par défaut, MSAL n’autorise pas les opérations de redirection à lancer lorsque l’application se trouve à l’intérieur d’un iframe. Définissez cet indicateur pour true supprimer cette vérification. |
booléen | false |
cryptoOptions |
Objet config pour les opérations de chiffrement dans le navigateur. | Afficher les options de configuration de chiffrement | Afficher les options de configuration de chiffrement |
pollIntervalMilliseconds |
Intervalle de temps en millisecondes entre les sondages de hachage d’URL contextuelle pendant l’authentification. | entier (millisecondes) | 30 |
protocolMode |
Énumération représentant le mode de protocole à utiliser. Si "AAD", MSAL fonctionne sur les points de terminaison AAD v2 conformes à OIDC ; si "OIDC", il fonctionne sur d’autres points de terminaison conformes à OIDC. |
ficelle | "AAD" |
Options de configuration de l’enregistreur d’événements
| Option | Description | Format | Valeur par défaut |
|---|---|---|---|
loggerCallback |
Fonction de rappel qui gère la journalisation des instructions MSAL. | Fonction- loggerCallback: (level: LogLevel, message: string, containsPii: boolean): void |
Voir ci-dessus. |
piiLoggingEnabled |
Si la valeur est true, les informations d’identification personnelle (PII) sont incluses dans les journaux. | booléen | false |
Options de configuration de chiffrement
| Option | Description | Format | Valeur par défaut |
|---|---|---|---|
useMsrCrypto |
Indique s’il faut utiliser MSR Crypto s’il est disponible dans le navigateur (et d’autres interfaces de chiffrement ne sont pas disponibles). | booléen | false |
entropy |
Valeurs aléatoires fortes par chiffrement utilisées pour amorçage de MSR Crypto (par exemple, crypto.randomBytes(48) à partir de Node). 48 bits d’entropie sont recommandés. Obligatoire si useMsrCrypto elle est activée. |
Uint8Array |
undefined |
Options de configuration de télémétrie
| Option | Description | Format | Valeur par défaut |
|---|---|---|---|
application |
Options de télémétrie pour les applications utilisant MSAL.js | Voir ci-dessous | Voir ci-dessous |
client |
Instance cliente de performances de télémétrie | IPerformanceClient | StubPerformanceClient |
Télémétrie d’application
| Option | Description | Format | Valeur par défaut |
|---|---|---|---|
appName |
Nom de chaîne unique d’une application | ficelle | Chaîne vide « » |
appVersion |
Version de l’application à l’aide de MSAL | ficelle | Chaîne vide « » |