MsalError Classe

Définition

Code d’erreur retourné en tant que propriété dans MsalException

public static class MsalError
type MsalError = class
Public Class MsalError
Héritage
MsalError

Champs

Nom Description
AccessDenied

Accès refusé.

AccessingWsMetadataExchangeFailed

Échec de l’accès aux métadonnées WS Exchange.

Que se passe-t-il ?

Vous avez essayé d’utiliser AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) et le compte est un compte fédéré.

Mitigation

Aucun. Les métadonnées WS n’ont pas été trouvées ou ne correspondent pas à ce qui était attendu.
AccessTokenTypeMissing

Que se passe-t-il ?

La réponse du point de terminaison de jeton ne contient pas le paramètre token_type.

Mitigation

Cela se produit si le fournisseur d’identité (AAD, B2C, ADFS, etc.) n’incluait pas le type de jeton d’accès dans la réponse du jeton. Vérifiez la configuration du fournisseur d’identité.
ActivityRequired

Sur Android, vous devez appeler AcquireTokenInteractiveParameterBuilder.WithParentActivityOrWindow(object) le passage de l’activité. Voir https://aka.ms/msal-interactive-android

AdfsNotSupportedWithBroker

Que se passe-t-il ?

Broker est configuré avec une autorité ADFS, mais il ne prend pas en charge les environnements ADFS.

Mitigation

Broker ne prend pas en charge les environnements ADFS.
AndroidBrokerOperationFailed

Échec de l’opération Android Broker

AndroidBrokerSignatureVerificationFailed

Échec de la validation de la signature du répartiteur Android

AuthenticationCanceledError

Authentification annulée.

Que se passe-t-il ?

L’utilisateur avait annulé l’authentification, par exemple en fermant la boîte de dialogue d’authentification

Mitigation

Aucun, vous ne pouvez pas obtenir un jeton pour appeler l’API protégée. Vous souhaiterez peut-être informer l’utilisateur
AuthenticationFailed

Échec de l’authentification.

Que se passe-t-il ?

L’authentification a échoué. Par exemple, l’utilisateur n’a pas entré le mot de passe approprié

Mitigation

Informez l’utilisateur de réessayer.
AuthenticationUiFailed

Impossible d’effectuer la requête en raison d’un échec inconnu dans le flux d’interface utilisateur.*

Mitigation

Informez l’utilisateur.
AuthenticationUiFailedError

Impossible d’effectuer la requête en raison d’un échec dans le flux d’interface utilisateur.

Que se passe-t-il ?

La bibliothèque n’a pas pu appeler l’affichage web requis pour effectuer l’authentification interactive. L’exception peut inclure la raison

Mitigation

Si l’exception inclut la raison, vous pouvez informer l’utilisateur. Il peut s’agir, par exemple, d’un navigateur implémentant des onglets Chrome sur le téléphone Android (c’est seulement un exemple : cette exception peut également s’appliquer à d’autres plateformes).
AuthorityHostMismatch

Le cloud (hôte d’URL d’autorité) défini au niveau de l’application ne peut pas être différent du cloud au niveau de la requête.

Que se passe-t-il ?

Vous n’avez pas défini d’autorité au niveau de l’application. Par conséquent, elle est définie par défaut sur le cloud public (login.microsoft.com), mais l’autorité au niveau de la demande concerne un autre cloud. Seul le locataire peut être modifié au niveau de la requête.

Mitigation

Ajouter. WithAuthority("https://login.windows-ppe.net/common) au niveau de l’application et spécifiez le locataire au niveau de la requête : . WithAuthority("https://login.windows-ppe.net/1234-567-890-12345678).
AuthorityTenantSpecifiedTwice

Que se passe-t-il ?

Vous avez spécifié un locataire deux fois : une fois dans WithAuthority() et une fois à l’aide de WithTenant()

Mitigation

Spécifiez le locataire une seule fois.
AuthorityTypeMismatch

Que se passe-t-il ?

L’autorité configurée au niveau de l’application est différente de celle configurée au niveau de la demande

Mitigation

Vérifier que le même type d’autorité est utilisé
AuthorityValidationFailed

Échec de la validation de l’autorité.

Que se passe-t-il ?

Échec de la validation de l’autorité. Cela peut être dû au fait que l’autorité n’est pas conforme à la norme OIDC, ou qu’il peut y avoir un problème de sécurité

Mitigation

Utilisez une autre autorité. Si vous êtes absolument sûr que vous pouvez approuver l’autorité à laquelle vous pouvez utiliser le passage du WithAuthority(AadAuthorityAudience, Boolean)validateAuthority paramètre ( false non recommandé)
B2CAuthorityHostMismatch

L’hôte d’autorité B2C n’est pas identique à celui utilisé lors de la création de l’application cliente.

BrokerApplicationRequired

Que se passe-t-il ?

Une application broker est requise, mais il n’est pas possible de trouver ou de communiquer avec.

Mitigation

Installer une application broker, telle que Authenticator, à partir du magasin d’applications
BrokerDoesNotSupportPop

Que se passe-t-il ?

La demande a activé le répartiteur et la preuve de possession configurée, mais le répartiteur ne prend pas en charge la preuve de possession

Mitigation

Configurez uniquement la preuve de possession pour les clients publics sur windows.
BrokerNonceMismatch

La nonce de réponse du répartiteur ne correspond pas à la requête envoyée par MSAL.NET pour le répartiteur >iOS = v6.3.19

BrokerRequiredForPop

Que se passe-t-il ?

La demande a configuré la preuve de possession, mais n’a pas activé le répartiteur. Le répartiteur est requis pour utiliser la preuve de possession sur les clients publics

Mitigation

Activez le répartiteur lorsque la preuve de possession est configurée.
BrokerResponseHashMismatch

Le hachage de réponse du répartiteur ne correspondait pas

BrokerResponseReturnedError

La réponse du répartiteur a retourné une erreur

CannotAccessUserInformationOrUserNotDomainJoined

Impossible d’accéder aux informations utilisateur ou l’utilisateur n’est pas un domaine utilisateur.

Que se passe-t-il ?

Vous avez essayé d’utiliser AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>) , mais l’utilisateur n’est pas un utilisateur de domaine (l’ordinateur n’est pas un domaine ou une jointure AAD)
CannotInvokeBroker

MSAL n’est pas en mesure d’appeler le répartiteur. Les raisons possibles sont que le répartiteur n’est pas installé sur l’appareil de l’utilisateur ou qu’il y a eu des problèmes avec UiParent ou CallerViewController ayant la valeur Null. Voir https://aka.ms/msal-brokers

CannotSwitchBetweenImdsVersionsForPreview

Le système est déjà tombé en arrière IMDS V1 et ne peut obtenir que des jetons porteurs. Il doit être redémarré pour obtenir des jetons poP mTLS.

CertificateNotRsa

Que se passe-t-il ?

Le certificat fourni n’est pas de type RSA.

Mitigation

Utilisez un certificat RSA.
CertWithoutPrivateKey

Que se passe-t-il ?

Le certificat fourni n’a pas de clé privée.

Mitigation

Vérifiez que le certificat a une clé privée.
ClientCredentialAuthenticationTypeMustBeDefined

Que se passe-t-il ?

Vous avez configuré l’authentification du client confidentiel MSAL sans type d’authentification (certificat, secret, assertion du client)

Mitigation

Appelez ConfidentialClientApplicationBuilder.WithClientSecret, ConfidentialClientApplicationBuilder.WithCertificate, ConfidentialClientApplicationBuilder.WithClientAssertion
ClientCredentialAuthenticationTypesAreMutuallyExclusive

Que se passe-t-il ?

Vous avez configuré l’authentification client confidentielle MSAL avec plusieurs types d’authentification (Certificat, Secret, Assertion client)
CodeExpired

Que se passe-t-il ?

Dans le contexte du flux de code de l’appareil (voir https://aka.ms/msal-net-device-code-flow), cette erreur se produit lorsque le code de l’appareil a expiré avant que l’utilisateur se soit connecté sur un autre appareil (il s’agit généralement de 15 minutes).

Mitigation

Aucun. Informez l’utilisateur qu’il a fallu trop de temps pour se connecter à l’URL fournie et entrer le code fourni.
CombinedUserAppCacheNotSupported

L’utilisation d’un stockage plat combiné, comme un fichier, pour stocker les jetons d’application et d’utilisateur n’est pas pris en charge. Utilisez un cache de jeton partitionné (par exemple, un cache distribué comme Redis) ou des fichiers distincts pour les caches de jetons d’application et d’utilisateur. Consultez https://aka.ms/msal-net-token-cache-serialization .

CryptographicError

Une exception de chiffrement s’est produite lors de la tentative d’utilisation du certificat fourni

CurrentBrokerAccount

Ce code d’erreur revient des AcquireTokenSilent(IEnumerable<String>, IAccount) appels lorsque l’utilisateur OperatingSystemAccount est passé en tant que account paramètre. Seuls certains répartiteurs (WAM) peuvent connecter l’utilisateur actuel.

Mitigation

Sur Windows, utilisez le répartiteur via . WithBroker(true), utilisez un autre compte ou appelez-leAcquireTokenInteractive(IEnumerable<String>)
CustomMetadataInstanceOrUri

Que se passe-t-il ?

Vous avez configuré vos propres métadonnées d’instance à l’aide d’un URI et d’une chaîne. Une seule est prise en charge.

Mitigation

Appelez WithInstanceDiscoveryMetadata une seule fois. Consultez https://aka.ms/msal-net-custom-instance-metadata pour plus d’informations.
CustomWebUiRedirectUriMismatch

Code d’erreur utilisé lorsque CustomWebUI a retourné un URI, mais ne correspond pas à l’autorité et à AbsolutePath de l’URI de redirection configuré.

CustomWebUiReturnedInvalidUri

Code d’erreur utilisé lorsque l’URI ICustomWebUi a retourné un URI, mais qu’il n’est pas valide : il est null ou n’a pas de code. Envisagez de lever une exception si vous ne parvenez pas à intercepter l’URI contenant le code.

DefaultRedirectUriIsInvalid

Échec de la validation RedirectUri.

DeviceCertificateNotFound

Certificat d’appareil introuvable.

DuplicateQueryParameterError

Le paramètre de requête en double a été trouvé dans extraQueryParameters.

Que se passe-t-il ?

Vous avez utilisé extraQueryParameter des remplacements des opérations d’acquisition de jetons dans l’application cliente publique et confidentielle et passez un paramètre déjà présent dans l’URL (soit parce que vous l’aviez d’une autre manière, soit la bibliothèque l’a ajoutée).

Atténuation [Développement d’applications]

RemoveAccount le paramètre dupliqué de la substitution d’acquisition de jeton.
EncodedTokenTooLong

Jeton encodé trop long.

Que se passe-t-il ?

Dans un appel d’application cliente confidentielle, l’assertion cliente générée par MSAL est supérieure à la longueur maximale possible pour un jeton JWT.
ExactlyOneScopeExpected

Exactement une étendue est attendue.

ExperimentalFeature

Que se passe-t-il ?

Vous essayez d’utiliser une fonctionnalité marquée comme expérimentale

Mitigation

Lorsque vous créez PublicClientApplication ou ConfidentialClientApplication, utilisez . Option WithExperimentalFeatures(). Pour plus d’informations, consultez https://aka.ms/msal-net-experimental-features.
FailedToAcquireTokenSilentlyFromBroker

Échec de l’acquisition du jeton en mode silencieux. Utilisé dans les scénarios broker.

Que se passe-t-il ?

vous avez appelé ou votre AcquireTokenSilent(IEnumerable<String>, IAccount)AcquireTokenSilent(IEnumerable<String>, String) application mobile (Xamarin) tire parti du répartiteur (Microsoft Authenticator ou Microsoft Portail d'entreprise), mais le répartiteur n’a pas pu acquérir le jeton en mode silencieux.

Mitigation

Appelez AcquireTokenInteractive(IEnumerable<String>)
FailedToGetBrokerResponse

Que se passe-t-il ?

Vous essayez de vous authentifier auprès du répartiteur, mais MSAL ne parvient pas à lire la réponse du répartiteur.

Mitigation

Le répartiteur actuellement installé peut ne pas prendre en charge MSAL. Xamarin, vous devez vous assurer que vous avez installé Intune Portail d'entreprise (5.0.4689.0 ou version ultérieure) ou Microsoft Authenticator (6.2001.0140 ou version ultérieure). voir https://aka.ms/Brokered-Authentication-for-Android"
FailedToRefreshToken

Échec de l’actualisation du jeton.

Que se passe-t-il ?

Impossible d’actualiser le jeton. Cela peut être dû au fait que l’utilisateur n’a pas utilisé l’application depuis longtemps. et par conséquent, le jeton d’actualisation conservé dans le cache de jetons a expiré

Mitigation

Si vous êtes dans une application cliente publique, qui prend en charge l’interactivité, envoyez une demande AcquireTokenInteractive(IEnumerable<String>)interactive . Sinon, utilisez une autre méthode pour acquérir des jetons.
FederatedServiceReturnedError

Erreur retournée par le service fédéré.

Mitigation

Aucun. Le service fédéré a retourné une erreur. Vous pouvez essayer d’examiner le corps de l’exception pour mieux comprendre l’erreur et choisir l’atténuation
ForceRefreshNotCompatibleWithTokenHash

Que s’est-il passé ?

L’opération a tenté de forcer l’actualisation d’un jeton tout en utilisant un hachage de jeton. Ces deux options sont incompatibles, car forcer une actualisation contourne la mise en cache des jetons, qui est en conflit avec la validation de hachage de jeton.

Prévention :

- Vérifiez que « force_refresh » n’est pas défini sur « true » lors de l’utilisation d’un hachage de jeton. - Passez en revue les paramètres de requête pour vous assurer qu’ils ne sont pas en conflit. - Si le hachage de jeton est requis, autorisez l’utilisation du jeton mis en cache au lieu de forcer une actualisation.
GetUserNameFailed

Échec de l’obtention du nom d’utilisateur.

HttpListenerError

Une exception HttpListenerException s’est produite lors de l’écoute du navigateur système pour terminer la connexion.

HttpStatusCodeNotOk

ErrorCode utilisé lorsque la réponse HTTP retourne quelque chose de différent de 200 (OK)

HttpStatusNotFound

Code d’erreur utilisé lorsque la réponse HTTP retourne HttpStatusCode.NotFound

ImdsServiceError

Représente le code d’erreur retourné lorsqu’une opération IMDS échoue.

InitializeProcessSecurityError

Que se passe-t-il ?

Échec de la sécurité du processus pour activer le sélecteur de compte WAM dans un processus avec élévation de privilèges.

Mitigation

Pour plus d’informations sur la résolution des problèmes, consultez https://aka.ms/msal-net-wam .
IntegratedWindowsAuthenticationFailed

Cela peut se produire s’il existe un problème de configuration dans l’environnement ADFS où il s’agit de l’authentification. Pour plus d’informations, voir https://aka.ms/msal-net-iwa-troubleshooting

IntegratedWindowsAuthNotSupportedForManagedUser

L’authentification intégrée Windows n’est prise en charge que pour les utilisateurs « fédérés »

InteractionRequired

Code d’erreur du protocole OAuth2 standard. Elle indique que l’application doit exposer l’interface utilisateur à l’utilisateur afin que l’utilisateur puisse effectuer une connexion interactive pour obtenir un jeton avec des revendications mises à jour.

Prévention :

Si votre application est un IPublicClientApplication appel AcquireTokenInteractive , effectuez une authentification interactive. Si votre application est susceptible ConfidentialClientApplication d’être vide, le membre Revendications de l’exception n’est pas vide. Voir Claims pour connaître la bonne atténuation
InternalCacheDisabled

Que s’est-il passé ?

Une API dépendante du cache a été appelée, mais le cache de jetons interne de MSAL est désactivé via DisableInternalCacheOptions. Cela peut se produire avec des API telles que AcquireTokenSilent(IEnumerable<String>, IAccount) et AcquireTokenInLongRunningProcess(...).

Mitigation

Utilisez un flux d’authentification qui ne dépend pas du cache interne de MSAL, par AcquireTokenByRefreshToken(IEnumerable<String>, String) exemple avec le jeton d’actualisation obtenu à partir GetRefreshToken(AuthenticationResult)de , ou utilisez un autre flux interactif, le cas échéant pour votre application.
InternalError

Erreur interne

InvalidAdalCacheMultipleRTs

Que se passe-t-il ?

Le cache ADAL n’est pas valide, car il contient plusieurs entrées de jeton d’actualisation pour un utilisateur.

Mitigation

Supprimez le cache ADAL. Si vous ne conservez pas de cache ADAL, il peut s’agir d’un bogue dans MSAL.
InvalidAuthority

Autorité non valide

Que se passe-t-il ?

Lorsque la bibliothèque tente de découvrir l’autorité et d’obtenir les points de terminaison dont elle a besoin pour acquérir un jeton, elle a obtenu un code HTTP non autorisé ou une réponse inattendue

remédiation

Vérifiez que l’autorité configurée pour l’application ou transmise sur certaines substitutions de jetons d’acquisition de jetons prenant en charge le remplacement de l’autorité est correcte
InvalidAuthorityType

Type d’autorité non valide. MSAL.NET ne sait pas comment interagir avec l’autorité spécifiée lors de la génération de l’application.

Mitigation

Utiliser une autre autorité
InvalidAuthorizationUri

Un URI d’autorisation a été intercepté, mais il ne peut pas être analysé. Pour plus d’informations, consultez le journal.

InvalidCertificate

Le certificat reçu du serveur Imds n’est pas valide.

InvalidClient

Azure erreur de service AD indiquant un problème de configuration.

Mitigation

Pour plus d’informations, consultez le message d’erreur, puis effectuez des mesures correctives dans le portail https://aka.ms/msal-net-invalid-client d’inscription d’application.
InvalidClientAssertion

Retourné lorsqu’un WithClientAssertion délégué fournit une null chaîne JWT vide ou vide.

Atténuation

Vérifiez que le délégué retourne un JWT non vide et codé en base 64.
InvalidClientCredentialConfiguration

Que se passe-t-il ?

Vous avez configuré à la fois un certificat statique (WithCertificate(X509Certificate2)) et un fournisseur de certificats dynamiques (WithCertificate(Func)).

Mitigation

Choisissez une approche pour fournir le certificat client.
InvalidCredentialMaterial

Que s’est-il passé ?

Le type d’informations d’identification configuré n’est pas compatible avec le mode d’authentification demandé. Par exemple, une clé secrète client ne peut pas être utilisée avec la preuve de possession mTLS ou SendCertificateOverMtls parce que mTLS nécessite un certificat pour lier le jeton au transport TLS.

Prévention :

Utilisez des informations d’identification basées sur un certificat par le biais WithCertificate()d’un délégué qui retourne une valeur avec une ClientSignedAssertionTokenBindingCertificate preuve de possession mTLS requise.
InvalidGrantError

Code d’erreur du protocole OAuth2 standard. Elle indique que l’application doit exposer l’interface utilisateur à l’utilisateur afin que l’utilisateur effectue une action interactive afin d’obtenir un nouveau jeton.

Prévention :

Si votre application est un IPublicClientApplication appel AcquireTokenInteractive , effectuez une authentification interactive. Si votre application est susceptible ConfidentialClientApplication d’être vide, le membre Revendications de l’exception n’est pas vide. Voir MsalServiceException.Claims pour connaître la bonne atténuation
InvalidInstance

Erreur de service AAD indiquant que l’autorité configurée n’existe pas

InvalidJsonClaimsFormat

Que se passe-t-il ?

Vous avez configuré une demande de revendications, mais la chaîne de revendications n’est pas au format JSON

Mitigation

Vérifiez que le paramètre de revendications est json valide. Examinez l’exception interne pour plus d’informations sur l’analyse JSON.
InvalidJwtError

JWT n’était pas valide.

Que se passe-t-il ?

La bibliothèque attendait un JWT (par exemple un jeton du cache ou reçu du STS), mais le format n’est pas valide

Mitigation

Assurez-vous que le cache de jeton n’a pas été falsifié
InvalidManagedIdentityEndpoint

Point de terminaison d’identité managée non valide.

InvalidManagedIdentityIdType

La source de l’identité managée ne sélectionne pas de type d’ID spécifique.

InvalidManagedIdentityResponse

Une valeur requise est manquante dans la réponse de l’identité managée.

InvalidOwnerWindowType

Type de fenêtre propriétaire non valide.

Que se passe-t-il ?

Vous avez utilisé "AcquireTokenInteractiveParameterBuilder.WithParentActivityOrWindow(object) , mais le paramètre que vous avez passé n’est pas valide.

Remediation

Sur .NET Standard, l’objet attendu est un Activity objet sur Android, UIViewController un sur iOS, NSWindow un mac et un IWin32Window ou IntPr sur Windows. Si vous êtes dans une application WPF, vous pouvez utiliser WindowInteropHelper(wpfControl).Handle pour obtenir le handle de fenêtre associé à un contrôle WPF
InvalidRequest

La demande n’est pas valide.

Que se passe-t-il ?

Cela peut se produire, car vous utilisez une méthode d’acquisition de jeton qui n’est pas compatible avec l’autorité. Par exemple : vous avez appelé AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) , mais vous avez utilisé une autorité se terminant par « /common » ou « /consumers », car cela nécessite une autorité locataire ou « /organizations ».

Mitigation

Ajustez l’autorité à la méthode AcquireTokenXX que vous utilisez (n’utilisez pas « commun » ou « consommateurs » avec AcquireTokenByUsernamePassword(IEnumerable<String>, String, String)AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>)
InvalidTokenProviderResponseValue

Une valeur requise est manquante dans la réponse du fournisseur de jetons

InvalidUserInstanceMetadata

Que se passe-t-il ?

Vous avez configuré vos propres métadonnées d’instance, mais le json fourni semble non valide.

Mitigation

Consultez https://aka.ms/msal-net-custom-instance-metadata un exemple de json valide qui peut être utilisé.
JsonParseError

Échec de l’analyse JSON.

Que se passe-t-il ?

Un objet blob JSON lu à partir du cache de jetons ou reçu du STS n’a pas été analysé. Cela peut se produire lors de la lecture du cache de jetons ou de la réception d’un IDToken à partir du STS.

Mitigation

Assurez-vous que le cache de jeton n’a pas été falsifié
LinuxXdgOpen

Que se passe-t-il ?

MSAL a essayé d’ouvrir le navigateur sur Linux à l’aide des outils xdg-open, gnome-open ou kfmclient, mais a échoué.

Mitigation

Vérifiez que vous pouvez ouvrir une page à l’aide de l’outil xdg-open. Pour plus d’informations, consultez https://aka.ms/msal-net-os-browser.
LoopbackRedirectUri

Que se passe-t-il ?

L’URL de redirection actuelle n’est pas une URL de bouclage.

Mitigation

Pour utiliser le navigateur du système d’exploitation, une URL de bouclage, avec ou sans port, doit être configurée à la fois pendant l’inscription de l’application et lors de l’initialisation de l’objet IPublicClientApplication. Pour plus d’informations, consultez https://aka.ms/msal-net-os-browser.
LoopbackResponseUriMismatch

Que se passe-t-il ?

MSAL a intercepté un URI pouvant contenir un code d’autorisation, mais il ne correspond pas à l’URL de redirection configurée.

Mitigation

Si vous utilisez une implémentation ICustomWebUi, vérifiez que l’URL de redirection correspond à l’URL contenant le code d’authentification. Si vous n’utilisez pas d’ICustomWebUI, il peut s’agir d’une attaque de l’homme dans le milieu.
ManagedIdentityAllSourcesUnavailable

Toutes les sources d’identité managée ne sont pas disponibles.

ManagedIdentityRequestFailed

La réponse d’erreur d’identité managée a été reçue.

ManagedIdentityResponseParseFailure

La réponse d’erreur d’identité managée a été reçue.

ManagedIdentityUnreachableNetwork

Le point de terminaison d’identité managée n’est pas accessible.

MissingFederationMetadataUrl

L’URL des métadonnées de fédération est manquante pour l’utilisateur fédéré.

MissingManagedIdentityEnvVar

L’identité managée manque une variable d’environnement requise.

MissingPassiveAuthEndpoint

Aucun point de terminaison d’authentification passif n’a été trouvé dans la configuration OIDC de l’autorité

Que se passe-t-il ?

Lorsque les bibliothèques vont à l’autorité et obtiennent sa configuration open id connect, elle s’attend à trouver une entrée de point de terminaison d’authentification passive et ne peut pas la trouver.

remédiation

Vérifiez que l’autorité configurée pour l’application ou transmise sur certaines substitutions de jetons d’acquisition de jetons prenant en charge le remplacement de l’autorité est correcte
MissingTenantedAuthority

Autorité client manquante. MSAL.NET nécessite qu’une autorité cliente (c’est-à-dire une autorité avec un ID de locataire) pour que mTLS soit spécifiée lorsque l’application est générée, mais aucune n’a été fournie.

Mitigation

Vérifiez qu’une autorité locataire, qui inclut un ID de locataire spécifique, est spécifiée pendant la configuration de l’application. Par exemple, utilisez «https://login.microsoftonline.com/{tenantId} » ou une structure d’URL similaire.
MtlsBearerWithoutRegion

Que s’est-il passé ?

le porteur mTLS est configuré, mais une région n’a pas été spécifiée.

Mitigation

Vérifiez que la configuration d’AzureRegion est définie lors de l’utilisation du porteur mTLS, car elle nécessite un point de terminaison régional.
MtlsCertificateNotProvided

Que s’est-il passé ?

La preuve de possession mTLS (mTLS PoP) est configurée, mais un certificat n’a pas été fourni.

Mitigation

Vérifiez qu’un certificat valide est fourni dans la configuration lors de l’utilisation de mTLS PoP, car il est nécessaire pour l’authentification sécurisée.
MtlsNotSupportedForManagedIdentity

Que s’est-il passé ?

mTLS n’est pas pris en charge pour l’authentification d’identité managée.
MtlsPopNotSupportedForEnvironment

Que s’est-il passé ?

La preuve de possession mTLS (mTLS PoP) n’est pas prise en charge pour l’environnement cloud souverain spécifié.

Prévention :

Utilisez le point de terminaison alternatif pris en charge pour l’environnement cloud souverain.
MtlsPopTokenNotSupportedinImdsV1

Les jetons poP mTLS ne sont pas pris en charge dans IMDS V1.

MtlsPopWithoutRegion

Que s’est-il passé ?

La preuve de possession mTLS (mTLS PoP) est configurée, mais une région n’a pas été spécifiée.

Mitigation

Vérifiez que la configuration d’AzureRegion est définie lors de l’utilisation de mTLS PoP, car elle nécessite un point de terminaison régional.
MultipleAccountsForLoginHint

Ce code d’erreur indique que plusieurs comptes ont été trouvés ayant le même indicateur de connexion et MSAL ne peut pas en choisir un. Utilisez cette option WithAccount(IAccount) pour spécifier le compte

MultipleTokensMatchedError

Plusieurs jetons ont été mis en correspondance.

Que se passe-t-il ?

Cette exception se produit dans le cas d’applications gérant plusieurs identités, lors de l’appel AcquireTokenSilent(IEnumerable<String>, IAccount) ou de l’un de ses remplacements et que le cache de jetons utilisateur contient plusieurs jetons pour cette application cliente et le compte spécifié, mais à partir de différentes autorités.

Atténuation [Développement d’applications]

spécifier l’autorité à utiliser dans l’opération d’acquisition de jeton
NetworkNotAvailableError
Obsolète.

Impossible d’effectuer la requête, car le réseau est arrêté.

Atténuation [Développement d’applications]

Dans l’application, vous pouvez informer l’utilisateur qu’il existe des problèmes réseau ou réessayer ultérieurement
NoAccountForLoginHint

Ce code d’erreur indique qu’aucun compte n’a été trouvé ayant l’indicateur de connexion donné.

Que se passe-t-il ?

AcquireTokenSilent(IEnumerable<String>, String) ou WithLoginHint(String) a été appelé avec un loginHint paramètre qui ne correspond à aucun compte dans GetAccountsAsync()

Mitigation

Si vous êtes certain du loginHint, appelez AcquireTokenInteractive(IEnumerable<String>)
NoAndroidBrokerAccountFound

MSAL n’est pas en mesure de trouver un compte approprié à utiliser avec le répartiteur

NoAndroidBrokerInstalledOnDevice

MSAL ne trouve pas l’application broker pour authentifier les comptes.

NoClientId

Que se passe-t-il ?

Vous n’avez pas défini d’ID client.

Mitigation

Utiliser l’ID d’application (un GUID) à partir du portail d’application en tant qu’ID client dans ce Kit de développement logiciel (SDK)
NonceRequiredForPopOnPCA

Que se passe-t-il ?

La demande a la preuve de possession configurée, mais n’a pas de nonce configurée. Une nonce est requise pour la preuve de possession sur les clients publics

Mitigation

Fournissez un nonce lorsque la preuve de possession est configurée pour les clients publics.
NonHttpsRedirectNotSupported

Les redirections non HTTPS ne sont pas prises en charge

Que se passe-t-il ?

Cette erreur se produit lorsque le flux d’autorisation, qui collecte les informations d’identification de l’utilisateur, est redirigé vers une page qui n’est pas prise en charge, par exemple si la redirection se produit sur http. Cette erreur ne se déclenche pas pour la redirection finale, qui peut être http://localhost, mais pour les redirections intermédiaires.

Mitigation

Cela se produit généralement lors de l’utilisation d’un répertoire fédéré qui n’est pas configuré correctement.
NonParsableOAuthError

Une réponse d’erreur a été retournée par le serveur OAuth2 et elle n’a pas pu être analysée

NoPromptFailedError

L’une des deux conditions a été rencontrée :

  • Le Prompt.NoPrompt message a été transmis dans un appel de jeton interactif, mais la contrainte n’a pas pu être respectée, car l’interaction utilisateur est requise, par exemple parce que l’utilisateur doit se reconnecter, donner son consentement pour plus d’étendues ou effectuer une authentification à plusieurs facteurs.
  • Une erreur s’est produite lors d’une authentification web silencieuse qui empêchait le flux d’authentification de se terminer dans un délai suffisamment court.

Correction :

appelez AcquireTokenInteractive afin que l’utilisateur de votre application se connecte et accepte le consentement.
NoRedirectUri

Aucun URI de redirection.

Que se passe-t-il ?

Vous devez fournir un URI de réponse /URI de redirection, mais n’avez pas appelé WithRedirectUri(String)
NoTokensFoundError

Aucun jeton n’a été trouvé dans le cache du jeton.

Prévention :

Si votre application est un IPublicClientApplication appel AcquireTokenInteractive afin que l’utilisateur de votre application se connecte et accepte le consentement.
  • S’il s’agit d’une application web, vous devez avoir précédemment appelé IConfidentialClientApplication.AcquireTokenByAuthorizationCode comme décrit dans https://aka.ms/msal-net-authorization-code. Vous devez vous assurer que vous avez demandé les étendues appropriées. Pour plus d’informations, voir https://github.com/Azure-Samples/ms-identity-aspnetcore-webapp-tutorial
  • Cette erreur ne doit pas se produire dans les API web
NoUsernameOrAccountIDProvidedForSilentAndroidBrokerAuthentication

Impossible d’interroger le gestionnaire de comptes Android, car aucun nom d’utilisateur ou ID de compte d’accueil n’est fourni dans la demande d’authentification silencieuse.

NullIntentReturnedFromAndroidBroker

L’intention Null a été retournée afin que l’activité broker ne puisse pas être lancée

OboCacheKeyNotInCacheError

Que se passe-t-il ?

Le cache de jetons ne contient pas de jeton avec une clé de cache OBO qui correspond au longRunningProcessSessionKey cache passé AcquireTokenInLongRunningProcess(IEnumerable<String>, String).

Mitigation

Appel InitiateLongRunningProcessInWebApi(IEnumerable<String>, String, String) avec ce longRunningProcessSessionKey premier ou appel AcquireTokenInLongRunningProcess(IEnumerable<String>, String) avec un déjà utilisé longRunningProcessSessionKey.
ParsingWsMetadataExchangeFailed

Échec de l’analyse des métadonnées WS Exchange.

ParsingWsTrustResponseFailed

Vous pouvez obtenir cette erreur lors de l’utilisation AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) dans le cas d’un utilisateur fédéré (appartenant à un fournisseur d’identité fédéré, par opposition à un utilisateur géré appartenant à un locataire Azure AD) ID3242 : le jeton de sécurité n’a pas pu être authentifié ou autorisé. L’utilisateur n’existe pas ou a entré le mot de passe incorrect

PasswordRequiredForManagedUserError

Le mot de passe est requis pour l’utilisateur géré.

Que se passe-t-il ?

Si cette erreur peut être obtenue lors de l’utilisation AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) et que vous (ou l’utilisateur) n’avez pas fourni de mot de passe.
PlatformNotSupported

La bibliothèque est chargée sur une plateforme qui n’est pas prise en charge.

RedirectUriValidationFailed

Échec de la validation RedirectUri.

Que se passe-t-il ?

L’URI de redirection /URI de réponse n’est pas valide

Guide pratique pour corriger

Transmettez un URI de redirection valide.
RegionalAndAuthorityOverride

Que se passe-t-il ?

Vous avez configuré WithAuthority au niveau de la requête, et également WithAzureRegion. Cela n’est pas pris en charge lorsque l’environnement passe de l’application à la demande.

Mitigation

Utilisez à la place WithTenantId au niveau de la requête.
RegionalAuthorityValidation

Que se passe-t-il ?

Vous avez configuré à la fois l’autorité régionale et la validation de l’autorité. La validation de l’autorité n’est actuellement pas prise en charge pour les autorités régionales.

Mitigation

Définissez l’indicateur validateAuthority sur false pour utiliser Azure autorité régionale. Ne désactivez pas la validation de l’autorité si vous lisez l’autorité à partir d’une source non approuvée, par exemple à partir de l’en-tête WWWAuthenticate d’une requête HTTP qui a entraîné une réponse 401.
RegionDiscoveryFailed

Échec de la découverte de région.

RegionDiscoveryNotEnabled

Que se passe-t-il ?

WithAzureRegion a la valeur true

Mitigation

La découverte de région ne peut pas être effectuée pour l’autorité ADFS.
RegionDiscoveryWithCustomInstanceMetadata

Que se passe-t-il ?

Vous avez configuré les métadonnées de découverte de région et d’instance personnalisée. Les métadonnées personnalisées remplacent la découverte de régions.

Mitigation

Configurez les métadonnées de découverte de région ou de découverte d’instances personnalisées.
RegionRequiredForMtlsPop

Que s’est-il passé ?

La preuve de possession mTLS (mTLS PoP) nécessite qu’une région spécifique Azure soit spécifiée.

Prévention :

Vérifiez que la configuration d’AzureRegion est définie lors de l’utilisation de mTLS PoP, car elle nécessite un point de terminaison régional.
RequestThrottled

Le service a retourné le code d’erreur HTTP 429 qui indique que la requête a été limitée. Pour plus d’informations, consultez https://aka.ms/msal-net-throttling

RequestTimeout

La requête HTTP vers le STS a expiré.

Mitigation

vous pouvez réessayer après un délai.
RopcDoesNotSupportMsaAccounts

L’octroi d’informations d’identification de mot de passe du propriétaire de la ressource (ROPC) a tenté d’utiliser un compte MSA (Microsoft personnel). ROPC ne prend pas en charge les comptes MSA. Pour plus d’informations, consultez https://aka.ms/msal-net-ropc.

ScopesRequired

Que se passe-t-il ?

Aucune étendue n’a été demandée

Mitigation

Au moins une étendue doit être spécifiée pour ce flux d’authentification
ServiceNotAvailable

Le service n’est pas disponible et renvoie le code d’erreur HTTP compris entre 500 et 599

Mitigation

vous pouvez réessayer après un délai.
SetCiamAuthorityAtRequestLevelNotSupported

La définition de l’autorité CIAM (par exemple, « {tenantName}.ciamlogin.com ») au niveau de la requête n’est pas prise en charge. L’autorité CIAM doit être définie lors de la création de l’application.

SSHCertUsedAsHttpHeader

Que se passe-t-il ?

Vous avez configuré MSAL pour demander des certificats SSH auprès d’AAD et vous essayez de mettre en forme un en-tête d’authentification HTTP.

Mitigation

Les certificats SSH ne doivent pas être utilisés comme jetons du porteur. Les développeurs sont responsables de l’envoi des certificats aux machines cibles.
StateMismatchError

L’état retourné par le STS était différent de celui envoyé par la bibliothèque

Que se passe-t-il ?

La bibliothèque envoie au STS un état associé à une demande et s’attend à ce que la réponse soit cohérente. Cette erreur indique que la réponse n’est pas associée à la demande. Cela peut indiquer une tentative de relecture d’une réponse

Mitigation

Aucun
StaticCacheWithExternalSerialization

Que se passe-t-il ?

Vous avez configuré la sérialisation du cache MSAL en même temps avec un cache interne statique via WithCacheOptions(CacheOptions) ceux-ci s’excluent mutuellement.

Mitigation

Utilisez une seule option. Les scénarios de site web et d’API web doivent s’appuyer sur la sérialisation du cache externe, car la sérialisation du cache interne ne peut pas être mise à l’échelle. Voir https://aka.ms/msal-net-cca-token-cache-serialization
SystemWebviewOptionsNotApplicable

Que se passe-t-il ?

Vous avez configuré l’authentification interactive MSAL pour utiliser un WebView incorporé et vous avez également configuré SystemWebViewOptions. Elles s’excluent mutuellement.

Mitigation

Défini WithUseEmbeddedWebView(Boolean) sur true ou n’utilisez pas WithSystemWebViewOptions(SystemWebViewOptions)
TelemetryConfigOrTelemetryCallback

Que se passe-t-il ?

Vous avez configuré à la fois un rappel de télémétrie et une configuration de télémétrie.

Mitigation

Un seul mécanisme de télémétrie peut être configuré.
TenantDiscoveryFailedError

Échec de la découverte du locataire.

Que se passe-t-il ?

Lors de la lecture de la configuration OpenId associée à l’autorité, du point de terminaison d’autorisation ou du point de terminaison de jeton, ou de l’émetteur introuvable

Mitigation

Cela indique et l’autorité qui n’est pas conforme à Open ID Connect. Spécifiez une autorité différente dans le constructeur de l’application, ou l’acquisition de jeton substitue ///
TenantOverrideNonAad

Que se passe-t-il ?

Vous avez configuré WithTenant au niveau de la requête, mais l’application utilise une autorité non AAD, elles s’excluent mutuellement.

Mitigation

WithTenantId ne peut être utilisé que conjointement avec les autorités AAD.
TokenCacheNullError
Obsolète.

Ce code d’erreur revient des AcquireTokenSilent(IEnumerable<String>, IAccount) appels lorsque le cache utilisateur n’a pas été défini dans le constructeur d’application. Cela ne doit jamais se produire dans MSAL.NET 3.x, car le cache est créé par l’application

TokenTypeMismatch

Que se passe-t-il ?

Vous avez demandé un type de jeton, mais vous ne l’avez pas reçu.

Mitigation

Cela se produit si le fournisseur d’identité (AAD, B2C, ADFS, etc.) ne prend pas en charge / implémente le type de jeton demandé. Dans le cas d’ADFS, envisagez de procéder à la mise à niveau vers la dernière version.
UapCannotFindDomainUser

Impossible d’accéder à l’utilisateur à partir du système d’exploitation (UWP)

Que se passe-t-il ?

Vous avez appelé AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>), mais le nom d’utilisateur de domaine est introuvable.

Mitigation

Cela peut être dû au fait que vous devez ajouter d’autres fonctionnalités à votre application UWP dans package.appxmanifest. Voir https://aka.ms/msal-net-uwp
UapCannotFindUpn

Impossible d’obtenir l’utilisateur à partir du système d’exploitation (UWP)

Que se passe-t-il ?

Vous avez appelé AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>), mais le nom d’utilisateur de domaine est introuvable.

Mitigation

Cela peut être dû au fait que vous devez ajouter d’autres fonctionnalités à votre application UWP dans package.appxmanifest. Voir https://aka.ms/msal-net-uwp
UnableToParseAuthenticationHeader

MSAL ne parvient pas à analyser l’en-tête d’authentification retourné par le point de terminaison. Cela peut être le résultat d’un en-tête mal formé retourné dans les WWW-Authenticate ou les collections Authentication-Info.

UnauthorizedClient

Le client n’est pas autorisé à accéder à la ressource. Cela se produit généralement lorsque les stratégies de gestion des applications mobiles (GAM) sont activées. MSAL lève une exception dans ce cas avec protection_policy_required une sous-erreur.

Mitigation

Interceptez l’exception et utilisez les propriétés qu’elle contient pour obtenir les paramètres appropriés à partir du Kit de développement logiciel (SDK) Intune. IntuneAppProtectionPolicyRequiredException
UnknownBrokerError

Une erreur de répartiteur inconnue s’est produite.

Mitigation

Aucun. Vous souhaiterez peut-être informer l’utilisateur final.
UnknownError

Une erreur inconnue s’est produite.

Mitigation

Aucun. Vous souhaiterez peut-être informer l’utilisateur final.
UnknownManagedIdentityError

Réponse d’erreur inconnue reçue.

UnknownUser

Que se passe-t-il ?

Vous pouvez obtenir cette erreur lors de l’utilisation AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) de l’utilisateur n’est pas connu par le fournisseur d’identité

Mitigation

Informez l’utilisateur. La connexion fournie par l’utilisateur peut être incorrecte (par exemple vide)
UnknownUserType

Que se passe-t-il ?

Vous pouvez obtenir cette erreur lors de l’utilisation AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) de l’utilisateur n’est pas reconnu comme un utilisateur managé ou un utilisateur fédéré. Azure AD n’a pas pu identifier le fournisseur d’identité qui doit traiter l’utilisateur

Mitigation

Informez l’utilisateur. la connexion fournie par l’utilisateur peut être incorrecte.
UpnRequired

loginHint doit être un UPN

Que se passe-t-il ?

Une substitution d’une opération d’acquisition de jeton a été appelée, IPublicClientApplication qui prend comme loginHint paramètres, mais cet indicateur de connexion n’utilise pas le format USERPrincipalName (UPN), par exemple attendu par le service. john.doe@contoso.com

Remediation

Assurez-vous que dans votre code que vous appliquez loginHint pour être un UPN
UserAssertionNullError

Ce code d’erreur revient des AcquireTokenOnBehalfOf(IEnumerable<String>, UserAssertion) appels lorsqu’une assertion d’utilisateur Null est passée en tant que UserAssertion paramètre.

Mitigation

Passer une valeur valide pour l’assertion de l’utilisateur
UserAssignedManagedIdentityNotConfigurableAtRuntime

L’identité managée affectée par l’utilisateur n’est pas configurable au moment de l’exécution pour Service Fabric.

UserAssignedManagedIdentityNotSupported

L’identité managée affectée par l’utilisateur n’est pas prise en charge pour cette source.

UserMismatch

Incompatibilité de l’utilisateur.

UserNullError

Ce code d’erreur revient des AcquireTokenSilent(IEnumerable<String>, IAccount) appels lorsqu’un utilisateur Null est passé en tant que account paramètre. Cela peut être dû au fait que vous avez appelé AcquireTokenSilent avec un account paramètre défini sur accounts.FirstOrDefault() mais accounts est vide.

Mitigation

Passer un autre compte ou appeler autrement AcquireTokenInteractive(IEnumerable<String>)
UserRealmDiscoveryFailed

Échec de la découverte du domaine utilisateur.

ValidateAuthorityOrCustomMetadata

Que se passe-t-il ?

Vous avez configuré vos propres métadonnées d’instance et vous avez également défini l’autorité de validation sur true. Elles s’excluent mutuellement.

Mitigation

Définissez l’indicateur d’autorité de validation sur false. Consultez https://aka.ms/msal-net-custom-instance-metadata pour plus d’informations.
WABError

Que se passe-t-il ?

Windows Broker d’authentification, qui gère l’interaction entre l’utilisateur et AAD, a échoué.

Mitigation

Pour plus d’informations, consultez le message d’erreur.
WamFailedToSignout

Échec de la connexion WAM.

WamInteractiveError

Exception de service WAM qui peut se produire lors de l’appel d’AcquireTokenInteractive

WamNoB2C

Le répartiteur Windows (WAM) n’est pris en charge que conjointement avec les comptes « professionnels et scolaires » et avec les comptes Microsoft.

WamPickerError

Exception de service WAM qui peut se produire lors de l’appel d’AcquireTokenInteractive et le sélecteur de compte s’affiche

WamScopesRequired

Que se passe-t-il ?

Aucune étendue n’a été demandée

Mitigation

Au moins une étendue doit être spécifiée pour MSAL Runtime WAM
WamUiThread

Lors de l’appel d’AcquireTokenInteractive avec le répartiteur WAM, l’appel doit être effectué à partir du thread d’interface utilisateur.

WebView2LoaderNotFound

Que se passe-t-il ?

Le navigateur WebView2 incorporé ne peut pas être démarré, car un composant d’exécution ne peut pas être chargé.

Mitigation

Pour plus d’informations sur la résolution des problèmes, consultez https://aka.ms/msal-net-webview2 .
WebView2NotInstalled

Que se passe-t-il ?

Le navigateur incorporé ne peut pas être démarré, car un composant d’exécution est manquant.

Mitigation

Le navigateur incorporé a besoin que le runtime WebView2 soit installé. Un utilisateur final de l’application peut télécharger et installer le runtime WebView2 à partir et https://go.microsoft.com/fwlink/p/?LinkId=2124703 redémarrer l’application. Le développeur d’applications peut obtenir la version distribuable du runtime WebView2.
WebviewUnavailable

Le WebView sélectionné n’est pas disponible sur cette plateforme. Vous pouvez basculer vers un autre WebView à l’aide WithUseEmbeddedWebView(Boolean)de . Pour plus d’informations, voir https://aka.ms/msal-net-os-browser

WsTrustEndpointNotFoundInMetadataDocument

WS-Trust point de terminaison introuvable dans le document de métadonnées.

S’applique à