Microsoft.Identity.Client Namespace
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Microsoft.Identity.Clienté o namespace principal do Biblioteca do Microsoft Authenticator (MSAL) para .NET, disponível por meio do Microsoft.Identity.Client pacote. Ele contém todos os principais componentes necessários para adquirir um token de provedores de autenticação com suporte.
Installation
Usando a CLI (Interface .NET Command-Line):
dotnet add package Microsoft.Identity.Client
Usando a CLI (Interface de Linha de Comando) do NuGet:
nuget install Microsoft.Identity.Client
Usando o Console Gerenciador de Pacotes:
Install-Package Microsoft.Identity.Client
Usando Visual Studio:
- Abra a Gerenciador de Soluções.
- Clique com o botão direito do mouse em um projeto dentro da solução.
- Clique em Gerenciar Pacotes NuGet...
- Clique na guia Procurar e pesquise
Microsoft.Identity.Client. - Clique no
Microsoft.Identity.Clientpacote e clique em Instalar.
Documentação
Para começar, confira o guia Biblioteca do Microsoft Authenticator para .NET.
Exemplos
Consulte plataforma de identidade da Microsoft exemplos de código e o Navegador de Exemplos.
Classes
| Nome | Description |
|---|---|
| AbstractAcquireTokenParameterBuilder<T> |
Classe base para construtores de solicitações de token, que tentam adquirir um token com base nos parâmetros fornecidos. |
| AbstractApplicationBuilder<T> |
InstallationUsando a CLI (Interface .NET Command-Line):
Usando a CLI (Interface de Linha de Comando) do NuGet:
Usando o Console Gerenciador de Pacotes:
Usando Visual Studio:
DocumentaçãoPara começar, confira o guia Biblioteca do Microsoft Authenticator para .NET. ExemplosConsulte plataforma de identidade da Microsoft exemplos de código e o Navegador de Exemplos. |
| AbstractClientAppBaseAcquireTokenParameterBuilder<T> |
Classe base para construtores de parâmetros comuns a operações de aquisição de token de aplicativo cliente público e cliente confidencial |
| AbstractConfidentialClientAcquireTokenParameterBuilder<T> |
Classe base para construtores de solicitações de token de aplicativo cliente confidenciais |
| AbstractManagedIdentityAcquireTokenParameterBuilder<T> |
Classe base abstrata para construtores de solicitação de token de aplicativo de identidade gerenciada. |
| AbstractPublicClientAcquireTokenParameterBuilder<T> |
Classe base para construtores de solicitação de token de aplicativo cliente público |
| AccountExtensions |
Métodos de extensão para IAccount |
| AccountId |
Um identificador para uma conta em um locatário específico. Retornado por IAccount.HomeAccountId |
| AcquireTokenByAuthorizationCodeParameterBuilder |
Builder for AcquireTokenByAuthorizationCode |
| AcquireTokenByIntegratedWindowsAuthParameterBuilder |
Construtor para AcquireTokenByIntegratedWindowsAuth |
| AcquireTokenByRefreshTokenParameterBuilder |
Construtor de parâmetros para o AcquireTokenByRefreshToken(IEnumerable<String>, String) método. Consulte https://aka.ms/msal-net-migration-adal2-msal2 |
| AcquireTokenByUserFederatedIdentityCredentialParameterBuilder |
Construtor de parâmetros para a AcquireTokenByUserFederatedIdentityCredential(IEnumerable<String>, String, String) operação. |
| AcquireTokenByUsernameAndPasswordConfidentialParameterBuilder |
Construtor de parâmetros para a AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) operação. Consulte https://aka.ms/msal-net-up |
| AcquireTokenByUsernamePasswordParameterBuilder |
Construtor de parâmetros para a AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) operação. Consulte https://aka.ms/msal-net-up |
| AcquireTokenForClientParameterBuilder |
Construtor para AcquireTokenForClient (usado em fluxos de credenciais de cliente, em aplicativos daemon). Consulte https://aka.ms/msal-net-client-credentials |
| AcquireTokenForManagedIdentityParameterBuilder |
Construtor para AcquireTokenForManagedIdentity (usado para obter token para identidades gerenciadas). Consulte https://aka.ms/msal-net-managed-identity |
| AcquireTokenInteractiveParameterBuilder |
Construtor para uma solicitação de token interativo. Consulte https://aka.ms/msal-net-acquire-token-interactively |
| AcquireTokenOnBehalfOfParameterBuilder |
Builder for AcquireTokenOnBehalfOf (fluxo OBO) Consulte https://aka.ms/msal-net-on-behalf-of |
| AcquireTokenSilentParameterBuilder |
Construtor de parâmetros para a AcquireTokenSilent(IEnumerable<String>, IAccount) operação. Consulte https://aka.ms/msal-net-acquiretokensilent |
| AcquireTokenWithDeviceCodeParameterBuilder |
Construtor de parâmetros para a AcquireTokenWithDeviceCode(IEnumerable<String>, Func<DeviceCodeResult,Task>) operação. Consulte https://aka.ms/msal-net-device-code-flow |
| ApplicationBase |
Interface usada para a criação de aplicativos cliente. Para obter detalhes, consulte https://aka.ms/msal-net-client-applications. |
| ApplicationOptions |
Classe base para objetos de opções com valores de cadeia de caracteres carregáveis de um arquivo de configuração (por exemplo, um arquivo JSON, como em um cenário de configuração asp.net) Consulte https://aka.ms/msal-net-application-configuration também classes PublicClientApplicationOptions derivadas e ConfidentialClientApplicationOptions |
| AssertionRequestOptions |
Informações sobre a declaração do cliente que precisam ser geradas Consulte https://aka.ms/msal-net-client-assertion |
| AuthenticationHeaderParser |
Cabeçalhos de autenticação analisados para recuperar valores de cabeçalho de HttpResponseHeaders. |
| AuthenticationInfoParameters |
Parâmetros retornados pelo cabeçalho Authentication-Info. Isso permite cenários como prova de posse, etc. Ver https://www.rfc-editor.org/rfc/rfc7615 |
| AuthenticationResult |
Contém os resultados de uma operação de aquisição de token ou PublicClientApplication ConfidentialClientApplication. Para obter detalhes, consulte https://aka.ms/msal-net-authenticationresult |
| AuthenticationResultMetadata |
Contém metadados do resultado da autenticação. Metrics para métricas adicionais em toda a MSAL. |
| BaseAbstractAcquireTokenParameterBuilder<T> |
Classe base para construtores de solicitações de token, que tentam adquirir um token com base nos parâmetros fornecidos. |
| BaseAbstractApplicationBuilder<T> |
InstallationUsando a CLI (Interface .NET Command-Line):
Usando a CLI (Interface de Linha de Comando) do NuGet:
Usando o Console Gerenciador de Pacotes:
Usando Visual Studio:
DocumentaçãoPara começar, confira o guia Biblioteca do Microsoft Authenticator para .NET. ExemplosConsulte plataforma de identidade da Microsoft exemplos de código e o Navegador de Exemplos. |
| BaseApplicationOptions |
Classe base para objetos de opções com valores de cadeia de caracteres carregáveis de um arquivo de configuração (por exemplo, um arquivo JSON, como em um cenário de configuração asp.net) Consulte https://aka.ms/msal-net-application-configuration também classes derivadas ApplicationOptions |
| BrokerOptions |
A classe especifica as opções para agente em Sistemas Operacionais As propriedades comuns são propriedades específicas da plataforma de membros diretos (se existirem) fazem parte das opções correspondentes |
| CacheOptions |
Opções para caches de token MSAL. |
| ClientApplicationBase |
Classe abstrata que contém métodos e propriedades comuns da API. Tanto quanto PublicClientApplication ConfidentialClientApplication estendem essa classe. Para obter detalhes, consulte https://aka.ms/msal-net-client-applications |
| ClientSignedAssertion |
Contêiner retornado de |
| ConfidentialClientApplication |
Classe a ser usada para aplicativos cliente confidenciais (aplicativos Web, APIs Web e aplicativos daemon). |
| ConfidentialClientApplicationBuilder |
InstallationUsando a CLI (Interface .NET Command-Line):
Usando a CLI (Interface de Linha de Comando) do NuGet:
Usando o Console Gerenciador de Pacotes:
Usando Visual Studio:
DocumentaçãoPara começar, confira o guia Biblioteca do Microsoft Authenticator para .NET. ExemplosConsulte plataforma de identidade da Microsoft exemplos de código e o Navegador de Exemplos. |
| ConfidentialClientApplicationOptions |
Opções de configuração para um aplicativo cliente confidencial (aplicativo Web/API Web/aplicativo daemon). Consulte https://aka.ms/msal-net/application-configuration |
| DeviceCodeResult |
Esse objeto é retornado como parte do fluxo de código do dispositivo e tem informações destinadas a serem mostradas ao usuário sobre onde navegar até o logon e o que o código do dispositivo precisa ser inserido nesse dispositivo. Consulte https://aka.ms/msal-device-code-flow. |
| EmbeddedWebViewOptions |
Opções para usar a visão da Web inserida. |
| GetAuthorizationRequestUrlParameterBuilder |
OBSERVAÇÃO: alguns dos métodos em AbstractAcquireTokenParameterBuilder (por exemplo, conta) não fazem sentido aqui. Desejamos criar uma base adicional que contenha TODOS os métodos comuns e, em seguida, ter outra conta incluindo, etc, que são usadas apenas para AcquireToken? |
| IntuneAppProtectionPolicyRequiredException |
Essa exceção é gerada quando o Intune requer a política de proteção do aplicativo. As informações nessa exceção podem ser usadas pelo aplicativo para obter a ID de registro necessária do SDK do MAM (Gerenciamento de Aplicativos Móveis). Consulte https://aka.ms/msal-net-trueMAM |
| ManagedIdentityApplication |
Classe a ser usada para aplicativos de identidade gerenciada (em Azure recursos como Serviços de Aplicativo, Máquinas Virtuais, Azure Arc, Fabric de Serviço e Cloud Shell). |
| ManagedIdentityApplicationBuilder |
Construtor para aplicativos de identidade gerenciada. |
| ManagedIdentityPopExtensions |
Métodos de extensão para habilitar a Prova de Posse do mTLS em fluxos de identidade gerenciada. |
| Metrics |
Métricas de toda a MSAL. |
| MsalClaimsChallengeException |
Essa exceção indica que as declarações foram retornadas do ponto de extremidade que precisam ser resolvidas. Isso pode ser feito usando-os na próxima solicitação de autenticação. Confira os desafios de acesso condicional e declarações. Consulte Tratamento de MFA (autenticação multifator), Acesso Condicional e consentimento incremental. |
| MsalClientException |
Essa classe de exceção representa erros que são locais para a biblioteca ou o dispositivo. Ao contrário MsalServiceException do que representa os erros que ocorrem no serviço Azure AD ou na rede. Para obter mais detalhes, confira https://aka.ms/msal-net-exceptions |
| MsalError |
Código de erro retornado como uma propriedade em MsalException |
| MsalException |
Tipo de exceção base gerado quando ocorre um erro durante a aquisição de token. Para obter mais detalhes, confira https://aka.ms/msal-net-exceptions |
| MsalManagedIdentityException |
Essa classe de exceção destina-se a exceções geradas de fontes de Identidade Gerenciada. Essa classe foi preterida e será removida em uma versão futura. Em vez disso, pegue MsalServiceException. Para obter mais detalhes, confira https://aka.ms/msal-net-managed-identity |
| MsalServiceException |
Tipo de exceção gerado quando o serviço retorna uma resposta de erro ou outros erros de rede ocorrem. Para obter mais detalhes, confira https://aka.ms/msal-net-exceptions |
| MsalThrottledServiceException |
Tipo de exceção gerado quando a MSAL detecta que um aplicativo está tentando adquirir um token com muita frequência, como resultado de:
As propriedades dessa exceção são idênticas à exceção original Para obter mais detalhes, consulte https://aka.ms/msal-net-throttling |
| MsalThrottledUiRequiredException |
Tipo de exceção gerado quando a MSAL detecta que um aplicativo está tentando adquirir um token, mesmo que um MsalUiRequiredException tenha sido lançado recentemente. Para atenuar isso, quando um MsalUiRequiredException é encontrado, o aplicativo deve mudar para adquirir um token interativamente. Para entender melhor por que o MsalUiRequiredException foi jogado, inspecione a Classification propriedade. As propriedades dessa exceção são idênticas à exceção original Para obter mais detalhes, consulte https://aka.ms/msal-net-throttling |
| MsalUiRequiredException |
Essa classe de exceção é informar aos desenvolvedores que a interação com a interface do usuário é necessária para que a autenticação tenha êxito. Ele é gerado ao chamar AcquireTokenSilent(IEnumerable<String>, IAccount) ou uma de suas substituições e quando o token não existe no cache ou o usuário precisa fornecer mais conteúdo ou executar autenticação de vários fatores com base em políticas Azure do AD, etc.. Para obter mais detalhes, confira https://aka.ms/msal-net-exceptions |
| OsCapabilitiesExtensions |
Métodos de extensão |
| PublicClientApplication |
Classe abstrata que contém métodos e propriedades comuns da API. Para obter detalhes, consulte https://aka.ms/msal-net-client-applications |
| PublicClientApplicationBuilder |
InstallationUsando a CLI (Interface .NET Command-Line):
Usando a CLI (Interface de Linha de Comando) do NuGet:
Usando o Console Gerenciador de Pacotes:
Usando Visual Studio:
DocumentaçãoPara começar, confira o guia Biblioteca do Microsoft Authenticator para .NET. ExemplosConsulte plataforma de identidade da Microsoft exemplos de código e o Navegador de Exemplos. |
| PublicClientApplicationExtensions |
Métodos de extensibilidade para IPublicClientApplication |
| PublicClientApplicationOptions |
Opções de configuração para um aplicativo cliente público (aplicativo móvel/desktop). Consulte https://aka.ms/msal-net/application-configuration |
| RegionDetails |
Contém o resultado da região quando a descoberta de região msal é usada, publicada como parte de AuthenticationResultMetadata. AuthenticationResultMetadata para obter informações adicionais de metadados do resultado da autenticação. |
| SystemWebViewOptions |
Opções para usar o navegador do sistema operacional padrão como um processo separado para lidar com autenticação interativa. A MSAL ouvirá o navegador do sistema operacional para concluir a autenticação, mas não poderá fechar o navegador. No entanto, ele pode responder com uma mensagem 200 OK ou um redirecionamento 302, que pode ser configurado aqui. Para obter mais detalhes, consulte https://aka.ms/msal-net-os-browser |
| TenantProfile |
Representa uma conta em um locatário específico. A mesma conta pode existir em seu locatário residencial e também como convidado em vários outros locatários. Tokens de acesso e Tokens de ID são específicos do locatário e esse objeto fornece informações de alto nível sobre todos os tokens de ID associados à conta. |
| TokenCache |
Cache de tokens armazenando tokens de acesso e atualização para contas Essa classe é usada nos construtores de PublicClientApplication e ConfidentialClientApplication. No caso do ConfidentialClientApplication, duas instâncias são usadas, uma para o cache de token de usuário e outra para o cache de token de aplicativo (no caso de aplicativos usando os fluxos de credencial do cliente). |
| TokenCacheExtensions |
Métodos de extensão para ITokenCache |
| TokenCacheNotificationArgs |
Contém parâmetros usados pela chamada MSAL que acessa o cache. Veja também ITokenCacheSerializer quais são os métodos para personalizar a serialização de cache. Para obter mais detalhes sobre o cache de token, consulte https://aka.ms/msal-net-web-token-cache |
| TraceTelemetryConfig |
Uma implementação simples ITelemetryConfig que grava dados usando System.Diagnostics.Trace. |
| UserAssertion |
InstallationUsando a CLI (Interface .NET Command-Line):
Usando a CLI (Interface de Linha de Comando) do NuGet:
Usando o Console Gerenciador de Pacotes:
Usando Visual Studio:
DocumentaçãoPara começar, confira o guia Biblioteca do Microsoft Authenticator para .NET. ExemplosConsulte plataforma de identidade da Microsoft exemplos de código e o Navegador de Exemplos. |
| WindowsBrokerOptions |
Opções avançadas para usar o agente Windows 10. Para obter mais detalhes, consulte https://aka.ms/msal-net-wam |
| WwwAuthenticateParameters |
Parâmetros retornados pelo cabeçalho WWW-Authenticate. Isso permite cenários dinâmicos, como desafio de Declarações, CAE (Avaliação de Acesso Contínuo) e AC (Acesso Condicional). Consulte https://aka.ms/msal-net/wwwAuthenticate. |
Estruturas
| Nome | Description |
|---|---|
| Prompt |
A estrutura que contém membros estáticos que você pode usar para especificar como as substituições interativas de AcquireTokenAsync devem IPublicClientApplication solicitar ao usuário. |
Interfaces
| Nome | Description |
|---|---|
| IAccount |
A interface IAccount representa informações sobre uma única conta.
O mesmo usuário pode estar presente em locatários diferentes, ou seja, um usuário pode ter várias contas.
Um |
| IAppConfig |
Propriedades de configuração usadas para criar um aplicativo cliente público ou confidencial. |
| IApplicationBase |
Interface usada para a criação de aplicativos cliente. Para obter detalhes, consulte https://aka.ms/msal-net-client-applications. |
| IByRefreshToken |
InstallationUsando a CLI (Interface .NET Command-Line):
Usando a CLI (Interface de Linha de Comando) do NuGet:
Usando o Console Gerenciador de Pacotes:
Usando Visual Studio:
DocumentaçãoPara começar, confira o guia Biblioteca do Microsoft Authenticator para .NET. ExemplosConsulte plataforma de identidade da Microsoft exemplos de código e o Navegador de Exemplos. |
| IByUserFederatedIdentityCredential |
Fornece uma interface para a aquisição de tokens usando o fluxo UserFIC (Credencial de Identidade Federada do Usuário). |
| IByUsernameAndPassword |
Fornece uma interface explícita para usar a Concessão de Senha do Proprietário do Recurso no Cliente Confidencial. |
| IClientApplicationBase |
Interface que define métodos e propriedades comuns da API. PublicClientApplication E ConfidentialClientApplication estenda essa classe. Para obter detalhes, consulte https://aka.ms/msal-net-client-applications |
| IConfidentialClientApplication |
Representa aplicativos cliente confidenciais – aplicativos Web, APIs Web e aplicativos daemon. |
| ILongRunningWebApi |
Métodos para processos de execução prolongada ou em segundo plano em APIs Web. |
| IManagedIdentityApplication |
Componente a ser usado com aplicativos de identidade gerenciada para recursos de Azure. |
| IMsalHttpClientFactory |
Fábrica responsável pela criação do HttpClient. Confira https://learn.microsoft.com/dotnet/api/system.net.http.httpclient?view=net-7.0#instancing para saber mais. |
| IMsalMtlsHttpClientFactory |
Uma fábrica responsável pela criação de instâncias HttpClient configuradas para o TLS mútuo (mTLS). Esta fábrica destina-se ao uso para proteger a comunicação com Azure AD usando mTLS. Para obter mais detalhes sobre a instanciação httpClient, consulte https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-8.0#instancing. |
| IMsalSFHttpClientFactory |
Fábrica responsável por criar HttpClient com um retorno de chamada de validação de certificado de servidor personalizado. Isso é útil para o cenário de Fabric serviço em que a validação do certificado do servidor é necessária usando o certificado do servidor. Confira https://learn.microsoft.com/dotnet/api/system.net.http.httpclient?view=net-7.0#instancing mais detalhes. |
| IPublicClientApplication |
Representa aplicativos cliente públicos – aplicativos móveis e desktop. |
| ITelemetryConfig |
InstallationUsando a CLI (Interface .NET Command-Line):
Usando a CLI (Interface de Linha de Comando) do NuGet:
Usando o Console Gerenciador de Pacotes:
Usando Visual Studio:
DocumentaçãoPara começar, confira o guia Biblioteca do Microsoft Authenticator para .NET. ExemplosConsulte plataforma de identidade da Microsoft exemplos de código e o Navegador de Exemplos. |
| ITelemetryEventPayload |
Dados que representam um único instantâneo na série de eventos coletados |
| ITokenCache |
Essa é a interface que implementa o acesso público às operações de cache. Com o CacheV2, isso só deverá ser necessário se o chamador persistir o cache em seu próprio repositório, pois isso fornecerá as notificações serializar/desserializar e antes/depois usadas nesse cenário. Consulte https://aka.ms/aka.ms/msal-net-token-cache-serialization |
| ITokenCacheSerializer |
Essa interface estará disponível no retorno de chamada TokenCacheNotificationArgs para habilitar a serialização/desserialização do cache. |
Enumerações
| Nome | Description |
|---|---|
| AadAuthorityAudience |
Especifica quais contas Microsoft podem ser usadas para entrar com um determinado aplicativo. Consulte https://aka.ms/msal-net-application-configuration |
| AzureCloudInstance |
InstallationUsando a CLI (Interface .NET Command-Line):
Usando a CLI (Interface de Linha de Comando) do NuGet:
Usando o Console Gerenciador de Pacotes:
Usando Visual Studio:
DocumentaçãoPara começar, confira o guia Biblioteca do Microsoft Authenticator para .NET. ExemplosConsulte plataforma de identidade da Microsoft exemplos de código e o Navegador de Exemplos. |
| BrokerOptions.OperatingSystems |
Sistemas operacionais com suporte |
| CacheRefreshReason |
Especifica o motivo para buscar o token de acesso do provedor de identidade ao usar AcquireTokenSilent, AcquireTokenForClient ou AcquireTokenOnBehalfOf. |
| LogLevel |
Representa o nível de log no MSAL. Para obter detalhes, consulte o registro em log da MSAL. |
| TelemetryAudienceType |
Descreve os tipos de público-alvo para telemetria. AudienceType |
| TokenSource |
Especifica a origem dos tokens de acesso e ID no resultado da autenticação. |
| UiRequiredExceptionClassification |
Detalhes sobre a causa de um MsalUiRequiredException, dando uma dica sobre o que o usuário pode esperar quando passar pela autenticação interativa. Consulte Noções básicas sobre MsalUiRequiredException para obter detalhes. |
Delegados
| Nome | Description |
|---|---|
| LogCallback |
Delegado de retorno de chamada que permite que os desenvolvedores de aplicativos consumam logs e os manipulem de maneira personalizada. Esse retorno de chamada é definido usando WithLogging(LogCallback, Nullable<LogLevel>, Nullable<Boolean>, Nullable<Boolean>).
Se |
| TokenCacheCallback |
Notificação para determinadas interações de cache de token durante a aquisição de token. Esse delegado é usado em particular para fornecer uma serialização de cache de token personalizado. Consulte https://aka.ms/aka.ms/msal-net-token-cache-serialization |
Comentários
Contribuições
Agradecemos comentários e contribuições para ajudar a melhorar Biblioteca do Microsoft Authenticator para .NET! Antes de começar, leia os seguintes documentos:
Problemas
Para fornecer comentários da biblioteca ou relatar um bug, abra um problema no GitHub.