MsalError Třída

Definice

Kód chyby vrácený jako vlastnost v msalException

public static class MsalError
type MsalError = class
Public Class MsalError
Dědičnost
MsalError

Pole

Name Description
AccessDenied

Přístup byl odepřen.

AccessingWsMetadataExchangeFailed

Přístup k metadatům WS Exchange se nezdařil.

Co se stane?

Pokusili jste se použít AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) a účet je federovaný účet.

Mitigation

Žádná Metadata WS nebyla nalezena nebo neodpovídá očekávaným hodnotám.
AccessTokenTypeMissing

Co se stane?

Odpověď koncového bodu tokenu neobsahuje parametr token_type.

Mitigation

K tomu dochází v případě, že zprostředkovatel identity (AAD, B2C, ADFS atd.) nezahrnoval do odpovědi tokenu typ přístupového tokenu. Ověřte konfiguraci zprostředkovatele identity.
ActivityRequired

V Androidu je potřeba volat AcquireTokenInteractiveParameterBuilder.WithParentActivityOrWindow(object) předání aktivity. Viz https://aka.ms/msal-interactive-android.

AdfsNotSupportedWithBroker

Co se stane?

Zprostředkovatel je nakonfigurovaný s autoritou ADFS, ale nepodporuje prostředí ADFS.

Mitigation

Zprostředkovatel nepodporuje prostředí ADFS.
AndroidBrokerOperationFailed

Dokončení operace zprostředkovatele Androidu se nezdařilo.

AndroidBrokerSignatureVerificationFailed

Ověření podpisu zprostředkovatele androidu se nezdařilo.

AuthenticationCanceledError

Ověřování bylo zrušeno.

Co se stane?

Uživatel například zrušil ověřování zavřením dialogového okna ověřování.

Mitigation

Žádné, nemůžete získat token pro volání chráněného rozhraní API. Možná budete chtít uživatele informovat.
AuthenticationFailed

Ověření se nezdařilo.

Co se stane?

Ověření se nezdařilo. Uživatel například nezadal správné heslo.

Mitigation

Informujte uživatele, aby to zkusil znovu.
AuthenticationUiFailed

Požadavek nelze provést kvůli neznámé chybě v toku uživatelského rozhraní.*

Mitigation

Informujte uživatele.
AuthenticationUiFailedError

Požadavek nelze provést kvůli selhání v toku uživatelského rozhraní.

Co se stane?

Knihovně se nepodařilo vyvolat webové zobrazení potřebné k provedení interaktivního ověřování. Výjimka může zahrnovat důvod.

Mitigation

Pokud výjimka obsahuje důvod, můžete uživatele informovat. To může být například prohlížeč, který implementuje karty chromu, chybí na telefonu s Androidem (to je jenom příklad: tato výjimka se může použít i na jiných platformách).
AuthorityHostMismatch

Cloud (hostitel adresy URL autority) definovaný na úrovni aplikace se nemůže lišit od cloudu na úrovni požadavku.

Co se stane?

Nedefinovali jste autoritu na úrovni aplikace, takže se ve výchozím nastavení používá veřejný cloud (login.microsoft.com), ale autorita na úrovni žádosti je pro jiný cloud. Na úrovni žádosti je možné změnit pouze tenanta.

Mitigation

Přidat . WithAuthority("https://login.windows-ppe.net/common) na úrovni aplikace a zadejte tenanta na úrovni požadavku: . WithAuthority("https://login.windows-ppe.net/1234-567-890-12345678).
AuthorityTenantSpecifiedTwice

Co se stane?

Zadali jste tenanta dvakrát – jednou v withAuthority() a jednou pomocí withTenant()

Mitigation

Zadejte tenanta jednou.
AuthorityTypeMismatch

Co se stane?

Autorita nakonfigurovaná na úrovni aplikace se liší od autority nakonfigurované na úrovni žádosti.

Mitigation

Ujistěte se, že se používá stejný typ autority.
AuthorityValidationFailed

Ověření autority se nezdařilo.

Co se stane?

Ověření autority se nezdařilo. Důvodem může být to, že autorita nevyhovuje standardu OIDC nebo může dojít k problému se zabezpečením.

Mitigation

Použijte jinou autoritu. Pokud jste si naprosto jistí, že autoritě můžete důvěřovat, můžete použít WithAuthority(AadAuthorityAudience, Boolean) předání parametru falsevalidateAuthority (nedoporučuje se).
B2CAuthorityHostMismatch

Hostitel autority B2C není stejný jako hostitel, který se používá při vytváření klientské aplikace.

BrokerApplicationRequired

Co se stane?

Je vyžadována zprostředkovaná aplikace, ale nelze ji najít nebo komunikovat.

Mitigation

Instalace zprostředkační aplikace, jako je například Authenticator, z úložiště aplikací
BrokerDoesNotSupportPop

Co se stane?

Požadavek má nakonfigurované zprostředkovatele a doklad o vlastnictví, ale zprostředkovatel nepodporuje důkaz o vlastnictví.

Mitigation

konfigurovat pouze doklad o vlastnictví pro veřejné klienty v oknech.
BrokerNonceMismatch

Odpověď zprostředkovatele neodpovídá požadavku odeslanému MSAL.NET pro zprostředkovatele >iOS = v6.3.19

BrokerRequiredForPop

Co se stane?

Požadavek má nakonfigurované ověření vlastnictví, ale nemá povolenou zprostředkovatele. Zprostředkovatel se vyžaduje k použití důkazu o vlastnictví u veřejných klientů.

Mitigation

Povolte zprostředkovatele při konfiguraci ověření vlastnictví.
BrokerResponseHashMismatch

Hodnota hash odpovědi zprostředkovatele se neshodovala

BrokerResponseReturnedError

Odpověď zprostředkovatele vrátila chybu.

CannotAccessUserInformationOrUserNotDomainJoined

Nelze získat přístup k informacím o uživateli nebo uživatel není doména uživatele.

Co se stane?

Pokusili jste se použít AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>) , ale uživatel není uživatelem domény (počítač není připojený k doméně ani AAD)
CannotInvokeBroker

Služba MSAL nemůže vyvolat zprostředkovatele. Možné důvody jsou, že zprostředkovatel není nainstalován na zařízení uživatele nebo došlo k problémům s UiParent nebo CallerViewController má hodnotu null. Viz https://aka.ms/msal-brokers.

CannotSwitchBetweenImdsVersionsForPreview

Systém už se vrátil zpět IMDS V1 a může získat pouze nosné tokeny. Aby se získaly tokeny mTLS PoP, je potřeba ho restartovat.

CertificateNotRsa

Co se stane?

Zadaný certifikát není typu RSA.

Mitigation

Použijte certifikát RSA.
CertWithoutPrivateKey

Co se stane?

Zadaný certifikát nemá privátní klíč.

Mitigation

Ujistěte se, že certifikát má privátní klíč.
ClientCredentialAuthenticationTypeMustBeDefined

Co se stane?

Nakonfigurovali jste důvěrné ověřování klienta MSAL bez typu ověřování (certifikát, tajný klíč, kontrolní výraz klienta).

Mitigation

Volání ConfidentialClientApplicationBuilder.WithClientSecret, ConfidentialClientApplicationBuilder.WithCertificate, ConfidentialClientApplicationBuilder.WithClientAssertion
ClientCredentialAuthenticationTypesAreMutuallyExclusive

Co se stane?

Nakonfigurovali jste důvěrné ověřování klienta MSAL s více než jedním typem ověřování (certifikát, tajný klíč, klientský kontrolní výraz).
CodeExpired

Co se stane?

V kontextu toku kódu zařízení (viz https://aka.ms/msal-net-device-code-flow)tato chyba nastane, když vypršela platnost kódu zařízení před přihlášením uživatele na jiném zařízení (obvykle po 15 minutách).

Mitigation

Žádná Informujte uživatele, že přihlášení k zadané adrese URL trvalo příliš dlouho a zadal zadaný kód.
CombinedUserAppCacheNotSupported

Použití kombinovaného plochého úložiště, jako je soubor, pro ukládání tokenů aplikace i uživatele se nepodporuje. Použijte mezipaměť dělených tokenů (např. distribuovanou mezipaměť jako Redis) nebo samostatné soubory pro mezipaměti tokenů aplikací a uživatelů. Viz .https://aka.ms/msal-net-token-cache-serialization

CryptographicError

Při pokusu o použití poskytnutého certifikátu došlo k kryptografické výjimce.

CurrentBrokerAccount

Tento kód chyby se vrátí z AcquireTokenSilent(IEnumerable<String>, IAccount) volání, když OperatingSystemAccount se uživatel předá jako account parametr. Aktuálního uživatele můžou přihlásit jenom někteří zprostředkovatelé (WAM).

Mitigation

Na Windows použijte zprostředkovatele prostřednictvím . WithBroker(true), použijte jiný účet nebo jinak volejteAcquireTokenInteractive(IEnumerable<String>)
CustomMetadataInstanceOrUri

Co se stane?

Nakonfigurovali jste vlastní metadata instance pomocí identifikátoru URI i řetězce. Podporuje se jenom jeden.

Mitigation

Volání WithInstanceDiscoveryMetadata pouze jednou. Další podrobnosti najdete v https://aka.ms/msal-net-custom-instance-metadata.
CustomWebUiRedirectUriMismatch

Kód chyby použitý v případě, že CustomWebUI vrátil identifikátor URI, ale neodpovídá autoritě a absolutní cestě nakonfigurovaného identifikátoru URI přesměrování.

CustomWebUiReturnedInvalidUri

Kód chyby použitý při ICustomWebUi vrácení identifikátoru URI, ale je neplatný – má hodnotu null nebo nemá žádný kód. Pokud nemůžete zachytit identifikátor URI obsahující kód, zvažte vyvolání výjimky.

DefaultRedirectUriIsInvalid

Ověření identifikátoru RedirectUri se nezdařilo.

DeviceCertificateNotFound

Certifikát zařízení nebyl nalezen.

DuplicateQueryParameterError

V extraQueryParameters byl nalezen duplicitní parametr dotazu.

Co se stane?

Použili extraQueryParameter jste přepsání operací získávání tokenů ve veřejném klientovi a důvěrné klientské aplikaci a předáváte parametr, který už je v adrese URL (buď protože jste ho měli jiným způsobem, nebo ji přidala knihovna).

Zmírnění rizik [Vývoj aplikací]

Odeberte duplicitní parametr z přepsání získání tokenu.
EncodedTokenTooLong

Kódovaný token je příliš dlouhý.

Co se stane

Při volání důvěrné klientské aplikace je kontrolní výraz klienta vytvořený službou MSAL delší než maximální možná délka tokenu JWT.
ExactlyOneScopeExpected

Očekává se přesně jeden rozsah.

ExperimentalFeature

Co se stane?

Pokoušíte se použít funkci, která byla označena jako experimentální.

Mitigation

Při vytváření PublicClientApplication nebo ConfidentialClientApplication použijte . Možnost WithExperimentalFeatures() Podrobnosti najdete zde: https://aka.ms/msal-net-experimental-features
FailedToAcquireTokenSilentlyFromBroker

Nepodařilo se získat token bezobslužně. Používá se ve scénářích zprostředkovatele.

Co se stane

Volali AcquireTokenSilent(IEnumerable<String>, IAccount) jste nebo AcquireTokenSilent(IEnumerable<String>, String) a mobilní aplikace (Xamarin) využívá zprostředkovatele (Microsoft Authenticator nebo Microsoft Portál společnosti), ale zprostředkovatel nemohl token bezobslužně získat.

Mitigation

Volejte AcquireTokenInteractive(IEnumerable<String>)
FailedToGetBrokerResponse

Co se stane?

Pokoušíte se provést ověření u zprostředkovatele, ale služba MSAL nemůže přečíst odpověď od zprostředkovatele.

Mitigation

Aktuálně nainstalovaný zprostředkovatel nemusí podporovat knihovnu MSAL. Xamarin musíte zajistit, abyste nainstalovali intune Portál společnosti (5.0.4689.0 nebo novější) nebo Microsoft Authenticator (6.2001.0140 nebo novější). see https://aka.ms/Brokered-Authentication-for-Android"
FailedToRefreshToken

Obnovení tokenu se nezdařilo.

Co se stane?

Token nelze aktualizovat. Důvodem může být to, že uživatel dlouho nepoužíval aplikaci. a proto vypršela platnost obnovovacího tokenu udržovaného v mezipaměti tokenů.

Mitigation

Pokud jste ve veřejné klientské aplikaci, která podporuje interaktivitu, odešlete interaktivní požadavek AcquireTokenInteractive(IEnumerable<String>). V opačném případě použijte k získání tokenů jinou metodu.
FederatedServiceReturnedError

Federovaná služba vrátila chybu.

Mitigation

Žádná Federovaná služba vrátila chybu. Můžete se pokusit podívat se na text výjimky, abyste lépe pochopili chybu a zvolili zmírnění rizik.
ForceRefreshNotCompatibleWithTokenHash

Co se stalo?

Operace se pokusila vynutit aktualizaci tokenu při použití hodnoty hash tokenu. Tyto dvě možnosti jsou nekompatibilní, protože vynucení aktualizace obchází ukládání tokenů do mezipaměti, což je v konfliktu s ověřením hodnoty hash tokenu.

Snížení rizika:

– Při použití hodnoty hash tokenu se ujistěte, že hodnota force_refresh není nastavená na hodnotu true. – Zkontrolujte parametry požadavku a ujistěte se, že nejsou v konfliktu. – Pokud se vyžaduje hashování tokenů, povolte použití tokenu v mezipaměti místo vynucení aktualizace.
GetUserNameFailed

Nepodařilo se získat uživatelské jméno.

HttpListenerError

Při naslouchání systémovému prohlížeči k dokončení přihlášení došlo k chybě HttpListenerException.

HttpStatusCodeNotOk

ErrorCode použitý, když odpověď HTTP vrátí něco jiného než 200 (OK)

HttpStatusNotFound

Kód chyby použitý při odpovědi HTTP vrátí HttpStatusCode.NotFound

ImdsServiceError

Představuje kód chyby vrácený v případě selhání operace IMDS.

InitializeProcessSecurityError

Co se stane?

Zabezpečení procesu nastavení selhání pro povolení výběru účtu WAM v procesu se zvýšenými oprávněními

Mitigation

Podrobnosti o řešení potíží najdete v tématu https://aka.ms/msal-net-wam .
IntegratedWindowsAuthenticationFailed

K tomu může dojít v případě, že dojde k problému s konfigurací v prostředí ADFS, kde se toto ověřování provádí. Další podrobnosti vizte https://aka.ms/msal-net-iwa-troubleshooting

IntegratedWindowsAuthNotSupportedForManagedUser

Integrované ověřování Windows se podporuje jenom pro "federované" uživatele.

InteractionRequired

Kód chyby standardního protokolu OAuth2. Označuje, že aplikace musí uživateli zveřejnit uživatelské rozhraní, aby uživatel mohl provést interaktivní přihlášení, aby získal token s aktualizovanými deklaracemi identity.

Snížení rizika:

Pokud je IPublicClientApplication vaše aplikace voláním AcquireTokenInteractive interaktivní ověřování. Pokud je ConfidentialClientApplication vaší aplikací pravděpodobné, že člen deklarací identity výjimky není prázdný. Podívejte se Claims na správné zmírnění rizik.
InternalCacheDisabled

Co se stalo?

Bylo volána rozhraní API závislé na mezipaměti, ale interní mezipaměť tokenů MSAL je zakázána prostřednictvím DisableInternalCacheOptions. K tomu může dojít u rozhraní API, jako AcquireTokenSilent(IEnumerable<String>, IAccount)AcquireTokenInLongRunningProcess(...)je a .

Mitigation

Použijte tok ověřování, který nezávisí na interní mezipaměti MSAL, například AcquireTokenByRefreshToken(IEnumerable<String>, String) s obnovovacím tokenem získaným z GetRefreshToken(AuthenticationResult)nebo použijte jiný interaktivní tok, který je vhodný pro vaši aplikaci.
InternalError

Vnitřní chyba

InvalidAdalCacheMultipleRTs

Co se stane?

Mezipaměť ADAL je neplatná, protože obsahuje více položek obnovovacího tokenu pro jednoho uživatele.

Mitigation

Odstraňte mezipaměť ADAL. Pokud neudržujete mezipaměť ADAL, může se jednat o chybu v knihovně MSAL.
InvalidAuthority

Neplatná autorita

Co se stane

Když se knihovna pokusí zjistit autoritu a získat koncové body, které potřebuje k získání tokenu, získala neověřený kód HTTP nebo neočekávanou odpověď.

náprava

Zkontrolujte, jestli je autorita nakonfigurovaná pro aplikaci nebo jestli je předaná některá přepsání tokenů pro získání tokenů podporujících přepsání autority správná.
InvalidAuthorityType

Neplatný typ autority MSAL.NET neví, jak interagovat s autoritou zadanou při vytváření aplikace.

Mitigation

Použití jiné autority
InvalidAuthorizationUri

Autorizační identifikátor URI byl zachycen, ale nelze ho analyzovat. Další podrobnosti najdete v protokolu.

InvalidCertificate

Certifikát přijatý ze serveru Imds je neplatný.

InvalidClient

Azure chyba služby AD indikující problém s konfigurací.

Mitigation

Podrobnosti najdete v chybové zprávě a na portálu pro registraci aplikací proveďte nápravnou akci.https://aka.ms/msal-net-invalid-client
InvalidClientAssertion

Vráceno WithClientAssertion , když delegát poskytne null nebo prázdný řetězec JWT.

Omezení

Ujistěte se, že delegát vrátí neprázdné prostředí JWT s kódováním base-64.
InvalidClientCredentialConfiguration

Co se stane?

Nakonfigurovali jste statický certifikát (WithCertificate(X509Certificate2)) i dynamického zprostředkovatele certifikátů (WithCertificate(Func)).

Mitigation

Zvolte jeden přístup pro poskytnutí klientského certifikátu.
InvalidCredentialMaterial

Co se stalo?

Nakonfigurovaný typ přihlašovacích údajů není kompatibilní s požadovaným režimem ověřování. Tajný klíč klienta se například nedá použít s mTLS Proof-of-Possession nebo SendCertificateOverMtls protože mTLS vyžaduje certifikát pro vytvoření vazby tokenu na přenos TLS.

Snížení rizika:

Pomocí přihlašovacích údajů WithCertificate()založených na certifikátu nebo delegáta, který vrátí hodnotu s chybou TokenBindingCertificateClientSignedAssertion, kdy je vyžadován důkaz o vlastnictví mTLS.
InvalidGrantError

Kód chyby standardního protokolu OAuth2. Označuje, že aplikace musí uživateli zveřejnit uživatelské rozhraní, aby uživatel udělal interaktivní akci, aby získal nový token.

Snížení rizika:

Pokud je IPublicClientApplication vaše aplikace voláním AcquireTokenInteractive interaktivní ověřování. Pokud je ConfidentialClientApplication vaší aplikací pravděpodobné, že člen deklarací identity výjimky není prázdný. Podívejte se MsalServiceException.Claims na správné zmírnění rizik.
InvalidInstance

Chyba služby AAD označující, že nakonfigurovaná autorita neexistuje

InvalidJsonClaimsFormat

Co se stane?

Nakonfigurovali jste žádost o deklarace identity, ale řetězec deklarací identity není ve formátu JSON.

Mitigation

Ujistěte se, že je parametr deklarací identity platný json. Zkontrolujte vnitřní výjimku, kde najdete podrobnosti o parsování JSON.
InvalidJwtError

JWT je neplatný.

Co se stane?

Knihovna očekávala JWT (například token z mezipaměti nebo přijatý ze služby STS), ale formát je neplatný.

Mitigation

Ujistěte se, že mezipaměť tokenů nebyla manipulována.
InvalidManagedIdentityEndpoint

Neplatný koncový bod spravované identity

InvalidManagedIdentityIdType

Zdroj spravované identity nevybere konkrétní typ ID.

InvalidManagedIdentityResponse

V odpovědi spravované identity chybí požadovaná hodnota.

InvalidOwnerWindowType

Neplatný typ okna vlastníka

Co se stane?

Použili jste, "AcquireTokenInteractiveParameterBuilder.WithParentActivityOrWindow(object) ale předaný parametr je neplatný.

Opravné řešení

Na .NET Standard je očekávaným objektem v Activity Androidu, v iOSuUIViewController, mac NSWindow a IWin32Window Windows nebo IntPr na Windows. Pokud jste v aplikaci WPF (Windows Presentation Foundation), můžete použít WindowInteropHelper(wpfControl).Handle k získání popisovače okna přidruženého k ovládacímu prvku WPF (Windows Presentation Foundation).
InvalidRequest

Požadavek je neplatný.

Co se stane?

K tomu může dojít, protože používáte metodu získání tokenu, která není kompatibilní s autoritou. Například: Volali AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) jste, ale použili jste autoritu končící na /common nebo /consumers, protože to vyžaduje tenantovanou autoritu nebo /organizace.

Mitigation

Upravte autoritu na metodu AcquireTokenXX, kterou používáte (nepoužívejte "společné" nebo "uživatele" s AcquireTokenByUsernamePassword(IEnumerable<String>, String, String)AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>)
InvalidTokenProviderResponseValue

V odpovědi zprostředkovatele tokenu chybí požadovaná hodnota.

InvalidUserInstanceMetadata

Co se stane?

Nakonfigurovali jste vlastní metadata instance, ale zadaný kód JSON vypadá jako neplatný.

Mitigation

Podívejte se https://aka.ms/msal-net-custom-instance-metadata na příklad platného kódu JSON, který lze použít.
JsonParseError

Analýza JSON se nezdařila.

Co se stane?

Objekt blob JSON načtený z mezipaměti tokenů nebo přijatý z tokenů tokenů se nedá analyzovat. K tomu může dojít při čtení mezipaměti tokenů nebo přijetí IDTokenu ze služby STS.

Mitigation

Ujistěte se, že mezipaměť tokenů nebyla manipulována.
LinuxXdgOpen

Co se stane?

MSAL se pokusil otevřít prohlížeč v Linuxu pomocí nástrojů xdg-open, gnome-open nebo kfmclient, ale selhal.

Mitigation

Ujistěte se, že stránku můžete otevřít pomocí nástroje xdg-open. Podrobnosti najdete zde: https://aka.ms/msal-net-os-browser
LoopbackRedirectUri

Co se stane?

Aktuální adresa URL přesměrování není adresa URL zpětné smyčky.

Mitigation

Pokud chcete použít prohlížeč operačního systému, adresu URL zpětné smyčky s portem nebo bez portu, musí být nakonfigurovaná jak během registrace aplikace, tak při inicializaci objektu IPublicClientApplication. Podrobnosti najdete zde: https://aka.ms/msal-net-os-browser
LoopbackResponseUriMismatch

Co se stane?

Knihovna MSAL zachytá identifikátor URI, který pravděpodobně obsahuje autorizační kód, ale neodpovídá nakonfigurované adrese URL pro přesměrování.

Mitigation

Pokud používáte implementaci ICustomWebUi, ujistěte se, že adresa URL pro přesměrování odpovídá adrese URL obsahující ověřovací kód. Pokud nepoužíváte ICustomWebUI, může se jednat o útok man-in-the middle.
ManagedIdentityAllSourcesUnavailable

Všechny zdroje spravovaných identit nejsou k dispozici.

ManagedIdentityRequestFailed

Byla přijata chybová odpověď spravované identity.

ManagedIdentityResponseParseFailure

Byla přijata chybová odpověď spravované identity.

ManagedIdentityUnreachableNetwork

Koncový bod spravované identity není dostupný.

MissingFederationMetadataUrl

Adresa URL federačních metadat pro federovaného uživatele chybí.

MissingManagedIdentityEnvVar

Spravované identitě chybí požadovaná proměnná prostředí.

MissingPassiveAuthEndpoint

V konfiguraci OIDC autority se nenašel žádný koncový bod pasivního ověřování.

Co se stane?

Když knihovny přejdou na autoritu a získají konfiguraci připojení otevřeného ID, očekává se, že najde položku koncového bodu pasivního ověřování a nemůže ji najít.

náprava

Zkontrolujte, jestli je autorita nakonfigurovaná pro aplikaci nebo jestli je předaná některá přepsání tokenů pro získání tokenů podporujících přepsání autority správná.
MissingTenantedAuthority

Chybí tenantovaná autorita. MSAL.NET vyžaduje, aby se při vytváření aplikace zadala autorita tenanta (tj. autorita s ID tenanta) pro mTLS, ale nebyla zadána žádná.

Mitigation

Během konfigurace aplikace se ujistěte, že je zadaná autorita tenanta, která zahrnuje konkrétní ID tenanta. Použijte například "https://login.microsoftonline.com/{tenantId}" nebo podobnou strukturu URL.
MtlsBearerWithoutRegion

Co se stalo?

Nástroj mTLS Bearer je nakonfigurovaný, ale oblast nebyla zadána.

Mitigation

Ujistěte se, že je při použití nástroje mTLS Bearer nastavená konfigurace oblasti Azure, protože vyžaduje regionální koncový bod.
MtlsCertificateNotProvided

Co se stalo?

Nástroj mTLS Proof of Possession (mTLS PoP) je nakonfigurovaný, ale certifikát nebyl poskytnut.

Mitigation

Při použití nástroje mTLS PoP se ujistěte, že je v konfiguraci zadaný platný certifikát, protože se vyžaduje pro zabezpečené ověřování.
MtlsNotSupportedForManagedIdentity

Co se stalo?

MTLS není podporováno pro ověřování spravované identity.
MtlsPopNotSupportedForEnvironment

Co se stalo?

MTLS Proof of Possession (mTLS PoP) není podporováno pro zadané prostředí suverénního cloudu.

Snížení rizika:

Použijte podporovaný alternativní koncový bod pro prostředí suverénního cloudu.
MtlsPopTokenNotSupportedinImdsV1

Tokeny mTLS PoP se v IMDS V1 nepodporují.

MtlsPopWithoutRegion

Co se stalo?

Nástroj mTLS Proof of Possession (mTLS PoP) je nakonfigurovaný, ale oblast nebyla zadána.

Mitigation

Ujistěte se, že je při použití mTLS PoP nastavená konfigurace oblasti Azure, protože vyžaduje regionální koncový bod.
MultipleAccountsForLoginHint

Tento kód chyby označuje, že bylo nalezeno více účtů se stejným tipem pro přihlášení a knihovna MSAL nemůže zvolit jeden. Zadejte účet.WithAccount(IAccount)

MultipleTokensMatchedError

Několik tokenů se shodovalo.

Co se stane?

K této výjimce dochází v případě aplikací, které spravují několik identit, při volání AcquireTokenSilent(IEnumerable<String>, IAccount) nebo jednom z jeho přepsání a mezipaměť tokenů uživatele obsahuje více tokenů pro tuto klientskou aplikaci a zadaný účet, ale od různých autorit.

Zmírnění rizik [Vývoj aplikací]

zadejte autoritu, která se má použít v operaci získání tokenu.
NetworkNotAvailableError
Zastaralé.

Požadavek nelze provést, protože síť je v výpadku.

Zmírnění rizik [Vývoj aplikací]

V aplikaci můžete uživatele informovat, že došlo k problémům se sítí, nebo to zkuste znovu později.
NoAccountForLoginHint

Tento kód chyby označuje, že nebyl nalezen žádný účet s danou nápovědou pro přihlášení.

Co se stane?

AcquireTokenSilent(IEnumerable<String>, String) nebo WithLoginHint(String) byl volána pomocí parametru, který neodpovídá žádnému loginHint účtu v GetAccountsAsync()

Mitigation

Pokud jste si jistí o loginHint, zavolejte AcquireTokenInteractive(IEnumerable<String>)
NoAndroidBrokerAccountFound

MsAL nemůže najít vhodný účet pro použití se zprostředkovatelem

NoAndroidBrokerInstalledOnDevice

Služba MSAL nemůže najít zprostředkační aplikaci pro ověřování účtů.

NoClientId

Co se stane?

Nenastavili jste ID klienta.

Mitigation

Použijte ID aplikace (GUID) z portálu aplikace jako ID klienta v této sadě SDK.
NonceRequiredForPopOnPCA

Co se stane?

Požadavek má nakonfigurovaný důkaz o vlastnictví, ale nemá nakonfigurovanou jinou konfiguraci. Pro ověření vlastnictví na veřejných klientech je vyžadována nonce.

Mitigation

Pokud je pro veřejné klienty nakonfigurované ověření vlastnictví, uveďte nonce.
NonHttpsRedirectNotSupported

Přesměrování jiného typu než HTTPS se nepodporuje.

Co se stane?

K této chybě dochází, když se tok autorizace, který shromažďuje přihlašovací údaje uživatele, přesměruje na stránku, která není podporovaná, například pokud k přesměrování dojde přes http. Tato chyba se neaktivuje pro konečné přesměrování, což může být http://localhost, ale pro zprostředkující přesměrování.

Mitigation

K tomu obvykle dochází při použití federovaného adresáře, který není správně nastavený.
NonParsableOAuthError

Server OAuth2 vrátil chybovou odpověď a nepodařilo se ji analyzovat.

NoPromptFailedError

Došlo k jedné ze dvou podmínek:

  • Bylo Prompt.NoPrompt předáno v interaktivním volání tokenu, ale omezení nebylo možné respektovat, protože je vyžadována interakce uživatele, například proto, že uživatel musí znovu přihlásit, udělit souhlas pro více oborů nebo provést vícefaktorové ověřování.
  • Během tichého webového ověřování došlo k chybě, která zabránila dokončení toku ověřování za krátkou dobu.

Náprava:

zavolejte AcquireTokenInteractive , aby se uživatel vaší aplikace přihlašuje a přijal souhlas.
NoRedirectUri

Žádný identifikátor URI přesměrování.

Co se stane?

Potřebujete zadat identifikátor URI odpovědi nebo identifikátor URI přesměrování, ale nevolal se. WithRedirectUri(String)
NoTokensFoundError

V mezipaměti tokenů nebyl nalezen žádný token.

Snížení rizika:

Pokud je vaše aplikace voláním IPublicClientApplicationAcquireTokenInteractive , aby se uživatel aplikace přihlašuje a přijal souhlas.
  • Pokud se jedná o webovou aplikaci, měla byste mít dříve název IConfidentialClientApplication.AcquireTokenByAuthorizationCode, jak je popsáno v tématu https://aka.ms/msal-net-authorization-code. Musíte se ujistit, že jste požadovali správné obory. Podrobnosti najdete v tématu https://github.com/Azure-Samples/ms-identity-aspnetcore-webapp-tutorial
  • Tato chyba by neměla nastat ve webových rozhraních API.
NoUsernameOrAccountIDProvidedForSilentAndroidBrokerAuthentication

Správce účtů androidu se nedá dotazovat, protože v žádosti o bezobslužné ověřování není zadané žádné ID uživatelského jména nebo domovského účtu.

NullIntentReturnedFromAndroidBroker

Byl vrácen záměr null, takže aktivitu zprostředkovatele nelze spustit.

OboCacheKeyNotInCacheError

Co se stane?

Mezipaměť tokenů neobsahuje token s klíčem mezipaměti OBO, který odpovídá předaným AcquireTokenInLongRunningProcess(IEnumerable<String>, String)klíčům longRunningProcessSessionKey .

Mitigation

Zavolejte InitiateLongRunningProcessInWebApi(IEnumerable<String>, String, String) s tímto longRunningProcessSessionKey prvním voláním nebo s již použitým longRunningProcessSessionKeyvoláním AcquireTokenInLongRunningProcess(IEnumerable<String>, String) .
ParsingWsMetadataExchangeFailed

Analýza metadat WS Exchange se nezdařila.

ParsingWsTrustResponseFailed

Tato chyba se může zobrazit při použití AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) v případě federovaného uživatele (vlastněného federovaným zprostředkovatelem identity, na rozdíl od spravovaného uživatele vlastněného v tenantovi Azure AD) ID3242: Token zabezpečení nelze ověřit ani autorizovat. Uživatel neexistuje nebo zadal nesprávné heslo.

PasswordRequiredForManagedUserError

Pro spravovaného uživatele se vyžaduje heslo.

Co se stane?

Pokud se tato chyba může zobrazit při použití AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) a vy (nebo uživatel) nezadali heslo.
PlatformNotSupported

Knihovna se načte na platformě, která se nepodporuje.

RedirectUriValidationFailed

Ověření identifikátoru RedirectUri se nezdařilo.

Co se stane?

Identifikátor URI přesměrování nebo identifikátor URI odpovědi je neplatný.

Jak opravit

Předejte platný identifikátor URI přesměrování.
RegionalAndAuthorityOverride

Co se stane?

Nakonfigurovali jste WithAuthority na úrovni požadavku a také WithAzureRegion. To se nepodporuje, když se prostředí změní z aplikace na žádost.

Mitigation

Místo toho použijte WithTenantId na úrovni požadavku.
RegionalAuthorityValidation

Co se stane?

Nakonfigurovali jste ověření regionální autority i autority. Ověření autority se v současné době nepodporuje pro regionální orgány.

Mitigation

Nastavte příznak validateAuthority na false pro použití Azure regionální autority. Pokud autoritu přečtete z nedůvěryhodného zdroje, například z hlavičky WWWAuthenticate požadavku HTTP, která způsobila odpověď 401, nezakazujte ověření autority.
RegionDiscoveryFailed

Zjišťování oblastí se nezdařilo.

RegionDiscoveryNotEnabled

Co se stane?

Vlastnost WithAzureRegion je nastavená na hodnotu true

Mitigation

Zjišťování oblastí nelze provést pro autoritu ADFS.
RegionDiscoveryWithCustomInstanceMetadata

Co se stane?

Nakonfigurovali jste zjišťování oblastí i metadata vlastní instance. Vlastní metadata nahrazuje zjišťování oblastí.

Mitigation

Nakonfigurujte buď zjišťování oblastí, nebo metadata zjišťování vlastních instancí.
RegionRequiredForMtlsPop

Co se stalo?

MTLS Proof of Possession (mTLS PoP) vyžaduje zadání konkrétní Azure oblasti.

Snížení rizika:

Ujistěte se, že je při použití mTLS PoP nastavená konfigurace oblasti Azure, protože vyžaduje regionální koncový bod.
RequestThrottled

Služba vrátila kód chyby HTTP 429, který indikuje, že došlo k omezení požadavku. Další podrobnosti najdete v tématu https://aka.ms/msal-net-throttling

RequestTimeout

Vypršel časový limit požadavku HTTP na stS.

Mitigation

můžete to zkusit znovu po prodlevě.
RopcDoesNotSupportMsaAccounts

Došlo k pokusu o udělení přihlašovacích údajů vlastníka hesla vlastníka prostředku (ROPC) s účtem MSA (Microsoft osobní). ROPC nepodporuje účty MSA. Podrobnosti najdete zde: https://aka.ms/msal-net-ropc

ScopesRequired

Co se stane?

Nebyly požadovány žádné obory.

Mitigation

Pro tento tok ověřování musí být zadán alespoň jeden obor.
ServiceNotAvailable

Služba není dostupná a vrátí kód chyby HTTP v rozsahu 500–599.

Mitigation

můžete to zkusit znovu po prodlevě.
SetCiamAuthorityAtRequestLevelNotSupported

Nastavení autority CIAM (např. {tenantName}.ciamlogin.com) na úrovni žádosti se nepodporuje. Autorita CIAM musí být nastavena během vytváření aplikace.

SSHCertUsedAsHttpHeader

Co se stane?

Nakonfigurovali jste MSAL pro vyžádání certifikátů SSH z AAD a pokoušíte se naformátovat hlavičku ověřování HTTP.

Mitigation

Certifikáty SSH by se neměly používat jako nosné tokeny. Vývojáři zodpovídají za odesílání certifikátů cílovým počítačům.
StateMismatchError

Stav vrácený službou STS se liší od stavu odeslaného knihovnou.

Co se stane?

Knihovna odešle do služby TOKENS stav přidružený k požadavku a očekává, že odpověď bude konzistentní. Tyto chyby značí, že odpověď není přidružená k žádosti. To může znamenat pokus o přehrání odpovědi.

Mitigation

None
StaticCacheWithExternalSerialization

Co se stane?

Serializace mezipaměti MSAL jste nakonfigurovali současně se statickou interní mezipamětí prostřednictvím WithCacheOptions(CacheOptions) těchto služeb se vzájemně vylučují.

Mitigation

Použijte pouze jednu možnost. Scénáře webového a webového rozhraní API by měly spoléhat na serializaci externí mezipaměti, protože interní serializace mezipaměti nemůže škálovat. Viz https://aka.ms/msal-net-cca-token-cache-serialization.
SystemWebviewOptionsNotApplicable

Co se stane?

Nakonfigurovali jste interaktivní ověřování MSAL tak, aby používalo vložené webové zobrazení a také jste nakonfigurovali SystemWebViewOptions. Vzájemně se vylučují.

Mitigation

Buď nastavte WithUseEmbeddedWebView(Boolean) na hodnotu true, nebo nepoužívejte WithSystemWebViewOptions(SystemWebViewOptions)
TelemetryConfigOrTelemetryCallback

Co se stane?

Nakonfigurovali jste zpětné volání telemetrie i konfiguraci telemetrie.

Mitigation

Je možné nakonfigurovat pouze jeden mechanismus telemetrie.
TenantDiscoveryFailedError

Zjišťování tenanta se nezdařilo.

Co se stane?

Při čtení konfigurace OpenId přidružené k autoritě, koncovému bodu autorizace nebo koncovému bodu tokenu nebo se nenašel vystavitel.

Mitigation

To označuje a autoritu, která není kompatibilní se standardem Open ID Connect. Zadejte jinou autoritu v konstruktoru aplikace nebo přepsání tokenu ///
TenantOverrideNonAad

Co se stane?

Nakonfigurovali jste withTenant na úrovni požadavku, ale aplikace používá jinou autoritu než AAD, které se vzájemně vylučují.

Mitigation

WithTenantId lze použít pouze ve spojení s autoritami AAD.
TokenCacheNullError
Zastaralé.

Tento kód chyby se vrátí z AcquireTokenSilent(IEnumerable<String>, IAccount) volání, když mezipaměť uživatele nebyla nastavena v konstruktoru aplikace. V MSAL.NET 3.x by k tomu nikdy nemělo dojít, protože aplikace vytváří mezipaměť.

TokenTypeMismatch

Co se stane?

Požádali jste o jeden typ tokenu, ale neobdrželi jste ho.

Mitigation

K tomu dochází v případě, že zprostředkovatel identity (AAD, B2C, ADFS atd.) nepodporuje nebo implementuje požadovaný typ tokenu. V případě ADFS zvažte upgrade na nejnovější verzi.
UapCannotFindDomainUser

Nelze získat přístup k uživateli z operačního systému (UPW)

Co se stane

Volali AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>)jste, ale uživatelské jméno domény nebylo nalezeno.

Mitigation

Důvodem může být to, že v souboru Package.appxmanifest potřebujete do aplikace UPW přidat další možnosti. Viz https://aka.ms/msal-net-uwp.
UapCannotFindUpn

Uživatele nelze získat z operačního systému (UPW)

Co se stane

Volali AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>)jste, ale uživatelské jméno domény nebylo nalezeno.

Mitigation

Důvodem může být to, že v souboru Package.appxmanifest potřebujete do aplikace UPW přidat další možnosti. Viz https://aka.ms/msal-net-uwp.
UnableToParseAuthenticationHeader

Knihovna MSAL nemůže analyzovat hlavičku ověřování vrácenou z koncového bodu. Může to být výsledek poškozených hlaviček vrácených v WWW-Authenticate nebo kolekcích Authentication-Info.

UnauthorizedClient

Klient nemá oprávnění k přístupu k prostředku. K tomu obvykle dochází, když jsou povolené zásady správy mobilních aplikací (MAM). MSAL vyvolá výjimku v takovém případě s protection_policy_required dílčí chybou.

Mitigation

Zachyťte výjimku a pomocí vlastností v ní získejte správné parametry ze sady Intune SDK. IntuneAppProtectionPolicyRequiredException
UnknownBrokerError

Došlo k neznámé chybě zprostředkovatele.

Mitigation

Žádná Možná budete chtít koncového uživatele informovat.
UnknownError

Došlo k neznámé chybě.

Mitigation

Žádná Možná budete chtít koncového uživatele informovat.
UnknownManagedIdentityError

Byla přijata neznámá chybová odpověď.

UnknownUser

Co se stane

Tato chyba se může zobrazit při použití AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) zprostředkovatele identity, který uživatel nezná.

Mitigation

Informujte uživatele. Přihlášení, které uživatel zadal, může být nesprávné (například prázdné).
UnknownUserType

Co se stane

Tato chyba se může zobrazit, když použití AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) uživatele není rozpoznáno jako spravovaný uživatel nebo federovaný uživatel. Azure SLUŽBA AD nemohla identifikovat zprostředkovatele identity, který potřebuje zpracovat uživatele

Mitigation

Informujte uživatele. přihlášení, které uživatel zadal, může být nesprávné.
UpnRequired

loginHint by měl být hlavní jméno uživatele (UPN)

Co se stane?

Byla volána přepsání operace získání tokenu, která IPublicClientApplication přebírá loginHint jako parametry, ale tato nápověda pro přihlášení nebyla ve formátu UserPrincipalName (UPN), například john.doe@contoso.com očekávaná službou.

Opravné řešení

Ujistěte se, že v kódu vynucujete loginHint , aby byl hlavním uživatelem uživatele (UPN).
UserAssertionNullError

Tento kód chyby se vrátí z AcquireTokenOnBehalfOf(IEnumerable<String>, UserAssertion) volání, když se jako UserAssertion parametr předá kontrolní výraz uživatele s hodnotou null.

Mitigation

Předání platné hodnoty pro kontrolní výraz uživatele
UserAssignedManagedIdentityNotConfigurableAtRuntime

Spravovaná identita přiřazená uživatelem není možné konfigurovat za běhu pro Service Fabric.

UserAssignedManagedIdentityNotSupported

Spravovaná identita přiřazená uživatelem není pro tento zdroj podporovaná.

UserMismatch

Neshoda uživatelů

UserNullError

Tento kód chyby se vrátí z AcquireTokenSilent(IEnumerable<String>, IAccount) volání, když se jako parametr předá account uživatel s hodnotou null. Důvodem může být to, že jste volali AcquireTokenSilent s parametrem nastaveným account na accounts.FirstOrDefault() , ale accounts je prázdný.

Mitigation

Předání jiného účtu nebo jiného volání AcquireTokenInteractive(IEnumerable<String>)
UserRealmDiscoveryFailed

Zjišťování sféry uživatele se nezdařilo.

ValidateAuthorityOrCustomMetadata

Co se stane?

Nakonfigurovali jste vlastní metadata instance a také jste nastavili ověřit autoritu na true. Vzájemně se vylučují.

Mitigation

Nastavte příznak ověření autority na false. Další podrobnosti najdete v https://aka.ms/msal-net-custom-instance-metadata.
WABError

Co se stane?

Windows Zprostředkovatel ověřování, který zpracovává interakci mezi uživatelem a AAD, selhal.

Mitigation

Další podrobnosti najdete v chybové zprávě.
WamFailedToSignout

Přihlášení WAM se nezdařilo.

WamInteractiveError

Výjimka služby WAM, ke které může dojít při volání AcquireTokenInteractive

WamNoB2C

Zprostředkovatel Windows (WAM) je podporován pouze ve spojení s "pracovními a školními" účty a s účty Microsoft.

WamPickerError

Výjimka služby WAM, ke které může dojít při volání AcquireTokenInteractive a místní okno pro výběr účtu

WamScopesRequired

Co se stane?

Nebyly požadovány žádné obory.

Mitigation

Pro WAM modulu RUNTIME MSAL musí být zadán alespoň jeden obor.
WamUiThread

Při volání AcquireTokenInteractive s zprostředkovatele WAM musí být volání provedeno z vlákna uživatelského rozhraní.

WebView2LoaderNotFound

Co se stane?

Vložený prohlížeč WebView2 nelze spustit, protože nelze načíst komponentu modulu runtime.

Mitigation

Podrobnosti o řešení potíží najdete v tématu https://aka.ms/msal-net-webview2 .
WebView2NotInstalled

Co se stane?

Vložený prohlížeč nelze spustit, protože chybí součást modulu runtime.

Mitigation

Vložený prohlížeč potřebuje, aby se nainstaloval modul runtime WebView2. Koncový uživatel aplikace může stáhnout a nainstalovat modul runtime WebView2 z https://go.microsoft.com/fwlink/p/?LinkId=2124703 aplikace a restartovat aplikaci. Vývojář aplikace může získat distribuovatelnou verzi modulu runtime WebView2.
WebviewUnavailable

Vybrané webové zobrazení není na této platformě k dispozici. Můžete přepnout na jiný webView pomocí WithUseEmbeddedWebView(Boolean). Podrobnosti najdete v tématu https://aka.ms/msal-net-os-browser

WsTrustEndpointNotFoundInMetadataDocument

WS-Trust koncový bod nebyl v dokumentu metadat nalezen.

Platí pro