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

Name Descrição
Build()

Constrói uma instância de IConfidentialClientApplication a partir dos parâmetros definidos no ConfidentialClientApplicationBuilder.

Create(String)

Cria um ConfidentialClientApplicationBuilder a partir de um clienteID. Veja https://aka.ms/msal-net-application-configuration

CreateWithApplicationOptions(ConfidentialClientApplicationOptions)

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

WithAdfsAuthority(String, Boolean)

Adiciona uma Autoridade conhecida correspondente a um servidor ADFS. Veja https://aka.ms/msal-net-adfs

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

Adiciona uma autoridade conhecida do Azure AD à aplicação para os utilizadores que iniciam sessão, especificando o público de início de sessão (a cloud sendo a cloud pública do Azure). Consulte https://aka.ms/msal-net-application-configuration.

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

Adiciona uma autoridade conhecida do Azure AD à aplicação para os utilizadores de iniciar sessão, especificando a instância cloud e o público de iniciação de sessão. Consulte https://aka.ms/msal-net-application-configuration.

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

Adiciona uma autoridade conhecida do Azure AD à aplicação para iniciar sessão com utilizadores de uma única organização (aplicação de inquilino único) descrita pela sua instância cloud e pelo seu ID de inquilino. Consulte https://aka.ms/msal-net-application-configuration.

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

Adiciona uma autoridade Azure AD conhecida à aplicação para iniciar sessão com utilizadores de uma única organização (aplicação de inquilino único) descrita pela sua instância cloud e pelo seu nome de domínio ou ID de inquilino. Consulte https://aka.ms/msal-net-application-configuration.

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

Adiciona uma autoridade conhecida do Azure AD à aplicação para os utilizadores que iniciam sessão, especificando o URI de autoridade completa. Ver opções de configuração da aplicação.

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

Adiciona uma autoridade conhecida do Azure AD à aplicação para iniciar sessão com utilizadores a partir de uma única organização (aplicação de inquilin único) especificada pelo seu ID de inquilino. Ver opções de configuração da aplicação.

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

Adiciona uma autoridade Azure AD conhecida à aplicação para iniciar sessão com utilizadores de uma única organização (aplicação de inquilino único) descrita pelo seu nome de domínio. Consulte https://aka.ms/msal-net-application-configuration.

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

Adiciona uma autoridade conhecida à aplicação. Ver opções de configuração da aplicação. Este construtor é usado principalmente em cenários onde a autoridade não é uma autoridade padrão do Azure AD, nem uma autoridade ADFS, nem uma autoridade B2C do Azure AD. Para o Azure AD, mesmo em nuvens soberanas, prefira usar outros overrides comoWithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean)

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

Instrui o MSAL a usar um serviço regional de token do Azure. Esta funcionalidade está atualmente disponível apenas para aplicações de primeira parte.

WithB2CAuthority(String)

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

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

Opções para caches de tokens MSAL.

O MSAL mantém uma cache de tokens internamente na memória. Por defeito, este objeto cache faz parte de cada instância de PublicClientApplication ou ConfidentialClientApplication. Este método permite a personalização da cache de tokens em memória do MSAL.

A cache de memória da MSAL é diferente da serialização da cache de tokens. A serialização da cache retira os tokens de uma cache (por exemplo, Redis, Cosmos ou um ficheiro no disco), onde são armazenados em formato JSON, para a cache interna de memória da MSAL. As operações de cache de memória não envolvem operações JSON.

A serialização da cache externa continua a ser a forma recomendada de lidar com aplicações de ambiente de trabalho, sites web e APIs web, pois proporciona persistência. Estas opções não controlam atualmente a serialização da cache externa.

Orientação detalhada para cada tipo de aplicação e plataforma: https://aka.ms/msal-net-token-cache-serialization

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

Quando definido para true, o MSAL bloqueia o acesso à cache ao ConfidentialClientApplication nível, ou seja, o bloco de código entre os callbacks BeforeAccessAsync e AfterAccessAsync será sincronizado. As aplicações podem definir esta bandeira para false permitir uma estratégia otimista de bloqueio da cache, o que pode resultar em melhor desempenho à custa da consistência da cache. Definir este flag só false é recomendado para aplicações que criam um novo ConfidentialClientApplication pedido por pedido.

WithCertificate(X509Certificate2, Boolean)

Define o certificado associado à aplicação. Aplicável apenas a aplicações de primeira parte, este método também permite especificar se a reivindicação x5c deve ser enviada para o Azure AD. Enviar o x5c permite aos programadores de aplicações conseguir uma simples transferência de certificados no Azure AD: este método envia a cadeia de certificados para o Azure AD juntamente com o pedido de token, para que o Azure AD possa usá-lo para validar o nome do assunto com base numa política de emissor de confiança. Isto poupa ao administrador da aplicação a necessidade de gerir explicitamente o rollover de certificados (seja via portal ou operação PowerShell/CLI). Para mais informações, consultar: https://aka.ms/msal-net-sni

WithCertificate(X509Certificate2, CertificateOptions)

Define o certificado associado à aplicação. Aplicável apenas a aplicações de primeira parte, este método também permite especificar se a reivindicação x5c deve ser enviada para o Azure AD. Enviar o x5c permite aos programadores de aplicações conseguir uma simples transferência de certificados no Azure AD: este método envia a cadeia de certificados para o Azure AD juntamente com o pedido de token, para que o Azure AD possa usá-lo para validar o nome do assunto com base numa política de emissor de confiança. Isto poupa ao administrador da aplicação a necessidade de gerir explicitamente o rollover de certificados (seja via portal ou operação PowerShell/CLI). Para mais informações, consultar: https://aka.ms/msal-net-sni

WithCertificate(X509Certificate2)

Define o certificado associado à aplicação.

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

Configura a aplicação cliente para usar uma asserção cliente para autenticação.

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

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

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

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

WithClientAssertion(Func<String>)

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

WithClientAssertion(String)
Obsoleto.

Define a asserção cliente da aplicação. Consulte https://aka.ms/msal-net-client-assertion. Isto criará uma asserção que ficará armazenada na memória da aplicação cliente durante toda a duração do cliente. Podes usar WithClientAssertion(Func<String>) para definir um delegado que será executado para cada pedido de autenticação. Isto permitirá atualizar a asserção cliente usada pela aplicação cliente assim que esta expirar.

WithClientCapabilities(IEnumerable<String>)

Extensão OIDC específica do Microsoft Identity que permite resolver desafios de recursos sem interação. Permite a configuração de uma ou mais capacidades do cliente, por exemplo, "llt"

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

Define o certificado associado à candidatura juntamente com as reivindicações específicas a assinar. Por defeito, isto irá fundir o claimsToSign com o conjunto padrão de reivindicações necessário para autenticação. Se mergeWithDefaultClaims estiver definido como falso, terá de apresentar as reclamações de incumprimento necessárias. Veja https://aka.ms/msal-net-client-assertion

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

Define o certificado associado à candidatura juntamente com as reivindicações específicas a assinar. Por defeito, isto irá fundir o claimsToSign com o conjunto padrão de reivindicações necessário para autenticação. Se mergeWithDefaultClaims estiver definido como falso, terá de apresentar as reclamações de incumprimento necessárias. Veja https://aka.ms/msal-net-client-assertion

WithClientId(String)

Define o ID do Cliente da aplicação

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

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

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

Define o segredo da aplicação

WithClientVersion(String)

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

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

Define o callback de registo de depuração para um método de depuração predefinido que mostra o nível da mensagem e da própria mensagem. Para mais informações, consultar: https://aka.ms/msal-net-logging

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

Permite a utilização de funcionalidades experimentais e APIs. Se esta bandeira não estiver definida, as funcionalidades experimentais lançam uma exceção. Para mais informações, consultar: https://aka.ms/msal-net-experimental-features

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

Define parâmetros extra de consulta para a cadeia de consulta no pedido de autenticação HTTP

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

Define Parâmetros Extra de Consulta para a cadeia de consulta no pedido de autenticação HTTP com controlo sobre quais os parâmetros incluídos na chave de cache

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

Define parâmetros extra de consulta para a cadeia de consulta no pedido de autenticação HTTP

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

Telefone WithOidcAuthority(String) em vez disso.

WithHttpClientFactory(IMsalHttpClientFactory, Boolean)

Usa um específico IMsalHttpClientFactory para comunicar com o IDP. Isto 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 comunicar com o IDP. Isto permite cenários avançados, como definir um proxy ou definir o Agente.

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

Permite aos programadores configurar as suas próprias autoridades válidas. Deve ser fornecida uma cadeia json semelhante a https://aka.ms/aad-instance-discovery . A MSAL utiliza esta informação para:

  • Chamadas APIs REST no ambiente especificado na preferred_network
  • Identifique um ambiente onde guardar tokens e contas na cache
  • Usar os pseudónimos ambientais para corresponder a tokens emitidos a outras autoridades
Para mais detalhes, veja https://aka.ms/msal-net-custom-instance-metadata (Herdado de AbstractApplicationBuilder<T>)
WithInstanceDicoveryMetadata(Uri)
Obsoleto.

Permite a uma organização configurar o seu próprio serviço para gerir a descoberta de instâncias, o que permite um melhor cache para ambientes de microserviços/serviços. Deve ser fornecido um Uri que devolva uma resposta semelhante à https://aka.ms/aad-instance-discovery . A MSAL utiliza esta informação para:

  • Chamadas APIs REST no ambiente especificado na preferred_network
  • Identifique um ambiente onde guardar tokens e contas na cache
  • Usar os pseudónimos ambientais para corresponder a tokens emitidos a outras autoridades
Para mais detalhes, veja https://aka.ms/msal-net-custom-instance-metadata (Herdado de AbstractApplicationBuilder<T>)
WithInstanceDiscovery(Boolean)

Determina se a descoberta de instâncias é realizada ao tentar autenticar. Definir isto como falso desativa completamente a descoberta de instâncias e a validação de autoridade. No entanto, isto não afetará o comportamento da aplicação configurada com endpoints regionais.

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

Permite aos programadores configurar as suas próprias autoridades válidas. Deve ser fornecida uma cadeia json semelhante a https://aka.ms/aad-instance-discovery . A MSAL utiliza esta informação para:

  • Chamadas APIs REST no ambiente especificado na preferred_network
  • Identifique um ambiente onde guardar tokens e contas na cache
  • Usar os pseudónimos ambientais para corresponder a tokens emitidos a outras autoridades
Para mais detalhes, veja https://aka.ms/msal-net-custom-instance-metadata (Herdado de AbstractApplicationBuilder<T>)
WithInstanceDiscoveryMetadata(Uri)

Permite a uma organização configurar o seu próprio serviço para gerir a descoberta de instâncias, o que permite um melhor cache para ambientes de microserviços/serviços. Deve ser fornecido um Uri que devolva uma resposta semelhante à https://aka.ms/aad-instance-discovery . A MSAL utiliza esta informação para:

  • Chamadas APIs REST no ambiente especificado na preferred_network
  • Identifique um ambiente onde guardar tokens e contas na cache
  • Usar os pseudónimos ambientais para corresponder a tokens emitidos a outras autoridades
Para mais detalhes, veja https://aka.ms/msal-net-custom-instance-metadata (Herdado de AbstractApplicationBuilder<T>)
WithLegacyCacheCompatibility(Boolean)

Permite a serialização e desserialização da cache ADAL legado.

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

Define o registo de identidade. Para mais informações, consultar: https://aka.ms/msal-net-logging

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

Define o callback de registo. Para mais informações, consultar: 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. O MSAL acrescenta ".well-known/openid-configuration" à autoridade e recupera os metadados do OIDC a partir daí, para determinar os endpoints. Veja https://openid.net/specs/openid-connect-core-1_0.html#Terminology

WithOptions(ApplicationOptions)

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

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

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

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

Define o URI de redirecionamento da aplicação. O URI deve também estar registado no portal de candidaturas. Veja 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.

Este método está obsoleto. Veja https://aka.ms/msal-net-telemetry

WithTenantId(String)

Define o ID do inquilino da organização a partir do qual a aplicação permitirá aos utilizadores iniciar sessão. Isto é classicamente um GUID ou um nome de domínio. Consulte https://aka.ms/msal-net-application-configuration. Embora também seja possível definir tenantId para common, organizations, e consumers, recomenda-se usar um dos overrides de WithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean).

(Herdado de AbstractApplicationBuilder<T>)

Métodos da Extensão

Name Descrição
OnCompletion(ConfidentialClientApplicationBuilder, Func<AssertionRequestOptions,ExecutionResult,Task>)

Configura um callback assíncrono que é invocado quando um pedido de aquisição de token é concluído. Esta chamada de retorno é invocada uma vez por AcquireTokenForClient chamada, depois de todas as tentativas de retentativa terem sido esgotadas. Embora tenha sido nomeado OnCompletion por causa do caso comum, este callback é ativado tanto para aquisições bem-sucedidas como falhadas. Isto permite cenários como telemetria, registo e gestão personalizada de resultados.

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

Configura um callback assíncrono que é invocado quando o MSAL recebe uma resposta de erro do fornecedor de identidade (Security Token Service). O callback determina se a MSAL deve tentar novamente o pedido do token ou propagar a exceção. Esta chamada de retorno é invocada após cada falha de serviço e pode ser chamada várias vezes até regressar false ou até que o pedido tenha sucesso.

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

Permite definir um callback que devolve um token de acesso, com base nos parâmetros de passagem. O MSAL transmitirá os seus parâmetros de autenticação ao callback e espera-se que o callback construa a AppTokenProviderResult e o devolva ao MSAL. O MSAL armazena em cache a resposta do token da mesma forma que para outros resultados de autenticação.

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

Configura um callback assíncrono para fornecer o certificado de credencial do cliente de forma dinâmica. O callback é invocado antes de cada pedido de aquisição de token ao fornecedor de identidade (incluindo tentativas). Isto permite cenários como rotação de certificados e seleção dinâmica de certificados com base no contexto da aplicação.

WithCertificate(ConfidentialClientApplicationBuilder, X509Certificate2, Boolean, Boolean)

Define o certificado associado à aplicação. Aplicável apenas a aplicações de primeira parte, este método também permite especificar se a reivindicação x5c deve ser enviada para o Azure AD. Enviar o x5c permite aos programadores de aplicações conseguir uma simples transferência de certificados no Azure AD: este método envia a cadeia de certificados para o Azure AD juntamente com o pedido de token, para que o Azure AD possa usá-lo para validar o nome do assunto com base numa política de emissor de confiança. Isto poupa ao administrador da aplicação a necessidade de gerir explicitamente o rollover de certificados (seja via portal ou operação PowerShell/CLI). Para mais detalhes, vejahttps://aka.ms/msal-net-sni: Esta API permite associar os tokens adquiridos do Azure AD ao número de série do certificado. Isto pode ser usado para particionar a cache por certificado. 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