ConfidentialClientApplicationBuilder Classe

Definição

public class ConfidentialClientApplicationBuilder : Microsoft.Identity.Client.AbstractApplicationBuilder<Microsoft.Identity.Client.ConfidentialClientApplicationBuilder>
type ConfidentialClientApplicationBuilder = class
    inherit AbstractApplicationBuilder<ConfidentialClientApplicationBuilder>
Public Class ConfidentialClientApplicationBuilder
Inherits AbstractApplicationBuilder(Of ConfidentialClientApplicationBuilder)
Herança

Métodos

Nome Description
Build()

Cria uma instância dos IConfidentialClientApplication parâmetros definidos no ConfidentialClientApplicationBuilder.

Create(String)

Cria um ConfidentialClientApplicationBuilder de uma clientID. Consulte https://aka.ms/msal-net-application-configuration

CreateWithApplicationOptions(ConfidentialClientApplicationOptions)

Construtor de um ConfidentialClientApplicationBuilder a partir de opções de configuração de aplicativo. Consulte https://aka.ms/msal-net-application-configuration

WithAdfsAuthority(String, Boolean)

Adiciona uma autoridade conhecida correspondente a um servidor do ADFS. Consulte https://aka.ms/msal-net-adfs

(Herdado de AbstractApplicationBuilder<T>)
WithAuthority(AadAuthorityAudience, Boolean)

Adiciona uma autoridade Azure AD conhecida ao aplicativo para conectar usuários que especificam o público-alvo de entrada (a nuvem é o Azure nuvem pública). Consulte https://aka.ms/msal-net-application-configuration.

(Herdado de AbstractApplicationBuilder<T>)
WithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean)

Adiciona uma autoridade Azure AD conhecida ao aplicativo para conectar usuários que especificam a instância de nuvem e o público-alvo de entrada. Consulte https://aka.ms/msal-net-application-configuration.

(Herdado de AbstractApplicationBuilder<T>)
WithAuthority(AzureCloudInstance, Guid, Boolean)

Adiciona uma autoridade de Azure AD conhecida ao aplicativo para conectar usuários de uma única organização (aplicativo de locatário único) descrito por sua instância de nuvem e sua ID de locatário. Consulte https://aka.ms/msal-net-application-configuration.

(Herdado de AbstractApplicationBuilder<T>)
WithAuthority(AzureCloudInstance, String, Boolean)

Adiciona uma autoridade de Azure AD conhecida ao aplicativo para conectar usuários de uma única organização (aplicativo de locatário único) descrito por sua instância de nuvem e seu nome de domínio ou ID de locatário. Consulte https://aka.ms/msal-net-application-configuration.

(Herdado de AbstractApplicationBuilder<T>)
WithAuthority(String, Boolean)

Adiciona uma autoridade de Azure AD conhecida ao aplicativo para conectar usuários que especificam o URI de autoridade completa. Consulte as opções de configuração do aplicativo.

(Herdado de AbstractApplicationBuilder<T>)
WithAuthority(String, Guid, Boolean)

Adiciona uma autoridade Azure AD conhecida ao aplicativo para conectar usuários de uma única organização (aplicativo de locatário único) especificada por sua ID de locatário. Consulte as opções de configuração do aplicativo.

(Herdado de AbstractApplicationBuilder<T>)
WithAuthority(String, String, Boolean)

Adiciona uma autoridade Azure AD conhecida ao aplicativo para conectar usuários de uma única organização (aplicativo de locatário único) descrito pelo nome de domínio. Consulte https://aka.ms/msal-net-application-configuration.

(Herdado de AbstractApplicationBuilder<T>)
WithAuthority(Uri, Boolean)

Adiciona uma autoridade conhecida ao aplicativo. Consulte as opções de configuração do aplicativo. Esse construtor é usado principalmente para cenários em que a autoridade não é uma autoridade padrão Azure do AD, nem uma autoridade do ADFS, nem uma autoridade Azure AD B2C. Para Azure AD, mesmo em nuvens soberanas, prefira usar outras substituições, comoWithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean)

(Herdado de AbstractApplicationBuilder<T>)
WithAzureRegion(String)

Instrui a MSAL a usar um serviço de token regional Azure. No momento, esse recurso está disponível apenas para aplicativos de primeira parte.

WithB2CAuthority(String)

Adiciona uma autoridade conhecida correspondente a uma política do AD B2C Azure. Consulte https://aka.ms/msal-net-b2c-specificities

(Herdado de AbstractApplicationBuilder<T>)
WithCacheOptions(CacheOptions)

Opções para caches de token MSAL.

A MSAL mantém um cache de token internamente na memória. Por padrão, esse objeto de cache faz parte de cada instância de PublicClientApplication ou ConfidentialClientApplication. Esse método permite a personalização do cache de token na memória da MSAL.

O cache de memória da MSAL é diferente da serialização do cache de token. A serialização de cache extrai os tokens de um cache (por exemplo, Redis, Cosmos ou um arquivo em disco), em que eles são armazenados no formato JSON, no cache de memória interna da MSAL. As operações de cache de memória não envolvem operações JSON.

A serialização de cache externo continua sendo a maneira recomendada de lidar com aplicativos da área de trabalho, site e APIs da Web, pois fornece persistência. No momento, essas opções não controlam a serialização de cache externo.

Diretrizes detalhadas para cada tipo de aplicativo e plataforma: https://aka.ms/msal-net-token-cache-serialization

(Herdado de AbstractApplicationBuilder<T>)
WithCacheSynchronization(Boolean)

Quando definido como , a trueMSAL bloqueará o ConfidentialClientApplication acesso ao cache no nível, ou seja, o bloco de código entre os retornos de chamada BeforeAccessAsync e AfterAccessAsync será sincronizado. Os aplicativos podem definir esse sinalizador para false habilitar uma estratégia de bloqueio de cache otimista, o que pode resultar em um melhor desempenho ao custo da consistência do cache. Definir esse sinalizador false é recomendado apenas para aplicativos que criam um novo ConfidentialClientApplication por solicitação.

WithCertificate(X509Certificate2, Boolean)

Define o certificado associado ao aplicativo. Aplicável somente a aplicativos de primeira parte, esse método também permite especificar se a declaração x5c deve ser enviada para Azure AD. O envio do x5c permite que os desenvolvedores de aplicativos obtenham fácil substituição de certificado no Azure AD: esse método enviará a cadeia de certificados para Azure AD junto com a solicitação de token, para que Azure AD possa usá-lo para validar o nome da entidade com base em uma política de emissor confiável. Isso salva o administrador do aplicativo da necessidade de gerenciar explicitamente a substituição de certificado (por meio do portal ou da operação do PowerShell/CLI). Para obter detalhes, consulte https://aka.ms/msal-net-sni

WithCertificate(X509Certificate2, CertificateOptions)

Define o certificado associado ao aplicativo. Aplicável somente a aplicativos de primeira parte, esse método também permite especificar se a declaração x5c deve ser enviada para Azure AD. O envio do x5c permite que os desenvolvedores de aplicativos obtenham fácil substituição de certificado no Azure AD: esse método enviará a cadeia de certificados para Azure AD junto com a solicitação de token, para que Azure AD possa usá-lo para validar o nome da entidade com base em uma política de emissor confiável. Isso salva o administrador do aplicativo da necessidade de gerenciar explicitamente a substituição de certificado (por meio do portal ou da operação do PowerShell/CLI). Para obter detalhes, consulte https://aka.ms/msal-net-sni

WithCertificate(X509Certificate2)

Define o certificado associado ao aplicativo.

WithClientAssertion(Func<AssertionRequestOptions,CancellationToken,Task<ClientSignedAssertion>>)

Configura o aplicativo cliente para usar uma declaração de cliente para autenticação.

WithClientAssertion(Func<AssertionRequestOptions,Task<String>>)

Configura um delegado assíncrono que cria uma declaração de cliente. O delegado é invocado somente quando um token não pode ser recuperado do cache. Consulte https://aka.ms/msal-net-client-assertion

WithClientAssertion(Func<CancellationToken,Task<String>>)

Configura um delegado assíncrono que cria uma declaração de cliente. Consulte https://aka.ms/msal-net-client-assertion

WithClientAssertion(Func<String>)

Configura um delegado que cria uma declaração de cliente. Consulte https://aka.ms/msal-net-client-assertion

WithClientAssertion(String)
Obsoleto.

Define a asserção do cliente do aplicativo. Consulte https://aka.ms/msal-net-client-assertion. Isso criará uma declaração que será mantida na memória do aplicativo cliente durante a duração do cliente. Você pode usar WithClientAssertion(Func<String>) para definir um delegado que será executado para cada solicitação de autenticação. Isso permitirá que você atualize a asserção do cliente usada pelo aplicativo cliente assim que a declaração expirar.

WithClientCapabilities(IEnumerable<String>)

Microsoft extensão OIDC específica da identidade que permite que os desafios de recursos sejam resolvidos sem interação. Permite a configuração de um ou mais recursos do cliente, por exemplo, "llt"

(Herdado de AbstractApplicationBuilder<T>)
WithClientClaims(X509Certificate2, IDictionary<String,String>, Boolean, Boolean)
Obsoleto.

Define o certificado associado ao aplicativo junto com as declarações específicas a serem assinadas. Por padrão, isso mesclará o claimsToSign conjunto de declarações necessário padrão para autenticação. Se mergeWithDefaultClaims estiver definido como false, você precisará fornecer as declarações padrão necessárias. Consulte https://aka.ms/msal-net-client-assertion

WithClientClaims(X509Certificate2, IDictionary<String,String>, Boolean)
Obsoleto.

Define o certificado associado ao aplicativo junto com as declarações específicas a serem assinadas. Por padrão, isso mesclará o claimsToSign conjunto de declarações necessário padrão para autenticação. Se mergeWithDefaultClaims estiver definido como false, você precisará fornecer as declarações padrão necessárias. Consulte https://aka.ms/msal-net-client-assertion

WithClientId(String)

Define a ID do cliente do aplicativo

(Herdado de AbstractApplicationBuilder<T>)
WithClientName(String)

Define o nome da API do SDK de chamada para fins de telemetria.

(Herdado de BaseAbstractApplicationBuilder<T>)
WithClientSecret(String)

Define o segredo do aplicativo

WithClientVersion(String)

Define a versão do SDK de chamada para fins de telemetria.

(Herdado de BaseAbstractApplicationBuilder<T>)
WithDebugLoggingCallback(LogLevel, Boolean, Boolean)

Define o retorno de chamada de registro em log de depuração como um método de depuração padrão que exibe o nível da mensagem e a própria mensagem. Para obter detalhes, consulte https://aka.ms/msal-net-logging

(Herdado de BaseAbstractApplicationBuilder<T>)
WithExperimentalFeatures(Boolean)

Permite o uso de recursos experimentais e APIs. Se esse sinalizador não estiver definido, os recursos experimentais gerarão uma exceção. Para obter detalhes, consulte https://aka.ms/msal-net-experimental-features

(Herdado de BaseAbstractApplicationBuilder<T>)
WithExtraQueryParameters(IDictionary<String,String>)
Obsoleto.

Define parâmetros de consulta extra para a cadeia de caracteres de consulta na solicitação de autenticação HTTP

(Herdado de AbstractApplicationBuilder<T>)
WithExtraQueryParameters(IDictionary<String,ValueTuple<String,Boolean>>)

Define parâmetros de consulta extra para a cadeia de caracteres de consulta na solicitação de autenticação HTTP com controle sobre quais parâmetros estão incluídos na chave de cache

(Herdado de AbstractApplicationBuilder<T>)
WithExtraQueryParameters(String)
Obsoleto.

Define parâmetros de consulta extra para a cadeia de caracteres de consulta na solicitação de autenticação HTTP

(Herdado de AbstractApplicationBuilder<T>)
WithGenericAuthority(String)
Obsoleto.

Chame WithOidcAuthority(String) em seu lugar.

WithHttpClientFactory(IMsalHttpClientFactory, Boolean)

Usa um específico IMsalHttpClientFactory para se comunicar com o IdP. Isso permite cenários avançados, como definir um proxy ou definir o Agente.

(Herdado de BaseAbstractApplicationBuilder<T>)
WithHttpClientFactory(IMsalHttpClientFactory)

Usa um específico IMsalHttpClientFactory para se comunicar com o IdP. Isso permite cenários avançados, como definir um proxy ou definir o Agente.

(Herdado de BaseAbstractApplicationBuilder<T>)
WithInstanceDicoveryMetadata(String)
Obsoleto.

Permite que os desenvolvedores configurem suas próprias autoridades válidas. Uma cadeia de caracteres json semelhante a https://aka.ms/aad-instance-discovery deve ser fornecida. A MSAL usa essas informações para:

  • Chamar APIs REST no ambiente especificado no preferred_network
  • Identificar um ambiente no qual salvar tokens e contas no cache
  • Usar os aliases de ambiente para corresponder tokens emitidos a outras autoridades
Para obter mais detalhes, consulte https://aka.ms/msal-net-custom-instance-metadata (Herdado de AbstractApplicationBuilder<T>)
WithInstanceDicoveryMetadata(Uri)
Obsoleto.

Permite que uma organização configure seu próprio serviço para lidar com a descoberta de instância, o que permite um melhor cache para ambientes de microsserviço/serviço. Um Uri que retorna uma resposta semelhante a https://aka.ms/aad-instance-discovery deve ser fornecida. A MSAL usa essas informações para:

  • Chamar APIs REST no ambiente especificado no preferred_network
  • Identificar um ambiente no qual salvar tokens e contas no cache
  • Usar os aliases de ambiente para corresponder tokens emitidos a outras autoridades
Para obter mais detalhes, consulte https://aka.ms/msal-net-custom-instance-metadata (Herdado de AbstractApplicationBuilder<T>)
WithInstanceDiscovery(Boolean)

Determina se a descoberta de instância é executada ou não ao tentar se autenticar. Definir isso como false desabilitará completamente a descoberta de instância e a validação de autoridade. No entanto, isso não afetará o comportamento do aplicativo configurado com pontos de extremidade regionais.

(Herdado de AbstractApplicationBuilder<T>)
WithInstanceDiscoveryMetadata(String)

Permite que os desenvolvedores configurem suas próprias autoridades válidas. Uma cadeia de caracteres json semelhante a https://aka.ms/aad-instance-discovery deve ser fornecida. A MSAL usa essas informações para:

  • Chamar APIs REST no ambiente especificado no preferred_network
  • Identificar um ambiente no qual salvar tokens e contas no cache
  • Usar os aliases de ambiente para corresponder tokens emitidos a outras autoridades
Para obter mais detalhes, consulte https://aka.ms/msal-net-custom-instance-metadata (Herdado de AbstractApplicationBuilder<T>)
WithInstanceDiscoveryMetadata(Uri)

Permite que uma organização configure seu próprio serviço para lidar com a descoberta de instância, o que permite um melhor cache para ambientes de microsserviço/serviço. Um Uri que retorna uma resposta semelhante a https://aka.ms/aad-instance-discovery deve ser fornecida. A MSAL usa essas informações para:

  • Chamar APIs REST no ambiente especificado no preferred_network
  • Identificar um ambiente no qual salvar tokens e contas no cache
  • Usar os aliases de ambiente para corresponder tokens emitidos a outras autoridades
Para obter mais detalhes, consulte https://aka.ms/msal-net-custom-instance-metadata (Herdado de AbstractApplicationBuilder<T>)
WithLegacyCacheCompatibility(Boolean)

Habilita a serialização e a desserialização do cache ADAL herdadas.

(Herdado de AbstractApplicationBuilder<T>)
WithLogging(IIdentityLogger, Boolean)

Define o Agente de Identidade. Para obter detalhes, consulte https://aka.ms/msal-net-logging

(Herdado de BaseAbstractApplicationBuilder<T>)
WithLogging(LogCallback, Nullable<LogLevel>, Nullable<Boolean>, Nullable<Boolean>)

Define o retorno de chamada de registro em log. Para obter detalhes, consulte https://aka.ms/msal-net-logging

(Herdado de BaseAbstractApplicationBuilder<T>)
WithOidcAuthority(String)

Adiciona uma autoridade conhecida correspondente a um Provedor de Identidade OpenIdConnect genérico. A MSAL anexará ".well-known/openid-configuration" à autoridade e recuperará os metadados do OIDC a partir daí, para descobrir os pontos de extremidade. Consulte https://openid.net/specs/openid-connect-core-1_0.html#Terminology

WithOptions(ApplicationOptions)

Define as opções de aplicativo, que podem, por exemplo, ter sido lidas de arquivos de configuração. Consulte https://aka.ms/msal-net-application-configuration.

(Herdado de AbstractApplicationBuilder<T>)
WithOptions(BaseApplicationOptions)

Define as opções de aplicativo, que podem, por exemplo, ter sido lidas de arquivos de configuração. Consulte https://aka.ms/msal-net-application-configuration.

(Herdado de BaseAbstractApplicationBuilder<T>)
WithRedirectUri(String)

Define o URI de redirecionamento do aplicativo. O URI também deve ser registrado no portal do aplicativo. Consulte https://aka.ms/msal-net-application-configuration

(Herdado de AbstractApplicationBuilder<T>)
WithTelemetry(ITelemetryConfig)
Obsoleto.

Gerar eventos de agregação de telemetria.

(Herdado de AbstractApplicationBuilder<T>)
WithTelemetryClient(ITelemetryClient[])
Obsoleto.

Esse método é obsoleto. Consulte https://aka.ms/msal-net-telemetry

WithTenantId(String)

Define a ID do locatário da organização da qual o aplicativo permitirá que os usuários entrem. Isso é clássicamente um GUID ou um nome de domínio. Consulte https://aka.ms/msal-net-application-configuration. Embora também seja possível definir tenantId como common, organizationse consumers, é recomendável usar uma das substituições de WithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean).

(Herdado de AbstractApplicationBuilder<T>)

Métodos de Extensão

Nome Description
OnCompletion(ConfidentialClientApplicationBuilder, Func<AssertionRequestOptions,ExecutionResult,Task>)

Configura um retorno de chamada assíncrono que é invocado quando uma solicitação de aquisição de token é concluída. Esse retorno de chamada é invocado uma vez por AcquireTokenForClient chamada, depois que todas as tentativas de repetição tiverem sido esgotadas. Embora nomeado OnCompletion para o caso comum, esse retorno de chamada é acionado para aquisições bem-sucedidas e com falha. Isso permite cenários como telemetria, registro em log e manipulação de resultados personalizados.

OnMsalServiceFailure(ConfidentialClientApplicationBuilder, Func<AssertionRequestOptions,ExecutionResult,Task<Boolean>>)

Configura um retorno de chamada assíncrono que é invocado quando a MSAL recebe uma resposta de erro do provedor de identidade (Serviço de Token de Segurança). O retorno de chamada determina se a MSAL deve repetir a solicitação de token ou propagar a exceção. Esse retorno de chamada é invocado após cada falha de serviço e pode ser chamado várias vezes até que ele retorne false ou a solicitação seja bem-sucedida.

WithAppTokenProvider(ConfidentialClientApplicationBuilder, Func<AppTokenProviderParameters,Task<AppTokenProviderResult>>)

Permite definir um retorno de chamada que retorna um token de acesso, com base nos parâmetros passados. A MSAL passará seus parâmetros de autenticação para o retorno de chamada e espera-se que o retorno de chamada construa um AppTokenProviderResult e o retorne à MSAL. A MSAL armazenará em cache a resposta do token da mesma forma que faz para outros resultados de autenticação.

WithCertificate(ConfidentialClientApplicationBuilder, Func<AssertionRequestOptions,Task<X509Certificate2>>, CertificateOptions)

Configura um retorno de chamada assíncrono para fornecer o certificado de credencial do cliente dinamicamente. O retorno de chamada é invocado antes de cada solicitação de aquisição de token para o provedor de identidade (incluindo novas tentativas). Isso permite cenários como rotação de certificado e seleção de certificado dinâmico com base no contexto do aplicativo.

WithCertificate(ConfidentialClientApplicationBuilder, X509Certificate2, Boolean, Boolean)

Define o certificado associado ao aplicativo. Aplicável somente a aplicativos de primeira parte, esse método também permite especificar se a declaração x5c deve ser enviada para Azure AD. O envio do x5c permite que os desenvolvedores de aplicativos obtenham fácil substituição de certificado no Azure AD: esse método enviará a cadeia de certificados para Azure AD junto com a solicitação de token, para que Azure AD possa usá-lo para validar o nome da entidade com base em uma política de emissor confiável. Isso salva o administrador do aplicativo da necessidade de gerenciar explicitamente a substituição de certificado (por meio do portal ou da operação do PowerShell/CLI). Para obter detalhes, veja https://aka.ms/msal-net-sni essa API que permite associar os tokens adquiridos do Azure AD ao número de série do certificado. Isso pode ser usado para particionar o cache por certificado. Os tokens adquiridos com um certificado não estarão acessíveis a outro certificado com um número de série diferente.

Aplica-se a