MsalError Classe

Definizione

Codice di errore restituito come proprietà in MsalException

public static class MsalError
type MsalError = class
Public Class MsalError
Ereditarietà
MsalError

Campi

Nome Descrizione
AccessDenied

Accesso negato.

AccessingWsMetadataExchangeFailed

Accesso ai metadati WS Exchange non riuscito.

Che succede?

Si è tentato di usare AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) e l'account è un account federato.

Mitigation

Nessuno. I metadati WS non sono stati trovati o non corrispondono a quanto previsto.
AccessTokenTypeMissing

Che succede?

La risposta dall'endpoint del token non contiene il parametro token_type.

Mitigation

Ciò si verifica se il provider di identità (AAD, B2C, ADFS e così via) non include il tipo di token di accesso nella risposta del token. Verificare la configurazione del provider di identità.
ActivityRequired

In Android è necessario chiamare AcquireTokenInteractiveParameterBuilder.WithParentActivityOrWindow(object) il passaggio dell'attività. Fare riferimento a https://aka.ms/msal-interactive-android

AdfsNotSupportedWithBroker

Che succede?

Broker è configurato con un'autorità ADFS, ma non supporta gli ambienti ADFS.

Mitigation

Broker non supporta gli ambienti ADFS.
AndroidBrokerOperationFailed

Impossibile completare l'operazione di Android Broker

AndroidBrokerSignatureVerificationFailed

Impossibile convalidare la firma di Android Broker

AuthenticationCanceledError

Autenticazione annullata.

Che succede?

L'utente ha annullato l'autenticazione, ad esempio chiudendo la finestra di dialogo di autenticazione

Mitigation

Nessuno, non è possibile ottenere un token per chiamare l'API protetta. Potrebbe essere necessario informare l'utente
AuthenticationFailed

Autenticazione non riuscita.

Che succede?

Autenticazione non riuscita. Ad esempio, l'utente non ha immesso la password corretta

Mitigation

Informare l'utente di riprovare.
AuthenticationUiFailed

Impossibile eseguire la richiesta a causa di un errore sconosciuto nel flusso dell'interfaccia utente.*

Mitigation

Informare l'utente.
AuthenticationUiFailedError

Impossibile eseguire la richiesta a causa di un errore nel flusso dell'interfaccia utente.

Che succede?

Impossibile richiamare la visualizzazione Web necessaria per eseguire l'autenticazione interattiva. L'eccezione potrebbe includere il motivo

Mitigation

Se l'eccezione include il motivo, è possibile informare l'utente. Potrebbe trattarsi, ad esempio, di un browser che implementa schede chrome mancanti nel telefono Android (questo è solo un esempio: questa eccezione può essere applicata anche ad altre piattaforme)
AuthorityHostMismatch

Il cloud (host URL autorità) definito a livello di applicazione non può essere diverso dal cloud a livello di richiesta.

Che succede?

Non è stata definita un'autorità a livello di applicazione, quindi per impostazione predefinita il cloud pubblico (login.microsoft.com), ma l'autorità a livello di richiesta è per un cloud diverso. Solo il tenant può essere modificato a livello di richiesta.

Mitigation

Aggiungere. WithAuthority("https://login.windows-ppe.net/common) a livello di applicazione e specificare il tenant a livello di richiesta: . WithAuthority("https://login.windows-ppe.net/1234-567-890-12345678).
AuthorityTenantSpecifiedTwice

Che succede?

È stato specificato un tenant due volte, una volta in WithAuthority() e una volta usando WithTenant()

Mitigation

Specificare il tenant una sola volta.
AuthorityTypeMismatch

Che succede?

L'autorità configurata a livello di applicazione è diversa dall'autorità configurata a livello di richiesta

Mitigation

Verificare che venga usato lo stesso tipo di autorità
AuthorityValidationFailed

Convalida dell'autorità non riuscita.

Che succede?

La convalida dell'autorità non è riuscita. Ciò potrebbe essere dovuto al fatto che l'autorità non è conforme allo standard OIDC o potrebbe verificarsi un problema di sicurezza

Mitigation

Usare un'autorità diversa. Se si è assolutamente sicuri di poter considerare attendibile l'autorità, è possibile usare il WithAuthority(AadAuthorityAudience, Boolean) passaggio del validateAuthority parametro a false (non consigliato)
B2CAuthorityHostMismatch

L'host dell'autorità B2C non è uguale a quello usato durante la creazione dell'applicazione client.

BrokerApplicationRequired

Che succede?

È necessaria un'applicazione broker, ma non è stato possibile trovare o comunicare con .

Mitigation

Installare un'applicazione broker, ad esempio Authenticator, dall'archivio applicazioni
BrokerDoesNotSupportPop

Che succede?

La richiesta dispone di broker abilitato e proof-of-possession configurato, ma il broker non supporta proof-of-possession

Mitigation

configurare solo proof-of-possession per i client pubblici in windows.
BrokerNonceMismatch

Il nonce di risposta broker non corrisponde alla richiesta nonce inviata da MSAL.NET per broker iOS >= v6.3.19

BrokerRequiredForPop

Che succede?

La richiesta ha configurato proof-of-possession ma non dispone di broker abilitato. Broker è necessario per usare proof-of-possession nei client pubblici

Mitigation

Abilitare il broker quando è configurata la verifica del possesso.
BrokerResponseHashMismatch

Hash della risposta broker non corrispondente

BrokerResponseReturnedError

Risposta broker ha restituito un errore

CannotAccessUserInformationOrUserNotDomainJoined

Impossibile accedere alle informazioni utente o l'utente non è un dominio utente.

Che succede?

Si è tentato di usare AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>) ma l'utente non è un utente di dominio (il computer non è un dominio o aggiunto ad AAD)
CannotInvokeBroker

MSAL non è in grado di richiamare il broker. I possibili motivi sono che il broker non è installato nel dispositivo dell'utente o si sono verificati problemi con UiParent o CallerViewController null. Fare riferimento a https://aka.ms/msal-brokers

CannotSwitchBetweenImdsVersionsForPreview

Il sistema è già tornato IMDS V1 e può ottenere solo token di connessione. Deve essere riavviato per ottenere token PoP mTLS.

CertificateNotRsa

Che succede?

Il certificato fornito non è di tipo RSA.

Mitigation

Usare un certificato RSA.
CertWithoutPrivateKey

Che succede?

Il certificato fornito non dispone di una chiave privata.

Mitigation

Verificare che il certificato abbia una chiave privata.
ClientCredentialAuthenticationTypeMustBeDefined

Che succede?

È stata configurata l'autenticazione client riservata MSAL senza un tipo di autenticazione (Certificato, Segreto, Asserzione client)

Mitigation

Chiamare ConfidentialClientApplicationBuilder.WithClientSecret, ConfidentialClientApplicationBuilder.WithCertificate, ConfidentialClientApplicationBuilder.WithClientAssertion
ClientCredentialAuthenticationTypesAreMutuallyExclusive

Che succede?

È stata configurata l'autenticazione client riservata MSAL con più tipi di autenticazione (Certificato, Segreto, Asserzione client)
CodeExpired

Che succede?

Nel contesto del flusso del codice del dispositivo (vedere https://aka.ms/msal-net-device-code-flow), questo errore si verifica quando il codice del dispositivo è scaduto prima dell'accesso dell'utente in un altro dispositivo (in genere dopo 15 minuti).

Mitigation

Nessuno. Informare l'utente che ha impiegato troppo tempo per accedere all'URL fornito e immettere il codice fornito.
CombinedUserAppCacheNotSupported

L'uso combinato dell'archiviazione flat, ad esempio un file, per archiviare sia i token dell'app che dei token utente non è supportato. Usare una cache di token partizionata (ad esempio cache distribuita come Redis) o file separati per le cache dei token utente e dell'app. Vedere https://aka.ms/msal-net-token-cache-serialization .

CryptographicError

Si è verificata un'eccezione crittografica quando si tenta di usare il certificato fornito

CurrentBrokerAccount

Questo codice di errore viene restituito dalle AcquireTokenSilent(IEnumerable<String>, IAccount) chiamate quando l'utente OperatingSystemAccount viene passato come account parametro. Solo alcuni broker (WAM) possono accedere all'utente corrente.

Mitigation

In Windows usare il broker tramite . WithBroker(true), usare un account diverso o chiamare in altro modoAcquireTokenInteractive(IEnumerable<String>)
CustomMetadataInstanceOrUri

Che succede?

I metadati dell'istanza sono stati configurati usando sia un URI che una stringa. È supportato un solo.

Mitigation

Chiamare WithInstanceDiscoveryMetadata una sola volta. Per altri dettagli, vedere https://aka.ms/msal-net-custom-instance-metadata.
CustomWebUiRedirectUriMismatch

Codice di errore usato quando CustomWebUI ha restituito un URI, ma non corrisponde all'Autorità e AbsolutePath dell'URI di reindirizzamento configurato.

CustomWebUiReturnedInvalidUri

Codice di errore usato quando ha ICustomWebUi restituito un URI, ma non è valido, ovvero null o non ha codice. Valutare la possibilità di generare un'eccezione se non è possibile intercettare l'URI contenente il codice.

DefaultRedirectUriIsInvalid

La convalida di RedirectUri non è riuscita.

DeviceCertificateNotFound

Certificato del dispositivo non trovato.

DuplicateQueryParameterError

Il parametro di query duplicato è stato trovato in extraQueryParameters.

Che succede?

Sono state usate extraQueryParameter le sostituzioni delle operazioni di acquisizione di token nell'applicazione client pubblica e client riservata e si passa un parametro che è già presente nell'URL ( perché è stato aggiunto in un altro modo o la libreria l'ha aggiunta).

Mitigazione [Sviluppo di app]

RemoveAccount il parametro duplicato dall'override dell'acquisizione del token.
EncodedTokenTooLong

Token codificato troppo lungo.

Che succede

In una chiamata all'applicazione client riservata, l'asserzione client compilata da MSAL è più lunga della lunghezza massima possibile per un token JWT.
ExactlyOneScopeExpected

È previsto esattamente un ambito.

ExperimentalFeature

Che succede?

Si sta tentando di usare una funzionalità contrassegnata come sperimentale

Mitigation

Quando si crea PublicClientApplication o ConfidentialClientApplication, usare . Opzione WithExperimentalFeatures(). Per informazioni dettagliate, vedere https://aka.ms/msal-net-experimental-features.
FailedToAcquireTokenSilentlyFromBroker

Impossibile acquisire il token in modo invisibile all'utente. Usato negli scenari broker.

Che succede

hai chiamato AcquireTokenSilent(IEnumerable<String>, IAccount) o AcquireTokenSilent(IEnumerable<String>, String) e l'applicazione mobile (Xamarin) sfrutta il broker (Microsoft Authenticator o Microsoft Portale aziendale), ma il broker non è riuscito ad acquisire il token in modo invisibile all'utente.

Mitigation

Chiamare AcquireTokenInteractive(IEnumerable<String>)
FailedToGetBrokerResponse

Che succede?

Si sta tentando di eseguire l'autenticazione con il broker, ma MSAL non è in grado di leggere la risposta dal broker.

Mitigation

Il broker attualmente installato potrebbe non supportare MSAL. Xamarin, è necessario assicurarsi di aver installato Intune Portale aziendale (5.0.4689.0 o versione successiva) o Microsoft Authenticator (6.2001.0140 o versione successiva). vedere https://aka.ms/Brokered-Authentication-for-Android"
FailedToRefreshToken

Non è stato possibile aggiornare il token.

Che succede?

Non è stato possibile aggiornare il token. Ciò può essere dovuto al fatto che l'utente non ha usato l'applicazione per molto tempo. e pertanto il token di aggiornamento gestito nella cache dei token è scaduto

Mitigation

Se si è in un'applicazione client pubblica, che supporta l'interattività, inviare una richiesta AcquireTokenInteractive(IEnumerable<String>)interattiva . In caso contrario, usare un metodo diverso per acquisire i token.
FederatedServiceReturnedError

Errore restituito dal servizio federato.

Mitigation

Nessuno. Il servizio federato ha restituito un errore. È possibile provare a esaminare il corpo dell'eccezione per una migliore comprensione dell'errore e scegliere la mitigazione
ForceRefreshNotCompatibleWithTokenHash

Che cosa è successo?

L'operazione ha tentato di forzare l'aggiornamento di un token usando anche un hash del token. Queste due opzioni non sono compatibili perché l'uso forzato di un aggiornamento ignora la memorizzazione nella cache dei token, che è in conflitto con la convalida dell'hash del token.

Mitigazione:

- Assicurarsi che "force_refresh" non sia impostato su "true" quando si usa un hash del token. - Esaminare i parametri della richiesta per assicurarsi che non siano in conflitto. - Se è necessario l'hashing dei token, consentire l'uso del token memorizzato nella cache anziché forzare un aggiornamento.
GetUserNameFailed

Impossibile ottenere il nome utente.

HttpListenerError

Si è verificata un'eccezione HttpListenerException durante l'ascolto del browser di sistema per completare l'account di accesso.

HttpStatusCodeNotOk

ErrorCode usato quando la risposta HTTP restituisce qualcosa di diverso da 200 (OK)

HttpStatusNotFound

Codice di errore usato quando la risposta HTTP restituisce HttpStatusCode.NotFound

ImdsServiceError

Rappresenta il codice di errore restituito quando un'operazione IMDS non riesce.

InitializeProcessSecurityError

Che succede?

Sicurezza del processo di impostazione degli errori per abilitare selezione account WAM in un processo con privilegi elevati.

Mitigation

Per informazioni dettagliate sulla risoluzione dei problemi, vedere https://aka.ms/msal-net-wam .
IntegratedWindowsAuthenticationFailed

Questo problema può verificarsi se si verifica un problema di configurazione nell'ambiente ADFS in cui viene eseguita l'autenticazione. Per altri dettagli, vedere https://aka.ms/msal-net-iwa-troubleshooting

IntegratedWindowsAuthNotSupportedForManagedUser

L'autenticazione integrata Windows è supportata solo per gli utenti "federati"

InteractionRequired

Codice di errore del protocollo OAuth2 standard. Indica che l'applicazione deve esporre l'interfaccia utente all'utente in modo che l'utente possa eseguire un accesso interattivo per ottenere un token con attestazioni aggiornate.

Mitigazione:

Se l'applicazione è una IPublicClientApplication chiamata AcquireTokenInteractive , eseguire un'autenticazione interattiva. Se l'applicazione è probabile ConfidentialClientApplication che il membro Claims dell'eccezione non sia vuoto. Vedere Claims per la mitigazione corretta
InternalCacheDisabled

Che cosa è successo?

È stata chiamata un'API dipendente dalla cache, ma la cache dei token interni di MSAL è disabilitata tramite DisableInternalCacheOptions. Ciò può verificarsi con le API, AcquireTokenSilent(IEnumerable<String>, IAccount) ad esempio e AcquireTokenInLongRunningProcess(...).

Mitigation

Usare un flusso di autenticazione che non dipende dalla cache interna di MSAL, ad esempio AcquireTokenByRefreshToken(IEnumerable<String>, String) con il token di aggiornamento ottenuto da GetRefreshToken(AuthenticationResult)o usare un altro flusso interattivo, in base alle esigenze dell'applicazione.
InternalError

Errore interno

InvalidAdalCacheMultipleRTs

Che succede?

La cache ADAL non è valida perché contiene più voci di token di aggiornamento per un utente.

Mitigation

Eliminare la cache ADAL. Se non si gestisce una cache ADAL, potrebbe trattarsi di un bug in MSAL.
InvalidAuthority

Autorità non valida

Che succede

Quando la libreria tenta di individuare l'autorità e ottenere gli endpoint necessari per acquisire un token, ha ottenuto un codice HTTP non autorizzato o una risposta imprevista

Bonifica

Verificare che l'autorità configurata per l'applicazione o passata ad alcune sostituzioni dei token di acquisizione di token che supportano l'override dell'autorità sia corretta
InvalidAuthorityType

Tipo di autorità non valido. MSAL.NET non sa come interagire con l'autorità specificata al momento della compilazione dell'applicazione.

Mitigation

Usare un'autorità diversa
InvalidAuthorizationUri

Un URI di autorizzazione è stato intercettato, ma non può essere analizzato. Per altri dettagli, vedere il log.

InvalidCertificate

Il certificato ricevuto dal server Imds non è valido.

InvalidClient

Azure errore del servizio ACTIVE Directory che indica un problema di configurazione.

Mitigation

Per informazioni dettagliate, vedere il messaggio di errore e quindi intraprendere un'azione correttiva nel portale di registrazione dell'app Per https://aka.ms/msal-net-invalid-client informazioni dettagliate.
InvalidClientAssertion

Restituito quando un WithClientAssertion delegato fornisce una null stringa JWT vuota o vuota.

Mitigazione

Verificare che il delegato restituisca un token JWT con codifica base 64 non vuoto.
InvalidClientCredentialConfiguration

Che succede?

È stato configurato sia un certificato statico (WithCertificate(X509Certificate2) che un provider di certificati dinamico (WithCertificate(Func)).

Mitigation

Scegliere un approccio per fornire il certificato client.
InvalidCredentialMaterial

Che cosa è successo?

Il tipo di credenziale configurato non è compatibile con la modalità di autenticazione richiesta. Ad esempio, non è possibile usare un segreto client con mTLS Proof-of-Possession o SendCertificateOverMtls perché mTLS richiede un certificato per associare il token al trasporto TLS.

Mitigazione:

Usare una credenziale basata su certificato tramite WithCertificate()o un delegato che restituisce un ClientSignedAssertion oggetto con un TokenBindingCertificate oggetto quando è necessaria la prova di possesso mTLS.
InvalidGrantError

Codice di errore del protocollo OAuth2 standard. Indica che l'applicazione deve esporre l'interfaccia utente all'utente in modo che l'utente ese un'azione interattiva per ottenere un nuovo token.

Mitigazione:

Se l'applicazione è una IPublicClientApplication chiamata AcquireTokenInteractive , eseguire un'autenticazione interattiva. Se l'applicazione è probabile ConfidentialClientApplication che il membro Claims dell'eccezione non sia vuoto. Vedere MsalServiceException.Claims per la mitigazione corretta
InvalidInstance

Errore del servizio AAD che indica che l'autorità configurata non esiste

InvalidJsonClaimsFormat

Che succede?

È stata configurata una richiesta di attestazioni, ma la stringa delle attestazioni non è in formato JSON

Mitigation

Verificare che il parametro claims sia JSON valido. Esaminare l'eccezione interna per informazioni dettagliate sull'analisi JSON.
InvalidJwtError

JWT non valido.

Che succede?

La libreria prevede un token JWT (ad esempio un token dalla cache o ricevuto dal servizio token di sicurezza), ma il formato non è valido

Mitigation

Assicurarsi che la cache dei token non sia stata manomessa
InvalidManagedIdentityEndpoint

Endpoint dell'identità gestita non valido.

InvalidManagedIdentityIdType

L'origine dell'identità gestita non seleziona un tipo id specifico.

InvalidManagedIdentityResponse

Un valore obbligatorio non è presente nella risposta dell'identità gestita.

InvalidOwnerWindowType

Tipo di finestra proprietario non valido.

Che succede?

È stato usato "AcquireTokenInteractiveParameterBuilder.WithParentActivityOrWindow(object) ma il parametro passato non è valido.

Remediation

In .NET Standard, l'oggetto previsto è un Activity in Android, un UIViewController in iOS, un NSWindow in MAC e un IWin32Window oggetto o IntPr in Windows. Se si è in un'applicazione macchine virtuali Windows, è possibile usare WindowInteropHelper(wpfControl).Handle per ottenere l'handle della finestra associato a un controllo macchine virtuali Windows
InvalidRequest

La richiesta non è valida.

Che succede?

Ciò può verificarsi perché si usa un metodo di acquisizione di token che non è compatibile con l'autorità. Ad esempio: è stata chiamata ma è stata usata AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) un'autorità che termina con "/common" o "/consumer", perché richiede un'autorità tenant o "/organizations".

Mitigation

Modificare l'autorità nel metodo AcquireTokenXX usato (non usare "common" o "consumer" con AcquireTokenByUsernamePassword(IEnumerable<String>, String, String)AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>)
InvalidTokenProviderResponseValue

Manca un valore obbligatorio dalla risposta del provider di token

InvalidUserInstanceMetadata

Che succede?

I metadati dell'istanza sono stati configurati, ma il codice JSON fornito sembra non valido.

Mitigation

Vedere https://aka.ms/msal-net-custom-instance-metadata per un esempio di json valido che può essere usato.
JsonParseError

L'analisi JSON non è riuscita.

Che succede?

Un BLOB JSON letto dalla cache dei token o ricevuto dal servizio token di sicurezza non è analizzabile. Ciò può verificarsi quando si legge la cache dei token o si riceve un IDToken dal servizio token di sicurezza.

Mitigation

Assicurarsi che la cache dei token non sia stata manomessa
LinuxXdgOpen

Che succede?

MSAL ha tentato di aprire il browser in Linux usando gli strumenti xdg-open, gnome-open o kfmclient, ma non è riuscito.

Mitigation

Assicurarsi di poter aprire una pagina usando lo strumento xdg-open. Per informazioni dettagliate, vedere https://aka.ms/msal-net-os-browser.
LoopbackRedirectUri

Che succede?

L'URL di reindirizzamento corrente non è un URL di loopback.

Mitigation

Per usare il browser del sistema operativo, è necessario configurare un URL di loopback con o senza una porta sia durante la registrazione dell'app che durante l'inizializzazione dell'oggetto IPublicClientApplication. Per informazioni dettagliate, vedere https://aka.ms/msal-net-os-browser.
LoopbackResponseUriMismatch

Che succede?

MSAL ha intercettato un URI che potrebbe contenere un codice di autorizzazione, ma non corrisponde all'URL di reindirizzamento configurato.

Mitigation

Se si usa un'implementazione ICustomWebUi, assicurarsi che l'URL di reindirizzamento corrisponda all'URL contenente il codice di autenticazione. Se non si usa un ICustomWebUI, potrebbe trattarsi di un attacco man-in-the-middle.
ManagedIdentityAllSourcesUnavailable

Tutte le origini di identità gestite non sono disponibili.

ManagedIdentityRequestFailed

È stata ricevuta la risposta all'errore identità gestita.

ManagedIdentityResponseParseFailure

È stata ricevuta la risposta all'errore identità gestita.

ManagedIdentityUnreachableNetwork

L'endpoint dell'identità gestita non è raggiungibile.

MissingFederationMetadataUrl

URL metadati federazione mancante per l'utente federato.

MissingManagedIdentityEnvVar

L'identità gestita manca una variabile di ambiente necessaria.

MissingPassiveAuthEndpoint

Non è stato trovato alcun endpoint di autenticazione passiva nella configurazione OIDC dell'autorità

Che succede?

Quando le librerie passano all'autorità e ottengono la configurazione di connessione con ID aperto, si prevede di trovare una voce endpoint di autenticazione passiva e non è stato possibile trovarlo.

Bonifica

Verificare che l'autorità configurata per l'applicazione o passata ad alcune sostituzioni dei token di acquisizione di token che supportano l'override dell'autorità sia corretta
MissingTenantedAuthority

Autorità tenant mancante. MSAL.NET richiede che venga specificata un'autorità tenant (ovvero un'autorità con UN ID tenant) per mTLS al momento della compilazione dell'applicazione, ma non è stato specificato alcuno.

Mitigation

Assicurarsi che un'autorità tenant, che includa un ID tenant specifico, venga specificata durante la configurazione dell'applicazione. Ad esempio, usare "https://login.microsoftonline.com/{tenantId}" o una struttura URL simile.
MtlsBearerWithoutRegion

Che cosa è successo?

MTLS Bearer è configurato ma non è stata specificata un'area.

Mitigation

Assicurarsi che la configurazione di AzureRegion sia impostata quando si usa mTLS Bearer perché richiede un endpoint a livello di area.
MtlsCertificateNotProvided

Che cosa è successo?

MTLS Proof of Possession (mTLS PoP) è configurato ma non è stato fornito un certificato.

Mitigation

Assicurarsi che nella configurazione venga fornito un certificato valido quando si usa mTLS PoP perché è necessario per l'autenticazione sicura.
MtlsNotSupportedForManagedIdentity

Che cosa è successo?

mTLS non è supportato per l'autenticazione dell'identità gestita.
MtlsPopNotSupportedForEnvironment

Che cosa è successo?

MTLS Proof of Possession (mTLS PoP) non è supportato per l'ambiente cloud sovrano specificato.

Mitigazione:

Usare l'endpoint alternativo supportato per l'ambiente cloud sovrano.
MtlsPopTokenNotSupportedinImdsV1

I token poP mTLS non sono supportati in IMDS V1.

MtlsPopWithoutRegion

Che cosa è successo?

MTLS Proof of Possession (mTLS PoP) è configurato ma non è stata specificata un'area.

Mitigation

Assicurarsi che la configurazione di AzureRegion sia impostata quando si usa mTLS PoP perché richiede un endpoint a livello di area.
MultipleAccountsForLoginHint

Questo codice di errore indica che sono stati trovati più account con lo stesso hint di accesso e MSAL non può sceglierne uno. WithAccount(IAccount) Usare per specificare l'account

MultipleTokensMatchedError

Sono stati confrontati più token.

Che succede?

Questa eccezione si verifica nel caso di applicazioni che gestiscono diverse identità, quando si chiama AcquireTokenSilent(IEnumerable<String>, IAccount) o una delle relative sostituzioni e la cache dei token utente contiene più token per questa applicazione client e l'account specificato, ma da autorità diverse.

Mitigazione [Sviluppo di app]

specificare l'autorità da usare nell'operazione di acquisizione del token
NetworkNotAvailableError
Obsoleti.

Impossibile eseguire la richiesta perché la rete è inattiva.

Mitigazione [Sviluppo di app]

Nell'applicazione è possibile informare l'utente che sono presenti problemi di rete o riprovare in un secondo momento
NoAccountForLoginHint

Questo codice di errore indica che non è stato trovato alcun account con l'hint di accesso specificato.

Che succede?

AcquireTokenSilent(IEnumerable<String>, String) o WithLoginHint(String) è stato chiamato con un loginHint parametro che non corrisponde ad alcun account in GetAccountsAsync()

Mitigation

Se si è certi del loginHint, chiamare AcquireTokenInteractive(IEnumerable<String>)
NoAndroidBrokerAccountFound

MSAL non è in grado di trovare un account adatto da usare con broker

NoAndroidBrokerInstalledOnDevice

MSAL non riesce a trovare l'applicazione broker per autenticare gli account.

NoClientId

Che succede?

Non è stato impostato un ID client.

Mitigation

Usare l'ID applicazione (UN GUID) dal portale dell'applicazione come ID client in questo SDK
NonceRequiredForPopOnPCA

Che succede?

La richiesta ha configurato proof-of-possession ma non ha un nonce configurato. Un nonce è obbligatorio per la verifica del possesso nei client pubblici

Mitigation

Specificare un nonce quando la prova di possesso è configurata per i client pubblici.
NonHttpsRedirectNotSupported

I reindirizzamenti non HTTPS non sono supportati

Che succede?

Questo errore si verifica quando il flusso di autorizzazione, che raccoglie le credenziali utente, viene reindirizzato a una pagina non supportata, ad esempio se il reindirizzamento si verifica su HTTP. Questo errore non viene attivato per il reindirizzamento finale, che può essere http://localhost, ma per i reindirizzamenti intermedi.

Mitigation

Ciò si verifica in genere quando si usa una directory federata che non è configurata correttamente.
NonParsableOAuthError

È stata restituita una risposta di errore dal server OAuth2 e non è stato possibile analizzarla

NoPromptFailedError

È stata rilevata una delle due condizioni seguenti:

  • È Prompt.NoPrompt stato passato in una chiamata a token interattivo, ma non è stato possibile rispettare il vincolo perché è necessaria l'interazione dell'utente, ad esempio perché l'utente deve eseguire di nuovo l'accesso, concedere il consenso per più ambiti o eseguire l'autenticazione a più fattori.
  • Si è verificato un errore durante un'autenticazione Web invisibile all'utente che ha impedito il completamento del flusso di autenticazione in un intervallo di tempo sufficiente.

Correzione:

chiamare AcquireTokenInteractive in modo che l'utente dell'applicazione accinga e accetti il consenso.
NoRedirectUri

Nessun URI di reindirizzamento.

Che succede?

È necessario fornire un URI di risposta/URI di reindirizzamento, ma non è stato chiamato WithRedirectUri(String)
NoTokensFoundError

Non è stato trovato alcun token nella cache dei token.

Mitigazione:

Se l'applicazione è una IPublicClientApplication chiamata AcquireTokenInteractive in modo che l'utente dell'applicazione accinga e accetti il consenso.
  • Se si tratta di un'app Web in precedenza denominata IConfidentialClientApplication.AcquireTokenByAuthorizationCode come descritto in https://aka.ms/msal-net-authorization-code. È necessario assicurarsi di aver richiesto gli ambiti corretti. Per informazioni dettagliate, vedere https://github.com/Azure-Samples/ms-identity-aspnetcore-webapp-tutorial
  • Questo errore non dovrebbe verificarsi nelle API Web
NoUsernameOrAccountIDProvidedForSilentAndroidBrokerAuthentication

Non è possibile eseguire query sul gestore account Android perché nella richiesta di autenticazione invisibile all'utente non viene fornito alcun ID account utente o home.

NullIntentReturnedFromAndroidBroker

La finalità Null è stata restituita in modo che l'attività broker non possa essere avviata

OboCacheKeyNotInCacheError

Che succede?

La cache dei token non contiene un token con una chiave della cache OBO corrispondente all'oggetto longRunningProcessSessionKey passato in AcquireTokenInLongRunningProcess(IEnumerable<String>, String).

Mitigation

Chiamare InitiateLongRunningProcessInWebApi(IEnumerable<String>, String, String) con questa longRunningProcessSessionKey prima chiamata AcquireTokenInLongRunningProcess(IEnumerable<String>, String) o con un oggetto già usato longRunningProcessSessionKey.
ParsingWsMetadataExchangeFailed

Analisi dei metadati WS Exchange non riuscita.

ParsingWsTrustResponseFailed

È possibile ottenere questo errore quando si usa AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) Nel caso di un utente federato (di proprietà di un IdP federato, anziché di proprietà di un utente gestito in un tenant di Azure AD) ID3242: non è stato possibile autenticare o autorizzare il token di sicurezza. L'utente non esiste o ha immesso la password errata

PasswordRequiredForManagedUserError

La password è necessaria per l'utente gestito.

Che succede?

Se questo errore può verificarsi quando si usa AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) e l'utente (o l'utente) non ha fornito una password.
PlatformNotSupported

La libreria viene caricata in una piattaforma non supportata.

RedirectUriValidationFailed

La convalida di RedirectUri non è riuscita.

Che succede?

L'URI di reindirizzamento/URI di risposta non è valido

Come risolvere il problema

Passare un URI di reindirizzamento valido.
RegionalAndAuthorityOverride

Che succede?

È stato configurato WithAuthority a livello di richiesta e anche WithAzureRegion. Questa operazione non è supportata quando l'ambiente passa dall'applicazione alla richiesta.

Mitigation

Usare Invece WithTenantId a livello di richiesta.
RegionalAuthorityValidation

Che succede?

Sia l'autorità regionale che la convalida dell'autorità sono state configurate. La convalida dell'autorità non è attualmente supportata per le autorità regionali.

Mitigation

Impostare il flag validateAuthority su false per usare Azure'autorità a livello di area. Non disabilitare la convalida dell'autorità se si legge l'autorità da un'origine non attendibile, ad esempio dall'intestazione WWWAuthenticate di una richiesta HTTP che ha generato una risposta 401.
RegionDiscoveryFailed

Individuazione dell'area non riuscita.

RegionDiscoveryNotEnabled

Che succede?

WithAzureRegion è impostato su true

Mitigation

Impossibile eseguire l'individuazione dell'area per l'autorità ADFS.
RegionDiscoveryWithCustomInstanceMetadata

Che succede?

Sono stati configurati sia l'individuazione dell'area che i metadati dell'istanza personalizzata. I metadati personalizzati sostituisce l'individuazione dell'area.

Mitigation

Configurare l'individuazione dell'area o i metadati di individuazione dell'istanza personalizzata.
RegionRequiredForMtlsPop

Che cosa è successo?

MTLS Proof of Possession (mTLS PoP) richiede che venga specificata una specifica area Azure.

Mitigazione:

Assicurarsi che la configurazione di AzureRegion sia impostata quando si usa mTLS PoP perché richiede un endpoint a livello di area.
RequestThrottled

Il servizio ha restituito il codice di errore HTTP 429 che indica che la richiesta è stata limitata. Per altri dettagli, vedere https://aka.ms/msal-net-throttling

RequestTimeout

Timeout della richiesta HTTP al servizio token di sicurezza.

Mitigation

è possibile riprovare dopo un ritardo.
RopcDoesNotSupportMsaAccounts

Concessione roPC (Resource Owner Password Credential) tentata con un account MSA (Microsoft personale). ROPC non supporta gli account MSA. Per informazioni dettagliate, vedere https://aka.ms/msal-net-ropc.

ScopesRequired

Che succede?

Non sono stati richiesti ambiti

Mitigation

È necessario specificare almeno un ambito per questo flusso di autenticazione
ServiceNotAvailable

Il servizio non è disponibile e restituisce codice di errore HTTP compreso nell'intervallo compreso tra 500 e 599

Mitigation

è possibile riprovare dopo un ritardo.
SetCiamAuthorityAtRequestLevelNotSupported

L'impostazione dell'autorità CIAM (ad esempio "{tenantName}.ciamlogin.com") a livello di richiesta non è supportata. L'autorità CIAM deve essere impostata durante la creazione dell'applicazione.

SSHCertUsedAsHttpHeader

Che succede?

MSAL è stato configurato per richiedere certificati SSH da AAD e si sta tentando di formattare un'intestazione di autenticazione HTTP.

Mitigation

I certificati SSH non devono essere usati come token di connessione. Gli sviluppatori sono responsabili dell'invio dei certificati ai computer di destinazione.
StateMismatchError

Lo stato restituito dal servizio token di sicurezza è diverso da quello inviato dalla libreria

Che succede?

La libreria invia al servizio token di sicurezza uno stato associato a una richiesta e prevede che la risposta sia coerente. Questo errore indica che la risposta non è associata alla richiesta. Ciò potrebbe indicare un tentativo di riprodurre una risposta

Mitigation

None
StaticCacheWithExternalSerialization

Che succede?

La serializzazione della cache MSAL è stata configurata contemporaneamente con una cache interna statica tramite WithCacheOptions(CacheOptions) Questi si escludono a vicenda.

Mitigation

Usare una sola opzione. Gli scenari di siti Web e API Web devono basarsi sulla serializzazione della cache esterna, perché la serializzazione della cache interna non può essere ridimensionata. Fare riferimento a https://aka.ms/msal-net-cca-token-cache-serialization
SystemWebviewOptionsNotApplicable

Che succede?

È stata configurata l'autenticazione interattiva MSAL per l'uso di un controllo WebView incorporato ed è stata configurata SystemWebViewOptionsanche . Questi si escludono a vicenda.

Mitigation

Impostare su WithUseEmbeddedWebView(Boolean) true o non usare WithSystemWebViewOptions(SystemWebViewOptions)
TelemetryConfigOrTelemetryCallback

Che succede?

Sono stati configurati sia un callback di telemetria che una configurazione di telemetria.

Mitigation

È possibile configurare un solo meccanismo di telemetria.
TenantDiscoveryFailedError

Individuazione tenant non riuscita.

Che succede?

Durante la lettura della configurazione OpenId associata all'autorità, all'endpoint Authorize o all'endpoint Token o all'autorità emittente non è stato trovato

Mitigation

Indica e l'autorità che non è conforme a Open ID Connect. Specificare un'autorità diversa nel costruttore dell'applicazione o l'override dell'acquisizione del token ///
TenantOverrideNonAad

Che succede?

È stato configurato WithTenant a livello di richiesta, ma l'applicazione usa un'autorità non AAD che si escludono a vicenda.

Mitigation

WithTenantId può essere usato solo in combinazione con le autorità di AAD.
TokenCacheNullError
Obsoleti.

Questo codice di errore viene restituito dalle AcquireTokenSilent(IEnumerable<String>, IAccount) chiamate quando la cache dell'utente non è stata impostata nel costruttore dell'applicazione. Questo non dovrebbe mai verificarsi in MSAL.NET 3.x perché la cache viene creata dall'applicazione

TokenTypeMismatch

Che succede?

È stato richiesto un tipo di token, ma non è stato ricevuto.

Mitigation

Ciò si verifica se il provider di identità (AAD, B2C, ADFS e così via) non supporta/implementa il tipo di token richiesto. In caso di ADFS, è consigliabile eseguire l'aggiornamento alla versione più recente.
UapCannotFindDomainUser

Impossibile accedere all'utente dal sistema operativo (UWP)

Che succede

È stato chiamato AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>), ma non è stato possibile trovare il nome utente di dominio.

Mitigation

Questo potrebbe essere dovuto alla necessità di aggiungere altre funzionalità all'applicazione UWP in Package.appxmanifest. Fare riferimento a https://aka.ms/msal-net-uwp
UapCannotFindUpn

Impossibile ottenere l'utente dal sistema operativo (UWP)

Che succede

È stato chiamato AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>), ma non è stato possibile trovare il nome utente di dominio.

Mitigation

Questo potrebbe essere dovuto alla necessità di aggiungere altre funzionalità all'applicazione UWP in Package.appxmanifest. Fare riferimento a https://aka.ms/msal-net-uwp
UnableToParseAuthenticationHeader

MSAL non è in grado di analizzare l'intestazione di autenticazione restituita dall'endpoint. Può trattarsi di un'intestazione in formato non valido restituita nelle raccolte WWW-Authenticate o Authentication-Info.

UnauthorizedClient

Il client non è autorizzato ad accedere alla risorsa. Ciò si verifica in genere quando i criteri di gestione delle app mobili (MAM) sono abilitati. MSAL genererà un'eccezione in questo caso con protection_policy_required sub-errore.

Mitigation

Intercettare l'eccezione e usare le proprietà in esso contenute per ottenere i parametri corretti da Intune SDK. IntuneAppProtectionPolicyRequiredException
UnknownBrokerError

Si è verificato un errore sconosciuto del broker.

Mitigation

Nessuno. Potrebbe essere necessario informare l'utente finale.
UnknownError

Si è verificato un errore sconosciuto.

Mitigation

Nessuno. Potrebbe essere necessario informare l'utente finale.
UnknownManagedIdentityError

Risposta di errore sconosciuta ricevuta.

UnknownUser

Che succede

È possibile ottenere questo errore quando si usa AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) L'utente non è noto dal provider di identità

Mitigation

Informare l'utente. L'account di accesso fornito dall'utente potrebbe non essere corretto (ad esempio vuoto)
UnknownUserType

Che succede

È possibile ottenere questo errore quando si usa AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) L'utente non viene riconosciuto come utente gestito o come utente federato. Azure AD non è stato in grado di identificare il provider di identità che deve elaborare l'utente

Mitigation

Informare l'utente. l'account di accesso fornito dall'utente potrebbe non essere corretto.
UpnRequired

loginHint deve essere un UPN

Che succede?

È stato chiamato un override di un'operazione di acquisizione di token in IPublicClientApplication cui accetta come loginHint parametri, ma questo hint di accesso non usa il formato UserPrincipalName (UPN), ad esempio john.doe@contoso.com previsto dal servizio

Remediation

Assicurarsi che nel codice applicato loginHint sia un UPN
UserAssertionNullError

Questo codice di errore viene restituito dalle AcquireTokenOnBehalfOf(IEnumerable<String>, UserAssertion) chiamate quando un'asserzione utente Null viene passata come UserAssertion parametro.

Mitigation

Passare un valore valido per l'asserzione utente
UserAssignedManagedIdentityNotConfigurableAtRuntime

L'identità gestita assegnata dall'utente non è configurabile in fase di esecuzione per Service Fabric.

UserAssignedManagedIdentityNotSupported

L'identità gestita assegnata dall'utente non è supportata per questa origine.

UserMismatch

Mancata corrispondenza utente.

UserNullError

Questo codice di errore viene restituito dalle AcquireTokenSilent(IEnumerable<String>, IAccount) chiamate quando un utente Null viene passato come account parametro. Ciò può essere dovuto al fatto che è stato chiamato AcquireTokenSilent con un account parametro impostato su accounts.FirstOrDefault() ma accounts è vuoto.

Mitigation

Passare un account diverso o chiamare in altro modo AcquireTokenInteractive(IEnumerable<String>)
UserRealmDiscoveryFailed

Individuazione dell'area di autenticazione utente non riuscita.

ValidateAuthorityOrCustomMetadata

Che succede?

I metadati dell'istanza sono stati configurati e sono stati impostati anche l'autorità di convalida su true. Questi si escludono a vicenda.

Mitigation

Impostare il flag di autorità di convalida su false. Per altri dettagli, vedere https://aka.ms/msal-net-custom-instance-metadata.
WABError

Che succede?

Windows Authentication Broker, che gestisce l'interazione tra l'utente e AAD, non è riuscita.

Mitigation

Per altri dettagli, vedere il messaggio di errore.
WamFailedToSignout

Accesso WAM non riuscito.

WamInteractiveError

Eccezione del servizio WAM che può verificarsi quando si chiama AcquireTokenInteractive

WamNoB2C

Il broker Windows (WAM) è supportato solo in combinazione con gli account "aziendali e dell'istituto di istruzione" e con account Microsoft.

WamPickerError

Eccezione del servizio WAM che può verificarsi quando si chiama AcquireTokenInteractive e viene visualizzata la selezione account

WamScopesRequired

Che succede?

Non sono stati richiesti ambiti

Mitigation

È necessario specificare almeno un ambito per MSAL Runtime WAM
WamUiThread

Quando si chiama AcquireTokenInteractive con il broker WAM, la chiamata deve essere effettuata dal thread dell'interfaccia utente.

WebView2LoaderNotFound

Che succede?

Impossibile avviare il browser WebView2 incorporato perché non è possibile caricare un componente di runtime.

Mitigation

Per informazioni dettagliate sulla risoluzione dei problemi, vedere https://aka.ms/msal-net-webview2 .
WebView2NotInstalled

Che succede?

Impossibile avviare il browser incorporato perché manca un componente di runtime.

Mitigation

Il browser incorporato richiede l'installazione del runtime WebView2. Un utente finale dell'app può scaricare e installare il runtime WebView2 da https://go.microsoft.com/fwlink/p/?LinkId=2124703 e riavviare l'app. Lo sviluppatore di app può ottenere la versione distribuibile del runtime WebView2.
WebviewUnavailable

La visualizzazione Web selezionata non è disponibile in questa piattaforma. È possibile passare a un'altra visualizzazione Web usando WithUseEmbeddedWebView(Boolean). Per informazioni dettagliate, vedere https://aka.ms/msal-net-os-browser

WsTrustEndpointNotFoundInMetadataDocument

WS-Trust endpoint non trovato nel documento dei metadati.

Si applica a