MsalError Classe

Definição

Código de erro retornado como uma propriedade em MsalException

public static class MsalError
type MsalError = class
Public Class MsalError
Herança
MsalError

Campos

Nome Description
AccessDenied

Acesso negado.

AccessingWsMetadataExchangeFailed

Falha ao acessar os metadados do WS Exchange.

O que acontece?

Você tentou usar AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) e a conta é uma conta federada.

Atenuação

None. Os metadados do WS não foram encontrados ou não correspondem ao esperado.
AccessTokenTypeMissing

O que acontece?

A resposta do ponto de extremidade do token não contém o parâmetro token_type.

Atenuação

Isso acontece se o provedor de identidade (AAD, B2C, ADFS etc.) não incluir o tipo de token de acesso na resposta do token. Verifique a configuração do provedor de identidade.
ActivityRequired

No Android, você precisa chamar AcquireTokenInteractiveParameterBuilder.WithParentActivityOrWindow(object) a passagem da atividade. Consulte https://aka.ms/msal-interactive-android

AdfsNotSupportedWithBroker

O que acontece?

O Broker é configurado com uma autoridade do ADFS, no entanto, ele não dá suporte a ambientes do ADFS.

Atenuação

O Broker não dá suporte a ambientes do ADFS.
AndroidBrokerOperationFailed

Falha ao concluir a operação do Android Broker

AndroidBrokerSignatureVerificationFailed

Falha ao validar a assinatura do agente android

AuthenticationCanceledError

Autenticação cancelada.

O que acontece?

O usuário cancelou a autenticação, por exemplo, fechando a caixa de diálogo de autenticação

Atenuação

Nenhum, você não pode obter um token para chamar a API protegida. Talvez você queira informar o usuário
AuthenticationFailed

Falha na autenticação.

O que acontece?

Falha na autenticação. Por exemplo, o usuário não inseriu a senha certa

Atenuação

Informe o usuário para tentar novamente.
AuthenticationUiFailed

A solicitação não pôde ser executada devido a uma falha desconhecida no fluxo da interface do usuário.*

Atenuação

Informe o usuário.
AuthenticationUiFailedError

A solicitação não pôde ser executada devido a uma falha no fluxo da interface do usuário.

O que acontece?

Falha na biblioteca ao invocar o Modo de Exibição da Web necessário para executar a autenticação interativa. A exceção pode incluir o motivo

Atenuação

Se a exceção incluir o motivo, você poderá informar o usuário. Isso pode ser, por exemplo, um navegador que implementa guias cromadas está ausente no telefone Android (isso é apenas um exemplo: essa exceção também pode se aplicar a outras plataformas)
AuthorityHostMismatch

A nuvem (host de URL de autoridade) definida no nível do aplicativo não pode ser diferente da nuvem no nível da solicitação.

O que acontece?

Você não definiu uma autoridade no nível do aplicativo, portanto, ela usa como padrão a nuvem pública (login.microsoft.com), mas a autoridade no nível de solicitação é para uma nuvem diferente. Somente o locatário pode ser alterado no nível da solicitação.

Atenuação

Adicionar . WithAuthority("https://login.windows-ppe.net/common) no nível do aplicativo e especifique o locatário no nível da solicitação: . WithAuthority("https://login.windows-ppe.net/1234-567-890-12345678).
AuthorityTenantSpecifiedTwice

O que acontece?

Você especificou um locatário duas vezes - uma vez em WithAuthority() e uma vez usando WithTenant()

Atenuação

Especifique o locatário uma vez.
AuthorityTypeMismatch

O que acontece?

A autoridade configurada no nível do aplicativo é diferente da autoridade configurada no nível da solicitação

Atenuação

Verifique se o mesmo tipo de autoridade é usado
AuthorityValidationFailed

Falha na validação da autoridade.

O que acontece?

Falha na validação da autoridade. Isso pode ser porque a autoridade não está em conformidade com o padrão OIDC ou pode haver um problema de segurança

Atenuação

Use uma autoridade diferente. Se você tiver certeza absoluta de que pode confiar na autoridade, poderá usar a WithAuthority(AadAuthorityAudience, Boolean) passagem do validateAuthority parâmetro para false (não recomendado)
B2CAuthorityHostMismatch

O host de autoridade B2C não é o mesmo usado ao criar o aplicativo cliente.

BrokerApplicationRequired

O que acontece?

Um aplicativo de agente é necessário, mas não foi possível encontrar ou se comunicar com ele.

Atenuação

Instalar um aplicativo de agente, como o Authenticator, no repositório de aplicativos
BrokerDoesNotSupportPop

O que acontece?

A solicitação tem o agente habilitado e a Prova de Posse configurada, mas o agente não dá suporte à Prova de Posse

Atenuação

configure somente a Prova de Posse para clientes públicos nas janelas.
BrokerNonceMismatch

O nonce de resposta do agente não corresponde ao nonce de solicitação enviado por MSAL.NET para o agente >do iOS = v6.3.19

BrokerRequiredForPop

O que acontece?

A solicitação tem a Prova de Posse configurada, mas não tem o agente habilitado. O agente é necessário para usar a Prova de Posse em clientes públicos

Atenuação

Habilite o agente quando a Prova de Posse estiver configurada.
BrokerResponseHashMismatch

O hash de resposta do agente não correspondeu

BrokerResponseReturnedError

A resposta do agente retornou um erro

CannotAccessUserInformationOrUserNotDomainJoined

Não é possível acessar informações do usuário ou o usuário não é um domínio de usuário.

O que acontece?

Você tentou usar AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>) , mas o usuário não é um usuário de domínio (o computador não é ingressado no domínio ou no AAD)
CannotInvokeBroker

A MSAL não é capaz de invocar o agente. Os possíveis motivos são que o agente não está instalado no dispositivo do usuário ou houve problemas com o UiParent ou CallerViewController sendo nulo. Consulte https://aka.ms/msal-brokers

CannotSwitchBetweenImdsVersionsForPreview

O sistema já recuou no IMDS V1 e só pode obter tokens de portador. Ele precisa ser reiniciado para obter tokens de PoP do mTLS.

CertificateNotRsa

O que acontece?

O certificado fornecido não é do tipo RSA.

Atenuação

Use um certificado RSA.
CertWithoutPrivateKey

O que acontece?

O certificado fornecido não tem uma chave privada.

Atenuação

Verifique se o certificado tem uma chave privada.
ClientCredentialAuthenticationTypeMustBeDefined

O que acontece?

Você configurou a autenticação de cliente confidencial MSAL sem um tipo de autenticação (Certificado, Segredo, Declaração do Cliente)

Atenuação

Chame ConfidentialClientApplicationBuilder.WithClientSecret, ConfidentialClientApplicationBuilder.WithCertificate, ConfidentialClientApplicationBuilder.WithClientAssertion
ClientCredentialAuthenticationTypesAreMutuallyExclusive

O que acontece?

Você configurou a autenticação de cliente confidencial msal com mais de um tipo de autenticação (Certificado, Segredo, Declaração do Cliente)
CodeExpired

O que acontece?

No contexto do fluxo de código do dispositivo (Veja https://aka.ms/msal-net-device-code-flow), esse erro ocorre quando o código do dispositivo expirou antes de o usuário entrar em outro dispositivo (isso geralmente ocorre após 15 minutos).

Atenuação

None. Informe ao usuário que ele demorou muito para entrar na URL fornecida e insira o código fornecido.
CombinedUserAppCacheNotSupported

Não há suporte para o uso de armazenamento simples combinado, como um arquivo, para armazenar tokens de aplicativo e de usuário. Use um cache de token particionado (por exemplo, cache distribuído como Redis) ou arquivos separados para caches de token de aplicativo e de usuário. Consulte https://aka.ms/msal-net-token-cache-serialization .

CryptographicError

Ocorreu uma exceção criptográfica ao tentar usar o certificado fornecido

CurrentBrokerAccount

Esse código de erro volta de AcquireTokenSilent(IEnumerable<String>, IAccount) chamadas quando o OperatingSystemAccount usuário é passado como o account parâmetro. Somente alguns agentes (WAM) podem fazer logon no usuário atual.

Atenuação

Em Windows, use o agente por meio de . WithBroker(true), use uma conta diferente ou chame de outra formaAcquireTokenInteractive(IEnumerable<String>)
CustomMetadataInstanceOrUri

O que acontece?

Você configurou seus próprios metadados de instância usando um Uri e uma cadeia de caracteres. Há suporte para apenas um.

Atenuação

Chame WithInstanceDiscoveryMetadata apenas uma vez. Confira https://aka.ms/msal-net-custom-instance-metadata para saber mais.
CustomWebUiRedirectUriMismatch

Código de erro usado quando o CustomWebUI retornou um URI, mas não corresponde à Autoridade e ao AbsolutePath do URI de redirecionamento configurado.

CustomWebUiReturnedInvalidUri

Código de erro usado quando o ICustomWebUi URI retornou, mas é inválido - ele é nulo ou não tem código. Considere gerar uma exceção se não for possível interceptar o URI que contém o código.

DefaultRedirectUriIsInvalid

Falha na validação do RedirectUri.

DeviceCertificateNotFound

Certificado do dispositivo não encontrado.

DuplicateQueryParameterError

O parâmetro de consulta duplicado foi encontrado em extraQueryParameters.

O que acontece?

Você usou extraQueryParameter substituições de operações de aquisição de token no cliente público e no aplicativo cliente confidencial e está passando um parâmetro que já está presente na URL (seja porque você o tinha de outra forma ou a biblioteca a adicionou).

Mitigação [Desenvolvimento de Aplicativos]

RemovaAccount do parâmetro duplicado da substituição de aquisição de token.
EncodedTokenTooLong

Token codificado muito longo.

O que acontece

Em uma chamada de aplicativo cliente confidencial, a declaração de cliente criada pela MSAL é maior do que o tamanho máximo possível para um token JWT.
ExactlyOneScopeExpected

Exatamente um escopo é esperado.

ExperimentalFeature

O que acontece?

Você está tentando usar um recurso que foi marcado como experimental

Atenuação

Ao criar o PublicClientApplication ou ConfidentialClientApplication, use . Opção WithExperimentalFeatures(). Consulte https://aka.ms/msal-net-experimental-features para obter detalhes.
FailedToAcquireTokenSilentlyFromBroker

Falha ao adquirir o token silenciosamente. Usado em cenários de agente.

O que acontece

você chamou AcquireTokenSilent(IEnumerable<String>, IAccount) ou AcquireTokenSilent(IEnumerable<String>, String) e seu aplicativo móvel (Xamarin) aproveita o agente (Microsoft Authenticator ou Microsoft Portal da Empresa), mas o agente não conseguiu adquirir o token silenciosamente.

Atenuação

Chama AcquireTokenInteractive(IEnumerable<String>)
FailedToGetBrokerResponse

O que acontece?

Você está tentando se autenticar com o agente, mas a MSAL não consegue ler a resposta do agente.

Atenuação

O agente atualmente instalado pode não dar suporte à MSAL. Xamarin, você precisa garantir que instalou o Intune Portal da Empresa (5.0.4689.0 ou superior) ou Microsoft Authenticator (6.2001.0140 ou superior). ver https://aka.ms/Brokered-Authentication-for-Android"
FailedToRefreshToken

Falha ao atualizar o token.

O que acontece?

Não foi possível atualizar o token. Isso pode ocorrer porque o usuário não utiliza o aplicativo há muito tempo. e, portanto, o token de atualização mantido no cache de token expirou

Atenuação

Se você estiver em um aplicativo cliente público, que dê suporte à interatividade, envie uma solicitação AcquireTokenInteractive(IEnumerable<String>)interativa. Caso contrário, use um método diferente para adquirir tokens.
FederatedServiceReturnedError

Erro retornado pelo serviço federado.

Atenuação

None. O serviço federado retornou um erro. Você pode tentar examinar o corpo da exceção para obter uma melhor compreensão do erro e escolher a mitigação
ForceRefreshNotCompatibleWithTokenHash

O que aconteceu?

A operação tentou forçar uma atualização de token ao usar também um hash de token. Essas duas opções são incompatíveis porque forçar uma atualização ignora o cache de token, que entra em conflito com a validação de hash de token.

Atenuação:

- Verifique se 'force_refresh' não está definido como 'true' ao usar um hash de token. - Examine os parâmetros de solicitação para garantir que eles não sejam conflitantes. - Se o hash de token for necessário, permita que o token armazenado em cache seja usado em vez de forçar uma atualização.
GetUserNameFailed

Falha ao obter o nome de usuário.

HttpListenerError

Ocorreu um HttpListenerException enquanto escutava o navegador do sistema para concluir o logon.

HttpStatusCodeNotOk

ErrorCode usado quando a resposta HTTP retorna algo diferente de 200 (OK)

HttpStatusNotFound

Código de erro usado quando a resposta HTTP retorna HttpStatusCode.NotFound

ImdsServiceError

Representa o código de erro retornado quando uma operação IMDS falha.

InitializeProcessSecurityError

O que acontece?

Falha ao configurar a segurança do processo para habilitar o Seletor de Conta do WAM em um processo elevado.

Atenuação

Para obter detalhes de solução de problemas, consulte https://aka.ms/msal-net-wam .
IntegratedWindowsAuthenticationFailed

Isso pode ocorrer se houver um problema de configuração no ambiente do ADFS em que isso está sendo autenticado. Veja https://aka.ms/msal-net-iwa-troubleshooting para mais detalhes

IntegratedWindowsAuthNotSupportedForManagedUser

A autenticação de Windows integrada só tem suporte para usuários "federados"

InteractionRequired

Código de erro de protocolo OAuth2 padrão. Ele indica que o aplicativo precisa expor a interface do usuário para que o usuário possa fazer um logon interativo para obter um token com declarações atualizadas.

Atenuação:

Se o aplicativo for uma IPublicClientApplication chamada AcquireTokenInteractive , execute uma autenticação interativa. Se o aplicativo for uma ConfidentialClientApplication possibilidade de que o membro declarações da exceção não esteja vazio. Consulte Claims a mitigação correta
InternalCacheDisabled

O que aconteceu?

Uma API dependente de cache foi chamada, mas o cache de token interno da MSAL está desabilitado por meio de DisableInternalCacheOptions. Isso pode ocorrer com APIs como AcquireTokenSilent(IEnumerable<String>, IAccount) e AcquireTokenInLongRunningProcess(...).

Atenuação

Use um fluxo de autenticação que não dependa do cache interno da MSAL, como AcquireTokenByRefreshToken(IEnumerable<String>, String) com o token de GetRefreshToken(AuthenticationResult)atualização obtido ou use outro fluxo interativo, conforme apropriado para seu aplicativo.
InternalError

Erro interno

InvalidAdalCacheMultipleRTs

O que acontece?

O cache ADAL é inválido, pois contém várias entradas de token de atualização para um usuário.

Atenuação

Exclua o cache da ADAL. Se você não mantiver um cache ADAL, isso pode ser um bug na MSAL.
InvalidAuthority

Autoridade inválida

O que acontece

Quando a biblioteca tenta descobrir a autoridade e obter os pontos de extremidade necessários para adquirir um token, ela recebeu um código HTTP não autorizado ou uma resposta inesperada

Remediação

Verifique se a autoridade configurada para o aplicativo ou passou algumas substituições de tokens de aquisição de token que dão suporte à substituição de autoridade está correta
InvalidAuthorityType

Tipo de autoridade inválido. MSAL.NET não sabe como interagir com a autoridade especificada quando o aplicativo foi criado.

Atenuação

Usar uma autoridade diferente
InvalidAuthorizationUri

Um Uri de autorização foi interceptado, mas não pode ser analisado. Consulte o log para obter mais detalhes.

InvalidCertificate

O certificado recebido do servidor Imds é inválido.

InvalidClient

Azure erro de serviço do AD indicando um problema de configuração.

Atenuação

Consulte a mensagem de erro para obter detalhes e, em seguida, execute uma ação corretiva no portal de registro do aplicativo Para obter https://aka.ms/msal-net-invalid-client detalhes.
InvalidClientAssertion

Retornado quando um WithClientAssertion delegado fornece uma null cadeia de caracteres JWT ou vazia.

Mitigação

Verifique se o delegado retorna um JWT não vazio codificado em base 64.
InvalidClientCredentialConfiguration

O que acontece?

Você configurou um certificado estático (WithCertificate(X509Certificate2)) e um provedor de certificado dinâmico (WithCertificate(Func)).

Atenuação

Escolha uma abordagem para fornecer o certificado do cliente.
InvalidCredentialMaterial

O que aconteceu?

O tipo de credencial configurado não é compatível com o modo de autenticação solicitado. Por exemplo, um segredo do cliente não pode ser usado com a Prova de Posse do mTLS ou SendCertificateOverMtls porque o mTLS requer um certificado para associar o token ao transporte TLS.

Atenuação:

Use uma credencial baseada em certificado por meio WithCertificate()de , ou um delegado que retorna um ClientSignedAssertion com um TokenBindingCertificate quando mTLS Proof-of-Possession é necessário.
InvalidGrantError

Código de erro de protocolo OAuth2 padrão. Ele indica que o aplicativo precisa expor a interface do usuário para que o usuário faça uma ação interativa para obter um novo token.

Atenuação:

Se o aplicativo for uma IPublicClientApplication chamada AcquireTokenInteractive , execute uma autenticação interativa. Se o aplicativo for uma ConfidentialClientApplication possibilidade de que o membro declarações da exceção não esteja vazio. Consulte MsalServiceException.Claims a mitigação correta
InvalidInstance

Erro de serviço do AAD indicando que a autoridade configurada não existe

InvalidJsonClaimsFormat

O que acontece?

Você configurou uma solicitação de declarações, mas a cadeia de caracteres de declarações não está no formato JSON

Atenuação

Verifique se o parâmetro de declarações é JSON válido. Inspecione a exceção interna para obter detalhes sobre a análise JSON.
InvalidJwtError

JWT era inválido.

O que acontece?

A biblioteca esperava um JWT (por exemplo, um token do cache ou recebido do STS), mas o formato é inválido

Atenuação

Verifique se o cache de token não foi adulterado
InvalidManagedIdentityEndpoint

Ponto de extremidade de identidade gerenciada inválido.

InvalidManagedIdentityIdType

A origem da identidade gerenciada não seleciona um tipo de ID específico.

InvalidManagedIdentityResponse

Um valor necessário está ausente da resposta de identidade gerenciada.

InvalidOwnerWindowType

Tipo de janela de proprietário inválido.

O que acontece?

Você usou "AcquireTokenInteractiveParameterBuilder.WithParentActivityOrWindow(object) , mas o parâmetro que você passou é inválido.

Remediation

No .NET Standard, o objeto esperado é um Activity no Android, um UIViewController no iOS, um NSWindow no MAC e um IWin32Window ou IntPr em Windows. Se você estiver em um aplicativo WPF, poderá usar WindowInteropHelper(wpfControl).Handle para obter o identificador de janela associado a um controle WPF
InvalidRequest

A solicitação é inválida.

O que acontece?

Isso pode acontecer porque você está usando um método de aquisição de token que não é compatível com a autoridade. Por exemplo: você ligou AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) , mas usou uma autoridade que termina com '/common' ou '/consumers', pois isso requer uma autoridade locatário ou '/organizações'.

Atenuação

Ajustar a autoridade ao método AcquireTokenXX usado (não use 'common' ou 'consumers' com AcquireTokenByUsernamePassword(IEnumerable<String>, String, String)AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>)
InvalidTokenProviderResponseValue

Um valor necessário está ausente da resposta do provedor de token

InvalidUserInstanceMetadata

O que acontece?

Você configurou seus próprios metadados de instância, mas o json fornecido parece ser inválido.

Atenuação

Consulte https://aka.ms/msal-net-custom-instance-metadata um exemplo de um json válido que pode ser usado.
JsonParseError

Falha na análise JSON.

O que acontece?

Um blob JSON lido do cache de token ou recebido do STS não era analisável. Isso pode acontecer ao ler o cache de token ou receber um IDToken do STS.

Atenuação

Verifique se o cache de token não foi adulterado
LinuxXdgOpen

O que acontece?

A MSAL tentou abrir o navegador no Linux usando as ferramentas xdg-open, gnome-open ou kfmclient, mas falhou.

Atenuação

Certifique-se de abrir uma página usando a ferramenta xdg-open. Consulte https://aka.ms/msal-net-os-browser para obter detalhes.
LoopbackRedirectUri

O que acontece?

A URL de redirecionamento atual não é uma URL de loopback.

Atenuação

Para usar o navegador do sistema operacional, uma URL de loopback, com ou sem uma porta, deve ser configurada durante o registro do aplicativo e ao inicializar o objeto IPublicClientApplication. Consulte https://aka.ms/msal-net-os-browser para obter detalhes.
LoopbackResponseUriMismatch

O que acontece?

A MSAL interceptou um Uri possivelmente contendo um código de autorização, mas não corresponde à URL de redirecionamento configurada.

Atenuação

Se você estiver usando uma implementação ICustomWebUi, verifique se a URL de redirecionamento corresponde à URL que contém o código de autenticação. Se você não estiver usando um ICustomWebUI, isso pode ser um ataque de homem no meio.
ManagedIdentityAllSourcesUnavailable

Todas as fontes de identidade gerenciadas não estão disponíveis.

ManagedIdentityRequestFailed

A resposta de erro de Identidade Gerenciada foi recebida.

ManagedIdentityResponseParseFailure

A resposta de erro de Identidade Gerenciada foi recebida.

ManagedIdentityUnreachableNetwork

O ponto de extremidade de Identidade Gerenciada não é acessível.

MissingFederationMetadataUrl

A URL de Metadados de Federação está ausente para o usuário federado.

MissingManagedIdentityEnvVar

A identidade gerenciada não tem uma variável de ambiente necessária.

MissingPassiveAuthEndpoint

Nenhum ponto de extremidade de autenticação passiva foi encontrado na configuração OIDC da autoridade

O que acontece?

Quando as bibliotecas vão para a autoridade e obtêm sua configuração de conexão de ID aberta, ela espera encontrar uma entrada de ponto de extremidade de autenticação passiva e não pôde encontrá-la.

Remediação

Verifique se a autoridade configurada para o aplicativo ou passou algumas substituições de tokens de aquisição de token que dão suporte à substituição de autoridade está correta
MissingTenantedAuthority

Autoridade locatário ausente. MSAL.NET requer que uma autoridade locatário (ou seja, uma autoridade com uma ID de locatário) para mTLS seja especificada quando o aplicativo for criado, mas nenhuma foi fornecida.

Atenuação

Verifique se uma autoridade locatário, que inclui uma ID de locatário específica, é especificada durante a configuração do aplicativo. Por exemplo, use "https://login.microsoftonline.com/{tenantId}" ou uma estrutura de URL semelhante.
MtlsBearerWithoutRegion

O que aconteceu?

O portador mTLS está configurado, mas uma região não foi especificada.

Atenuação

Verifique se a configuração de AzureRegion está definida ao usar o portador mTLS, pois ela requer um ponto de extremidade regional.
MtlsCertificateNotProvided

O que aconteceu?

MTLS Proof of Possession (mTLS PoP) está configurado, mas um certificado não foi fornecido.

Atenuação

Verifique se um certificado válido é fornecido na configuração ao usar o mTLS PoP, pois ele é necessário para autenticação segura.
MtlsNotSupportedForManagedIdentity

O que aconteceu?

Não há suporte para mTLS para autenticação de identidade gerenciada.
MtlsPopNotSupportedForEnvironment

O que aconteceu?

Não há suporte para mTLS Proof of Possession (mTLS PoP) para o ambiente de nuvem soberana especificado.

Atenuação:

Use o ponto de extremidade alternativo com suporte para o ambiente de nuvem soberana.
MtlsPopTokenNotSupportedinImdsV1

Não há suporte para tokens de PoP do mTLS no IMDS V1.

MtlsPopWithoutRegion

O que aconteceu?

MTLS Proof of Possession (mTLS PoP) está configurado, mas uma região não foi especificada.

Atenuação

Verifique se a configuração do AzureRegion está definida ao usar o mTLS PoP, pois ela requer um ponto de extremidade regional.
MultipleAccountsForLoginHint

Esse código de erro indica que várias contas foram encontradas com a mesma dica de logon e a MSAL não pode escolher uma. Use WithAccount(IAccount) para especificar a conta

MultipleTokensMatchedError

Vários Tokens foram correspondidos.

O que acontece?

Essa exceção ocorre no caso de aplicativos que gerenciam várias identidades ao chamar AcquireTokenSilent(IEnumerable<String>, IAccount) ou uma de suas substituições e o cache de token de usuário contém vários tokens para este aplicativo cliente e a Conta especificada, mas de diferentes autoridades.

Mitigação [Desenvolvimento de Aplicativos]

especificar a autoridade a ser usada na operação de token de aquisição
NetworkNotAvailableError
Obsoleto.

A solicitação não pôde ser executada porque a rede está inoperante.

Mitigação [Desenvolvimento de aplicativos]

No aplicativo, você pode informar ao usuário que há problemas de rede ou tentar novamente mais tarde
NoAccountForLoginHint

Esse código de erro indica que nenhuma conta foi encontrada com a dica de logon fornecida.

O que acontece?

AcquireTokenSilent(IEnumerable<String>, String) ou WithLoginHint(String) foi chamado com um loginHint parâmetro que não corresponde a nenhuma conta em GetAccountsAsync()

Atenuação

Se você tiver certeza sobre o loginHint, chame AcquireTokenInteractive(IEnumerable<String>)
NoAndroidBrokerAccountFound

A MSAL não consegue encontrar uma conta adequada para usar com o agente

NoAndroidBrokerInstalledOnDevice

A MSAL não pode encontrar o aplicativo do agente para autenticar contas.

NoClientId

O que acontece?

Você não definiu uma ID do cliente.

Atenuação

Use a ID do aplicativo (um GUID) do portal do aplicativo como ID do cliente neste SDK
NonceRequiredForPopOnPCA

O que acontece?

A solicitação tem a Prova de Posse configurada, mas não tem um nonce configurado. Um nonce é necessário para Prova de Posse em clientes públicos

Atenuação

Forneça um nonce quando a Prova de Posse estiver configurada para clientes públicos.
NonHttpsRedirectNotSupported

Não há suporte para redirecionamentos não HTTPS

O que acontece?

Esse erro ocorre quando o fluxo de autorização, que coleta credenciais do usuário, é redirecionado para uma página sem suporte, por exemplo, se o redirecionamento ocorrer por http. Esse erro não dispara para o redirecionamento final, que pode ser http://localhost, mas para redirecionamentos intermediários.

Atenuação

Isso geralmente acontece ao usar um diretório federado que não está configurado corretamente.
NonParsableOAuthError

Uma resposta de erro foi retornada pelo servidor OAuth2 e não pôde ser analisada

NoPromptFailedError

Uma das duas condições foi encontrada:

  • A Prompt.NoPrompt chamada de token interativa foi passada, mas a restrição não pôde ser respeitada porque a interação do usuário é necessária, por exemplo, porque o usuário precisa entrar novamente, dar consentimento para mais escopos ou executar autenticação de vários fatores.
  • Ocorreu um erro durante uma autenticação silenciosa da Web que impediu que o fluxo de autenticação fosse concluído em um período curto o suficiente.

Correção:

chame para AcquireTokenInteractive que o usuário do seu aplicativo entre e aceite o consentimento.
NoRedirectUri

Nenhum URI de Redirecionamento.

O que acontece?

Você precisa fornecer um URI de resposta/URI de redirecionamento, mas não chamou WithRedirectUri(String)
NoTokensFoundError

Nenhum token foi encontrado no cache de token.

Atenuação:

Se o aplicativo for uma IPublicClientApplication chamada AcquireTokenInteractive para que o usuário do aplicativo entre e aceite o consentimento.
  • Se for um aplicativo Web, você deve ter chamado anteriormente IConfidentialClientApplication.AcquireTokenByAuthorizationCode, conforme descrito em https://aka.ms/msal-net-authorization-code. Você precisa ter certeza de que solicitou os escopos certos. Para obter detalhes, consulte https://github.com/Azure-Samples/ms-identity-aspnetcore-webapp-tutorial
  • Esse erro não deve ocorrer em APIs Web
NoUsernameOrAccountIDProvidedForSilentAndroidBrokerAuthentication

Não é possível consultar o gerenciador de contas do Android porque nenhum nome de usuário ou ID da conta inicial é fornecido na solicitação de autenticação silenciosa.

NullIntentReturnedFromAndroidBroker

A intenção nula foi retornada para que a atividade do agente não possa ser iniciada

OboCacheKeyNotInCacheError

O que acontece?

O cache de token não contém um token com uma chave de cache OBO que corresponde ao longRunningProcessSessionKey passado.AcquireTokenInLongRunningProcess(IEnumerable<String>, String)

Atenuação

Chame InitiateLongRunningProcessInWebApi(IEnumerable<String>, String, String) com esta longRunningProcessSessionKey primeira chamada ou chamada AcquireTokenInLongRunningProcess(IEnumerable<String>, String) com um já usado longRunningProcessSessionKey.
ParsingWsMetadataExchangeFailed

Falha na análise de metadados do WS Exchange.

ParsingWsTrustResponseFailed

Você pode obter esse erro ao usar AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) no caso de um usuário federado (que pertence a um IdP federado, em vez de um usuário gerenciado de propriedade em um locatário do Azure AD) ID3242: o token de segurança não pôde ser autenticado ou autorizado. O usuário não existe ou inseriu a senha errada

PasswordRequiredForManagedUserError

A senha é necessária para o usuário gerenciado.

O que acontece?

Se for possível obter esse erro ao usar AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) e você (ou o usuário) não forneceu uma senha.
PlatformNotSupported

A biblioteca é carregada em uma plataforma que não tem suporte.

RedirectUriValidationFailed

Falha na validação do RedirectUri.

O que acontece?

O URI de redirecionamento/URI de resposta é inválido

Como corrigir

Passe um URI de redirecionamento válido.
RegionalAndAuthorityOverride

O que acontece?

Você configurou WithAuthority no nível de solicitação e também WithAzureRegion. Não há suporte para isso quando o ambiente muda de aplicativo para solicitação.

Atenuação

Em vez disso, use WithTenantId no nível da solicitação.
RegionalAuthorityValidation

O que acontece?

Você configurou a Autoridade Regional e a Validação de Autoridade. Atualmente, não há suporte para a validação da autoridade para as autoridades regionais.

Atenuação

Defina o sinalizador validateAuthority como false para usar Azure autoridade regional. Não desabilite a validação de autoridade se você ler a autoridade de uma fonte não confiável, por exemplo, do cabeçalho WWWAuthenticate de uma solicitação HTTP que resultou em uma resposta 401.
RegionDiscoveryFailed

Falha na descoberta de região.

RegionDiscoveryNotEnabled

O que acontece?

WithAzureRegion é definido como true

Atenuação

A descoberta de região não pode ser executada para a autoridade do ADFS.
RegionDiscoveryWithCustomInstanceMetadata

O que acontece?

Você configurou a Descoberta de Região e os Metadados da Instância Personalizada. Metadados personalizados substituem a descoberta de região.

Atenuação

Configure a Descoberta de Região ou metadados de descoberta de instância personalizada.
RegionRequiredForMtlsPop

O que aconteceu?

mTLS Proof of Possession (mTLS PoP) requer que uma região de Azure específica seja especificada.

Atenuação:

Verifique se a configuração do AzureRegion está definida ao usar o mTLS PoP, pois ela requer um ponto de extremidade regional.
RequestThrottled

O serviço retornou o código de erro HTTP 429, que indica que a solicitação foi limitada. Para obter mais detalhes, consulte https://aka.ms/msal-net-throttling

RequestTimeout

A solicitação HTTP para o STS atingiu o tempo limite.

Atenuação

você pode tentar novamente após um atraso.
RopcDoesNotSupportMsaAccounts

Concessão de ROPC (Credencial de Senha do Proprietário do Recurso) tentada com uma conta MSA (Microsoft pessoal). O ROPC não dá suporte a contas MSA. Consulte https://aka.ms/msal-net-ropc para obter detalhes.

ScopesRequired

O que acontece?

Nenhum escopo foi solicitado

Atenuação

Pelo menos um escopo deve ser especificado para esse fluxo de autenticação
ServiceNotAvailable

O serviço não está disponível e retornou o código de erro HTTP dentro do intervalo de 500 a 599

Atenuação

você pode tentar novamente após um atraso.
SetCiamAuthorityAtRequestLevelNotSupported

Não há suporte para a configuração da autoridade CIAM (por exemplo, "{tenantName}.ciamlogin.com") no nível da solicitação. A autoridade CIAM deve ser definida durante a criação do aplicativo.

SSHCertUsedAsHttpHeader

O que acontece?

Você configurou a MSAL para solicitar certificados SSH do AAD e está tentando formatar um cabeçalho de autenticação HTTP.

Atenuação

Os certificados SSH não devem ser usados como tokens de portador. Os desenvolvedores são responsáveis por enviar os certificados para os computadores de destino.
StateMismatchError

O estado retornado do STS era diferente do enviado pela biblioteca

O que acontece?

A biblioteca envia ao STS um estado associado a uma solicitação e espera que a resposta seja consistente. Esses erros indicam que a resposta não está associada à solicitação. Isso pode indicar uma tentativa de reproduzir uma resposta

Atenuação

Nenhum
StaticCacheWithExternalSerialization

O que acontece?

Você configurou a serialização de cache msal ao mesmo tempo com um cache interno estático por meio WithCacheOptions(CacheOptions) deles são mutuamente exclusivos.

Atenuação

Use apenas uma opção. Os cenários de API da Web e site devem depender da serialização de cache externo, pois a serialização de cache interno não pode ser dimensionada. Consulte https://aka.ms/msal-net-cca-token-cache-serialization
SystemWebviewOptionsNotApplicable

O que acontece?

Você configurou a autenticação interativa MSAL para usar um WebView inserido e também configurou SystemWebViewOptions. Estes são mutuamente exclusivos.

Atenuação

WithUseEmbeddedWebView(Boolean) Definir como true ou não usarWithSystemWebViewOptions(SystemWebViewOptions)
TelemetryConfigOrTelemetryCallback

O que acontece?

Você configurou um retorno de chamada de telemetria e uma configuração de telemetria.

Atenuação

Somente um mecanismo de telemetria pode ser configurado.
TenantDiscoveryFailedError

Falha na descoberta do locatário.

O que acontece?

Ao ler a configuração openid associada à autoridade, o ponto de extremidade Autorizar ou o ponto de extremidade de token ou o Emissor não foi encontrado

Atenuação

Isso indica e a autoridade que não é compatível com o Open ID Connect. Especifique uma autoridade diferente no construtor do aplicativo ou a substituição de aquisição de token ///
TenantOverrideNonAad

O que acontece?

Você configurou o WithTenant no nível de solicitação, mas o aplicativo está usando uma autoridade não AAD. Eles são mutuamente exclusivos.

Atenuação

WithTenantId só pode ser usado em conjunto com as autoridades do AAD.
TokenCacheNullError
Obsoleto.

Esse código de erro volta de AcquireTokenSilent(IEnumerable<String>, IAccount) chamadas quando o cache do usuário não tinha sido definido no construtor do aplicativo. Isso nunca deve acontecer no MSAL.NET 3.x, pois o cache é criado pelo aplicativo

TokenTypeMismatch

O que acontece?

Você pediu um tipo de token, mas não o recebeu.

Atenuação

Isso acontece se o Provedor de Identidade (AAD, B2C, ADFS etc.) não dá suporte/implementa o tipo de token solicitado. No caso do ADFS, considere atualizar para a versão mais recente.
UapCannotFindDomainUser

Não é possível acessar o usuário do sistema operacional (UWP)

O que acontece

Você ligou AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>), mas o nome de usuário do domínio não pôde ser encontrado.

Atenuação

Isso pode ser porque você precisa adicionar mais recursos ao aplicativo UWP no Package.appxmanifest. Consulte https://aka.ms/msal-net-uwp
UapCannotFindUpn

Não é possível obter o usuário do sistema operacional (UWP)

O que acontece

Você ligou AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>), mas o nome de usuário do domínio não pôde ser encontrado.

Atenuação

Isso pode ser porque você precisa adicionar mais recursos ao aplicativo UWP no Package.appxmanifest. Consulte https://aka.ms/msal-net-uwp
UnableToParseAuthenticationHeader

A MSAL não consegue analisar o cabeçalho de autenticação retornado do ponto de extremidade. Isso pode ser resultado de um cabeçalho malformado retornado nas coleções WWW-Authenticate ou Authentication-Info.

UnauthorizedClient

O cliente não está autorizado a acessar o recurso. Isso geralmente acontece quando as políticas de MAM (Gerenciamento de Aplicativos Móveis) estão habilitadas. A MSAL gerará uma exceção nesse caso com protection_policy_required sub-erro.

Atenuação

Pegue a exceção e use as propriedades nela para obter os parâmetros corretos do SDK do Intune. IntuneAppProtectionPolicyRequiredException
UnknownBrokerError

Erro desconhecido do agente.

Atenuação

None. Talvez você queira informar o usuário final.
UnknownError

Erro desconhecido.

Atenuação

None. Talvez você queira informar o usuário final.
UnknownManagedIdentityError

Resposta de erro desconhecida recebida.

UnknownUser

O que acontece

Você pode obter esse erro ao usar AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) O usuário não é conhecido pelo IdP

Atenuação

Informe o usuário. O logon fornecido pelo usuário pode estar incorreto (por exemplo, vazio)
UnknownUserType

O que acontece

Você pode obter esse erro ao usar AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) o usuário não é reconhecido como um usuário gerenciado ou um usuário federado. Azure AD não foi capaz de identificar o IdP que precisa processar o usuário

Atenuação

Informe o usuário. o logon fornecido pelo usuário pode estar incorreto.
UpnRequired

loginHint deve ser um UPN

O que acontece?

Uma substituição de uma operação de aquisição de token foi chamada na IPublicClientApplication qual usa um loginHint parâmetro como parâmetro, mas essa dica de logon não estava usando o formato USERPrincipalName (UPN), por exemplo john.doe@contoso.com , esperado pelo serviço

Remediation

Verifique no código que você impõe loginHint para ser um UPN
UserAssertionNullError

Esse código de erro volta de AcquireTokenOnBehalfOf(IEnumerable<String>, UserAssertion) chamadas quando uma declaração de usuário nula é passada como o UserAssertion parâmetro.

Atenuação

Passar um valor válido para a asserção do usuário
UserAssignedManagedIdentityNotConfigurableAtRuntime

A identidade gerenciada atribuída pelo usuário não é configurável no runtime do service fabric.

UserAssignedManagedIdentityNotSupported

Não há suporte para a identidade gerenciada atribuída pelo usuário para essa origem.

UserMismatch

Incompatibilidade de usuário.

UserNullError

Esse código de erro volta de AcquireTokenSilent(IEnumerable<String>, IAccount) chamadas quando um usuário nulo é passado como o account parâmetro. Isso pode ocorrer porque você chamou AcquireTokenSilent com um account parâmetro definido como accounts.FirstOrDefault() , mas accounts está vazio.

Atenuação

Passar uma conta diferente ou, de outra forma, chamar AcquireTokenInteractive(IEnumerable<String>)
UserRealmDiscoveryFailed

Falha na descoberta do realm do usuário.

ValidateAuthorityOrCustomMetadata

O que acontece?

Você configurou seus próprios metadados de instância e também definiu a autoridade de validação como verdadeira. Estes são mutuamente exclusivos.

Atenuação

Defina o sinalizador de autoridade de validação como false. Confira https://aka.ms/msal-net-custom-instance-metadata para saber mais.
WABError

O que acontece?

Windows Agente de Autenticação, que manipula a interação entre o usuário e o AAD, falhou.

Atenuação

Consulte a mensagem de erro para obter mais detalhes.
WamFailedToSignout

Falha na saída do WAM.

WamInteractiveError

Exceção de serviço WAM que pode ocorrer ao chamar AcquireTokenInteractive

WamNoB2C

O Windows agente (WAM) só tem suporte em conjunto com contas "corporativas e de estudante" e com contas Microsoft.

WamPickerError

Exceção de serviço WAM que pode ocorrer ao chamar AcquireTokenInteractive e o seletor de conta aparece

WamScopesRequired

O que acontece?

Nenhum escopo foi solicitado

Atenuação

Pelo menos um escopo deve ser especificado para o WAM de runtime da MSAL
WamUiThread

Ao chamar AcquireTokenInteractive com o agente WAM, a chamada deve ser feita no thread da interface do usuário.

WebView2LoaderNotFound

O que acontece?

O navegador WebView2 inserido não pode ser iniciado porque um componente de runtime não pode ser carregado.

Atenuação

Para obter detalhes de solução de problemas, consulte https://aka.ms/msal-net-webview2 .
WebView2NotInstalled

O que acontece?

O navegador inserido não pode ser iniciado porque um componente de runtime está ausente.

Atenuação

O navegador inserido precisa que o runtime do WebView2 seja instalado. Um usuário final do aplicativo pode baixar e instalar o runtime https://go.microsoft.com/fwlink/p/?LinkId=2124703 do WebView2 e reiniciar o aplicativo. O desenvolvedor do aplicativo pode obter a versão distribuível do runtime do WebView2.
WebviewUnavailable

O WebView selecionado não está disponível nesta plataforma. Você pode alternar para um WebView diferente usando WithUseEmbeddedWebView(Boolean). Confira https://aka.ms/msal-net-os-browser mais detalhes

WsTrustEndpointNotFoundInMetadataDocument

WS-Trust ponto de extremidade não encontrado no documento de metadados.

Aplica-se a