Microsoft.Identity.Client Espaço de Nomes
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Microsoft.Identity.Clienté o espaço de nomes central para a Biblioteca de Autenticação da Microsoft (MSAL) para .NET, disponível através do Microsoft.Identity.Client pacote. Contém todos os componentes-chave necessários para adquirir um token dos fornecedores de autenticação suportados.
Instalação
Usando a Interface .NET Command-Line (CLI):
dotnet add package Microsoft.Identity.Client
Usando a Interface de Linha de Comando (CLI) NuGet:
nuget install Microsoft.Identity.Client
Usando a Consola do Gestor de Pacotes:
Install-Package Microsoft.Identity.Client
Usar o Visual Studio:
- Abre o Explorador de Soluções.
- Clique com o botão direito num projeto dentro da solução.
- Clique em Gerir Pacotes NuGet...
- Clique no separador Explorar e procure por
Microsoft.Identity.Client. - Clique no
Microsoft.Identity.Clientpacote e clique em Instalar.
Documentação
Para começar, consulte o guia Biblioteca de Autenticação da Microsoft for .NET.
Samples
Consulte exemplos de código da plataforma de identidades da Microsoft e o Browser de Exemplos.
Classes
| Name | Descrição |
|---|---|
| AbstractAcquireTokenParameterBuilder<T> |
Classe base para construtores de pedidos de token, que tentam adquirir um token com base nos parâmetros fornecidos. |
| AbstractApplicationBuilder<T> |
InstalaçãoUsando a Interface .NET Command-Line (CLI):
Usando a Interface de Linha de Comando (CLI) NuGet:
Usando a Consola do Gestor de Pacotes:
Usar o Visual Studio:
DocumentaçãoPara começar, consulte o guia Biblioteca de Autenticação da Microsoft for .NET. SamplesConsulte exemplos de código da plataforma de identidades da Microsoft e o Browser de Exemplos. |
| AbstractClientAppBaseAcquireTokenParameterBuilder<T> |
Classe base para construtores de parâmetros comuns a operações de aquisição de tokens de aplicações clientes públicas e confidenciais |
| AbstractConfidentialClientAcquireTokenParameterBuilder<T> |
Classe base para construtores confidenciais de pedidos de token de aplicação cliente |
| AbstractManagedIdentityAcquireTokenParameterBuilder<T> |
Classe base abstrata para construtores de pedidos de token de aplicação com identidade gerida. |
| AbstractPublicClientAcquireTokenParameterBuilder<T> |
Classe base para construtores de pedidos de tokens para aplicações de clientes públicos |
| AccountExtensions |
Métodos de extensão para IAccount |
| AccountId |
Um identificador para uma conta num tenant específico. Retornado por IAccount.HomeAccountId |
| AcquireTokenByAuthorizationCodeParameterBuilder |
Construtor para AcquireTokenByAuthorizationCode |
| AcquireTokenByIntegratedWindowsAuthParameterBuilder |
Builder para AcquireTokenByIntegratedWindowsAuth |
| AcquireTokenByRefreshTokenParameterBuilder |
Construtor de parâmetros para o AcquireTokenByRefreshToken(IEnumerable<String>, String) método. Veja 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. Veja https://aka.ms/msal-net-up |
| AcquireTokenByUsernamePasswordParameterBuilder |
Construtor de parâmetros para a AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) operação. Veja https://aka.ms/msal-net-up |
| AcquireTokenForClientParameterBuilder |
Builder para AcquireTokenForClient (usado em fluxos de credenciais do cliente, em aplicações daemon). Veja https://aka.ms/msal-net-client-credentials |
| AcquireTokenForManagedIdentityParameterBuilder |
Builder para AcquireTokenForManagedIdentity (usado para obter token para identidades geridas). Veja https://aka.ms/msal-net-managed-identity |
| AcquireTokenInteractiveParameterBuilder |
Construtor para um pedido interativo de token. Veja https://aka.ms/msal-net-acquire-token-interactively |
| AcquireTokenOnBehalfOfParameterBuilder |
Construtor para AcquireTokenOnBehalfOf (fluxo OBO) Ver https://aka.ms/msal-net-on-behalf-of |
| AcquireTokenSilentParameterBuilder |
Construtor de parâmetros para a AcquireTokenSilent(IEnumerable<String>, IAccount) operação. Veja https://aka.ms/msal-net-acquiretokensilent |
| AcquireTokenWithDeviceCodeParameterBuilder |
Construtor de parâmetros para a AcquireTokenWithDeviceCode(IEnumerable<String>, Func<DeviceCodeResult,Task>) operação. Veja https://aka.ms/msal-net-device-code-flow |
| ApplicationBase |
Interface usada para a criação de aplicações clientes. Para mais pormenores, ver https://aka.ms/msal-net-client-applications. |
| ApplicationOptions |
Classe base para objetos options com valores de cadeia carregáveis a partir de um ficheiro de configuração (por exemplo, um ficheiro JSON, como num cenário de configuração asp.net) Ver https://aka.ms/msal-net-application-configuration também classes PublicClientApplicationOptions derivadas e ConfidentialClientApplicationOptions |
| AssertionRequestOptions |
Informações sobre a afirmação do cliente que precisam de ser geradas Ver 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 devolvidos pelo cabeçalho Authentication-Info. Isto 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 em PublicClientApplication ou ConfidentialClientApplication. Para mais informações, consultar: https://aka.ms/msal-net-authenticationresult |
| AuthenticationResultMetadata |
Contém metadados do resultado da autenticação. Metrics para métricas adicionais a nível MSAL. |
| BaseAbstractAcquireTokenParameterBuilder<T> |
Classe base para construtores de pedidos de token, que tentam adquirir um token com base nos parâmetros fornecidos. |
| BaseAbstractApplicationBuilder<T> |
InstalaçãoUsando a Interface .NET Command-Line (CLI):
Usando a Interface de Linha de Comando (CLI) NuGet:
Usando a Consola do Gestor de Pacotes:
Usar o Visual Studio:
DocumentaçãoPara começar, consulte o guia Biblioteca de Autenticação da Microsoft for .NET. SamplesConsulte exemplos de código da plataforma de identidades da Microsoft e o Browser de Exemplos. |
| BaseApplicationOptions |
Classe base para objetos options com valores de cadeia carregáveis a partir de um ficheiro de configuração (por exemplo, um ficheiro JSON, como num cenário de configuração asp.net) Ver https://aka.ms/msal-net-application-configuration também classes derivadas ApplicationOptions |
| BrokerOptions |
A classe especifica as opções para corretores em OperatingSystems As propriedades comuns são membros diretos Propriedades específicas da plataforma (se existirem) fazem parte das opções correspondentes |
| CacheOptions |
Opções para caches de tokens MSAL. |
| ClientApplicationBase |
Classe abstrata contendo métodos e propriedades comuns da API. Tanto PublicClientApplication o ConfidentialClientApplication como o ConfidentialClientApplication estendem esta classe. Para mais informações, consultar: https://aka.ms/msal-net-client-applications |
| ClientSignedAssertion |
Contentor retornado de |
| ConfidentialClientApplication |
Classe para ser usada em aplicações cliente confidenciais (aplicações web, APIs web e aplicações daemon). |
| ConfidentialClientApplicationBuilder |
InstalaçãoUsando a Interface .NET Command-Line (CLI):
Usando a Interface de Linha de Comando (CLI) NuGet:
Usando a Consola do Gestor de Pacotes:
Usar o Visual Studio:
DocumentaçãoPara começar, consulte o guia Biblioteca de Autenticação da Microsoft for .NET. SamplesConsulte exemplos de código da plataforma de identidades da Microsoft e o Browser de Exemplos. |
| ConfidentialClientApplicationOptions |
Opções de configuração para uma aplicação cliente confidencial (aplicação web / API web / app daemon). Veja https://aka.ms/msal-net/application-configuration |
| DeviceCodeResult |
Este objeto é devolvido como parte do fluxo de código do dispositivo e tem informação destinada a ser mostrada ao utilizador sobre onde deve navegar para iniciar sessão e qual o código do dispositivo precisa de ser introduzido nesse dispositivo. Consulte https://aka.ms/msal-device-code-flow. |
| EmbeddedWebViewOptions |
Opções para usar a webview embutida. |
| GetAuthorizationRequestUrlParameterBuilder |
NOTA: alguns dos métodos no AbstractAcquireTokenParameterBuilder (por exemplo, a conta) não fazem sentido aqui. Queremos criar uma base adicional que contenha TODOS os métodos comuns, e depois ter outra, incluindo contas, etc., que sejam usadas apenas para o AcquireToken? |
| IntuneAppProtectionPolicyRequiredException |
Esta exceção é lançada quando o Intune exige uma política de proteção de aplicações. A informação desta exceção pode ser usada pela aplicação para obter o ID de inscrição necessário do Mobile App Management (MAM) SDK. Veja https://aka.ms/msal-net-trueMAM |
| ManagedIdentityApplication |
Classe para ser usada em aplicações de identidade gerida (em recursos do Azure como App Services, Máquinas Virtuais, Azure Arc, Service Fabric e Cloud Shell). |
| ManagedIdentityApplicationBuilder |
Construtor para aplicações de identidade gerida. |
| ManagedIdentityPopExtensions |
Métodos de extensão para ativar o Proof-of-Possession mTLS em fluxos de identidade geridos. |
| Metrics |
Métricas a nível MSAL. |
| MsalClaimsChallengeException |
Esta exceção indica que foram devolvidas reclamações do endpoint que precisam de ser resolvidas. Isto pode ser conseguido usando-os no próximo pedido de autenticação. Veja Acesso Condicional e desafios de sinistros. Ver Gestão da autenticação multifatorial (MFA), Acesso Condicional e consentimento incremental. |
| MsalClientException |
Esta classe de exceção representa erros que são locais para a biblioteca ou o dispositivo. Ao contrário, MsalServiceException representam erros que ocorrem do serviço Azure AD ou da rede. Para obter mais detalhes, veja https://aka.ms/msal-net-exceptions |
| MsalError |
Código de erro devolvido como propriedade em MsalException |
| MsalException |
Tipo de exceção base lançado quando ocorre um erro durante a aquisição do token. Para obter mais detalhes, veja https://aka.ms/msal-net-exceptions |
| MsalManagedIdentityException |
Esta classe de exceção é para exceções geradas a partir de fontes de Identidade Gerida. Esta classe está obsoleta e será removida numa versão futura. Veja antes o MsalServiceException. Para obter mais detalhes, veja https://aka.ms/msal-net-managed-identity |
| MsalServiceException |
Tipo de exceção lançado quando o serviço retorna uma resposta de erro ou outros erros de rede. Para obter mais detalhes, veja https://aka.ms/msal-net-exceptions |
| MsalThrottledServiceException |
Tipo de exceção lançado quando o MSAL deteta que uma aplicação está a tentar adquirir um token com demasiada frequência, como resultado de:
As propriedades desta exceção são idênticas às da exceção original Para mais detalhes, veja https://aka.ms/msal-net-throttling |
| MsalThrottledUiRequiredException |
Tipo de exceção lançado quando o MSAL deteta que uma aplicação está a tentar adquirir um token mesmo tendo MsalUiRequiredException sido lançado recentemente. Para mitigar isto, quando é encontrado a MsalUiRequiredException , a aplicação deve passar a adquirir um token de forma interativa. Para compreender melhor porque foi MsalUiRequiredException lançado, inspecione a Classification propriedade. As propriedades desta exceção são idênticas às da exceção original Para mais detalhes, veja https://aka.ms/msal-net-throttling |
| MsalUiRequiredException |
Esta classe de exceção serve para informar os programadores de que a interação com a interface de utilizador é necessária para que a autenticação tenha sucesso. É lançado ao chamar AcquireTokenSilent(IEnumerable<String>, IAccount) ou a um dos seus overrides, e quando o token não existe na cache, ou quando o utilizador precisa de fornecer mais conteúdo, ou realizar autenticação de múltiplos fatores baseada nas políticas do Azure AD, etc. Para obter mais detalhes, veja https://aka.ms/msal-net-exceptions |
| OsCapabilitiesExtensions |
Métodos de extensão |
| PublicClientApplication |
Classe abstrata contendo métodos e propriedades comuns da API. Para mais informações, consultar: https://aka.ms/msal-net-client-applications |
| PublicClientApplicationBuilder |
InstalaçãoUsando a Interface .NET Command-Line (CLI):
Usando a Interface de Linha de Comando (CLI) NuGet:
Usando a Consola do Gestor de Pacotes:
Usar o Visual Studio:
DocumentaçãoPara começar, consulte o guia Biblioteca de Autenticação da Microsoft for .NET. SamplesConsulte exemplos de código da plataforma de identidades da Microsoft e o Browser de Exemplos. |
| PublicClientApplicationExtensions |
Métodos de extensibilidade para IPublicClientApplication |
| PublicClientApplicationOptions |
Opções de configuração para uma aplicação cliente pública (desktop ou aplicação móvel). Veja https://aka.ms/msal-net/application-configuration |
| RegionDetails |
Contém o resultado da região quando a descoberta de região MSAL é utilizada, publicado como parte do AuthenticationResultMetadata. AuthenticationResultMetadata para informações adicionais de metadados do resultado da autenticação. |
| SystemWebViewOptions |
Opções para usar o navegador do sistema operativo predefinido como um processo separado para gerir a autenticação interativa. A MSAL estará a ouvir o navegador do sistema operativo terminar a autenticação, mas não consegue fechar o navegador. No entanto, pode responder com uma mensagem de 200 OK ou um Redirecionamento 302, que pode ser configurado aqui. Para mais detalhes, veja https://aka.ms/msal-net-os-browser |
| TenantProfile |
Representa uma conta num inquilino específico. A mesma conta pode existir no seu inquilino de origem e também como convidado em vários outros inquilinos. Os Access Tokens e Id Tokens são específicos de inquilinos e este objeto fornece informação de alto nível sobre todos os ID tokens associados à conta. |
| TokenCache |
Cache de tokens armazena tokens de acesso e atualização para contas Esta classe é usada nos construtores de PublicClientApplication e ConfidentialClientApplication. No caso do ConfidentialClientApplication, são usadas duas instâncias, uma para a cache de tokens de utilizador e outra para a cache de tokens de aplicação (no caso de aplicações que utilizam os fluxos de credenciais do cliente). |
| TokenCacheExtensions |
Métodos de extensão para ITokenCache |
| TokenCacheNotificationArgs |
Contém parâmetros usados pela chamada MSAL que acede à cache. Veja também ITokenCacheSerializer que contém métodos para personalizar a serialização da cache. Para mais detalhes sobre a cache de tokens, veja https://aka.ms/msal-net-web-token-cache |
| TraceTelemetryConfig |
Uma implementação simples ITelemetryConfig que escreve dados usando System.Diagnostics.Trace. |
| UserAssertion |
InstalaçãoUsando a Interface .NET Command-Line (CLI):
Usando a Interface de Linha de Comando (CLI) NuGet:
Usando a Consola do Gestor de Pacotes:
Usar o Visual Studio:
DocumentaçãoPara começar, consulte o guia Biblioteca de Autenticação da Microsoft for .NET. SamplesConsulte exemplos de código da plataforma de identidades da Microsoft e o Browser de Exemplos. |
| WindowsBrokerOptions |
Opções avançadas para usar o corretor do Windows 10. Para mais detalhes, veja https://aka.ms/msal-net-wam |
| WwwAuthenticateParameters |
Parâmetros devolvidos pelo cabeçalho WWW-Authenticate. Isto permite cenários dinâmicos como contestação de sinistros, Avaliação de Acesso Contínuo (CAE) e Acesso Condicional (CA). Consulte https://aka.ms/msal-net/wwwAuthenticate. |
Estruturas
| Name | Descrição |
|---|---|
| Prompt |
Estrutura contendo membros estáticos que pode usar para especificar como as sobreposições interativas do AcquireTokenAsync IPublicClientApplication em devem indicar ao utilizador. |
Interfaces
| Name | Descrição |
|---|---|
| IAccount |
A interface IAccount representa informação sobre uma única conta.
O mesmo utilizador pode estar presente em diferentes inquilinos, ou seja, um utilizador pode ter várias contas.
An |
| IAppConfig |
Propriedades de configuração usadas para construir uma aplicação cliente pública ou confidencial. |
| IApplicationBase |
Interface usada para a criação de aplicações clientes. Para mais pormenores, ver https://aka.ms/msal-net-client-applications. |
| IByRefreshToken |
InstalaçãoUsando a Interface .NET Command-Line (CLI):
Usando a Interface de Linha de Comando (CLI) NuGet:
Usando a Consola do Gestor de Pacotes:
Usar o Visual Studio:
DocumentaçãoPara começar, consulte o guia Biblioteca de Autenticação da Microsoft for .NET. SamplesConsulte exemplos de código da plataforma de identidades da Microsoft e o Browser de Exemplos. |
| IByUserFederatedIdentityCredential |
Fornece uma interface para aquisição de tokens utilizando o fluxo User Federated Identity Credential (UserFIC). |
| IByUsernameAndPassword |
Fornece uma interface explícita para a utilização do Resource Owner Password Grant no Cliente Confidencial. |
| IClientApplicationBase |
Interface que define métodos e propriedades comuns da API. Ambos PublicClientApplication e ConfidentialClientApplication alargar esta aula. Para mais informações, consultar: https://aka.ms/msal-net-client-applications |
| IConfidentialClientApplication |
Representa aplicações cliente confidenciais - aplicações web, APIs web, aplicações daemon. |
| ILongRunningWebApi |
Métodos para processos de longa duração ou em segundo plano em APIs web. |
| IManagedIdentityApplication |
Componente a ser usado com aplicações de identidade gerida para recursos do Azure. |
| IMsalHttpClientFactory |
Fábrica responsável pela criação do HttpClient. Consulte https://learn.microsoft.com/dotnet/api/system.net.http.httpclient?view=net-7.0#instancing para obter mais detalhes. |
| IMsalMtlsHttpClientFactory |
Uma fábrica responsável por criar instâncias HttpClient configuradas para TLS mútuo (mTLS). Esta fábrica destina-se a ser usada para comunicação segura com o Azure AD usando mTLS. Para mais detalhes sobre a instanciação HttpClient, veja https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-8.0#instancing. |
| IMsalSFHttpClientFactory |
Factory responsável por criar o HttpClient com um callback personalizado de validação de certificados de servidor. Isto é útil para o cenário do Service Fabric, onde a validação do certificado do servidor é necessária usando o certificado do servidor. Consulte https://learn.microsoft.com/dotnet/api/system.net.http.httpclient?view=net-7.0#instancing para mais detalhes. |
| IPublicClientApplication |
Representa aplicações clientes públicas - aplicações de ambiente de trabalho e móveis. |
| ITelemetryConfig |
InstalaçãoUsando a Interface .NET Command-Line (CLI):
Usando a Interface de Linha de Comando (CLI) NuGet:
Usando a Consola do Gestor de Pacotes:
Usar o Visual Studio:
DocumentaçãoPara começar, consulte o guia Biblioteca de Autenticação da Microsoft for .NET. SamplesConsulte exemplos de código da plataforma de identidades da Microsoft e o Browser de Exemplos. |
| ITelemetryEventPayload |
Dados que representam um único instantâneo na série de eventos que são recolhidos |
| ITokenCache |
Esta é a interface que implementa o acesso público às operações de cache. Com o CacheV2, isto só deve ser necessário se o chamador persistir a cache no seu próprio armazenamento, pois isto fornecerá as notificações de serialização/desserialização e antes/depois usadas nesse cenário. Veja https://aka.ms/aka.ms/msal-net-token-cache-serialization |
| ITokenCacheSerializer |
Esta interface estará disponível em callback TokenCacheNotificationArgs para permitir a serialização/desserialização da cache. |
Enumerações
| Name | Descrição |
|---|---|
| AadAuthorityAudience |
Especifica quais contas Microsoft podem ser usadas para iniciar sessão com uma determinada aplicação. Veja https://aka.ms/msal-net-application-configuration |
| AzureCloudInstance |
InstalaçãoUsando a Interface .NET Command-Line (CLI):
Usando a Interface de Linha de Comando (CLI) NuGet:
Usando a Consola do Gestor de Pacotes:
Usar o Visual Studio:
DocumentaçãoPara começar, consulte o guia Biblioteca de Autenticação da Microsoft for .NET. SamplesConsulte exemplos de código da plataforma de identidades da Microsoft e o Browser de Exemplos. |
| BrokerOptions.OperatingSystems |
Sistemas Operativos Suportados |
| CacheRefreshReason |
Especifica a razão para obter o token de acesso do fornecedor de identidade ao utilizar AcquireTokenSilent, AcquireTokenForClient ou AcquireTokenOnBehalfOf. |
| LogLevel |
Representa o nível logarítmico em MSAL. Para mais detalhes, veja registo MSAL. |
| TelemetryAudienceType |
Descreve os tipos de audiências para telemetria. AudienceType |
| TokenSource |
Especifica a origem dos tokens de acesso e ID no resultado de autenticação. |
| UiRequiredExceptionClassification |
Detalhes sobre a causa de um MsalUiRequiredException, dando uma pista sobre o que o utilizador pode esperar ao passar pela autenticação interativa. Consulte Compreender MsalUiRequiredException para mais detalhes. |
Delegados
| Name | Descrição |
|---|---|
| LogCallback |
Delegado de chamadas que permite aos programadores de aplicações consumir logs e tratá-los de forma personalizada. Este callback é definido usando WithLogging(LogCallback, Nullable<LogLevel>, Nullable<Boolean>, Nullable<Boolean>).
Se |
| TokenCacheCallback |
Notificação para certas interações na cache de tokens durante a aquisição de tokens. Este delegado é usado em particular para fornecer uma serialização personalizada da cache do token. Veja https://aka.ms/aka.ms/msal-net-token-cache-serialization |
Observações
Contribuições
Agradecemos o feedback e contribuições para ajudar a tornar a Biblioteca de Autenticação da Microsoft para .NET melhor! Antes de começar, por favor leia os seguintes documentos:
Issues
Para fornecer feedback à biblioteca ou reportar um bug, por favor abra uma questão no GitHub.