ConfidentialClientApplicationBuilder Classe

Definizione

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

Metodi

Nome Descrizione
Build()

Compila un'istanza di IConfidentialClientApplication dai parametri impostati in ConfidentialClientApplicationBuilder.

Create(String)

Crea un oggetto ConfidentialClientApplicationBuilder da un id client. Fare riferimento a https://aka.ms/msal-net-application-configuration

CreateWithApplicationOptions(ConfidentialClientApplicationOptions)

Costruttore di confidentialClientApplicationBuilder dalle opzioni di configurazione dell'applicazione. Fare riferimento a https://aka.ms/msal-net-application-configuration

WithAdfsAuthority(String, Boolean)

Aggiunge un'autorità nota corrispondente a un server ADFS. Fare riferimento a https://aka.ms/msal-net-adfs

(Ereditato da AbstractApplicationBuilder<T>)
WithAuthority(AadAuthorityAudience, Boolean)

Aggiunge un'autorità di Azure AD nota all'applicazione per l'accesso degli utenti che specificano il gruppo di destinatari di accesso (il cloud è il cloud Azure cloud pubblico). Vedete https://aka.ms/msal-net-application-configuration.

(Ereditato da AbstractApplicationBuilder<T>)
WithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean)

Aggiunge un'autorità Azure AD nota all'applicazione per l'accesso degli utenti che specificano l'istanza cloud e il gruppo di destinatari dell'accesso. Vedete https://aka.ms/msal-net-application-configuration.

(Ereditato da AbstractApplicationBuilder<T>)
WithAuthority(AzureCloudInstance, Guid, Boolean)

Aggiunge un'autorità di Azure AD nota all'applicazione per consentire agli utenti di accedere da una singola organizzazione (applicazione a tenant singolo) descritta dall'istanza cloud e dal relativo ID tenant. Vedete https://aka.ms/msal-net-application-configuration.

(Ereditato da AbstractApplicationBuilder<T>)
WithAuthority(AzureCloudInstance, String, Boolean)

Aggiunge un'autorità di Azure AD nota all'applicazione per l'accesso degli utenti da una singola organizzazione (applicazione a tenant singolo) descritta dall'istanza cloud e dal relativo nome di dominio o ID tenant. Vedete https://aka.ms/msal-net-application-configuration.

(Ereditato da AbstractApplicationBuilder<T>)
WithAuthority(String, Boolean)

Aggiunge un'autorità Azure AD nota all'applicazione per l'accesso degli utenti che specificano l'URI completo dell'autorità. Vedere Opzioni di configurazione dell'applicazione.

(Ereditato da AbstractApplicationBuilder<T>)
WithAuthority(String, Guid, Boolean)

Aggiunge un'autorità di Azure AD nota all'applicazione per l'accesso degli utenti da una singola organizzazione (applicazione a tenant singolo) specificata dal relativo ID tenant. Vedere Opzioni di configurazione dell'applicazione.

(Ereditato da AbstractApplicationBuilder<T>)
WithAuthority(String, String, Boolean)

Aggiunge un'autorità di Azure AD nota all'applicazione per l'accesso degli utenti da una singola organizzazione (applicazione a tenant singolo) descritta dal nome di dominio. Vedete https://aka.ms/msal-net-application-configuration.

(Ereditato da AbstractApplicationBuilder<T>)
WithAuthority(Uri, Boolean)

Aggiunge un'autorità nota all'applicazione. Vedere Opzioni di configurazione dell'applicazione. Questo costruttore viene usato principalmente per gli scenari in cui l'autorità non è un'autorità standard di Azure AD, né un'autorità ADFS, né un'autorità ad Azure AD B2C. Per Azure AD, anche nei cloud sovrani, preferire l'uso di altri override, ad esempioWithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean)

(Ereditato da AbstractApplicationBuilder<T>)
WithAzureRegion(String)

Indica a MSAL di usare un servizio token Azure a livello di area. Questa funzionalità è attualmente disponibile solo per le applicazioni proprietarie.

WithB2CAuthority(String)

Aggiunge un'autorità nota corrispondente a un criterio di active directory B2C di Azure. Fare riferimento a https://aka.ms/msal-net-b2c-specificities

(Ereditato da AbstractApplicationBuilder<T>)
WithCacheOptions(CacheOptions)

Opzioni per le cache dei token MSAL.

MSAL gestisce una cache dei token internamente in memoria. Per impostazione predefinita, questo oggetto cache fa parte di ogni istanza di PublicClientApplication o ConfidentialClientApplication. Questo metodo consente la personalizzazione della cache dei token in memoria di MSAL.

La cache di memoria di MSAL è diversa dalla serializzazione della cache dei token. La serializzazione della cache esegue il pull dei token da una cache (ad esempio Redis, Cosmos o un file su disco), in cui vengono archiviati in formato JSON, nella cache di memoria interna di MSAL. Le operazioni della cache di memoria non comportano operazioni JSON.

La serializzazione della cache esterna rimane il modo consigliato per gestire app desktop, siti Web e API Web, in quanto fornisce la persistenza. Queste opzioni non controllano attualmente la serializzazione della cache esterna.

Indicazioni dettagliate per ogni tipo di applicazione e piattaforma: https://aka.ms/msal-net-token-cache-serialization

(Ereditato da AbstractApplicationBuilder<T>)
WithCacheSynchronization(Boolean)

Se impostato su true, MSAL bloccherà l'accesso alla ConfidentialClientApplication cache a livello, ovvero il blocco di codice tra BeforeAccessAsync e AfterAccessAsync i callback verranno sincronizzati. Le app possono impostare questo flag su false per abilitare una strategia di blocco della cache ottimistica, che può comportare prestazioni migliori a costo della coerenza della cache. L'impostazione di questo flag su false è consigliata solo per le app che creano una nuova ConfidentialClientApplication richiesta.

WithCertificate(X509Certificate2, Boolean)

Imposta il certificato associato all'applicazione. Applicabile solo alle applicazioni proprietarie, questo metodo consente anche di specificare se l'attestazione x5c deve essere inviata a Azure AD. L'invio di x5c consente agli sviluppatori di applicazioni di ottenere un semplice rollover dei certificati in Azure AD: questo metodo invierà la catena di certificati a Azure AD insieme alla richiesta di token, in modo che Azure AD possa usarlo per convalidare il nome soggetto in base a criteri di autorità di certificazione attendibili. In questo modo l'amministratore dell'applicazione viene salvato dalla necessità di gestire in modo esplicito il rollover del certificato (tramite il portale o l'operazione di PowerShell/CLI). Per informazioni dettagliate, vedere https://aka.ms/msal-net-sni

WithCertificate(X509Certificate2, CertificateOptions)

Imposta il certificato associato all'applicazione. Applicabile solo alle applicazioni proprietarie, questo metodo consente anche di specificare se l'attestazione x5c deve essere inviata a Azure AD. L'invio di x5c consente agli sviluppatori di applicazioni di ottenere un semplice rollover dei certificati in Azure AD: questo metodo invierà la catena di certificati a Azure AD insieme alla richiesta di token, in modo che Azure AD possa usarlo per convalidare il nome soggetto in base a criteri di autorità di certificazione attendibili. In questo modo l'amministratore dell'applicazione viene salvato dalla necessità di gestire in modo esplicito il rollover del certificato (tramite il portale o l'operazione di PowerShell/CLI). Per informazioni dettagliate, vedere https://aka.ms/msal-net-sni

WithCertificate(X509Certificate2)

Imposta il certificato associato all'applicazione.

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

Configura l'applicazione client per l'uso di un'asserzione client per l'autenticazione.

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

Configura un delegato asincrono che crea un'asserzione client. Il delegato viene richiamato solo quando non è possibile recuperare un token dalla cache. Fare riferimento a https://aka.ms/msal-net-client-assertion

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

Configura un delegato asincrono che crea un'asserzione client. Fare riferimento a https://aka.ms/msal-net-client-assertion

WithClientAssertion(Func<String>)

Configura un delegato che crea un'asserzione client. Fare riferimento a https://aka.ms/msal-net-client-assertion

WithClientAssertion(String)
Obsoleti.

Imposta l'asserzione client dell'applicazione. Vedete https://aka.ms/msal-net-client-assertion. Verrà creata un'asserzione che verrà mantenuta all'interno della memoria dell'applicazione client per la durata del client. È possibile usare WithClientAssertion(Func<String>) per impostare un delegato che verrà eseguito per ogni richiesta di autenticazione. In questo modo sarà possibile aggiornare l'asserzione client usata dall'applicazione client dopo la scadenza dell'asserzione.

WithClientCapabilities(IEnumerable<String>)

Microsoft'estensione OIDC specifica dell'identità che consente di risolvere i problemi delle risorse senza interazione. Consente la configurazione di una o più funzionalità client, ad esempio "llt"

(Ereditato da AbstractApplicationBuilder<T>)
WithClientClaims(X509Certificate2, IDictionary<String,String>, Boolean, Boolean)
Obsoleti.

Imposta il certificato associato all'applicazione insieme alle attestazioni specifiche da firmare. Per impostazione predefinita, verrà eseguito il merge di claimsToSign con il set predefinito obbligatorio di attestazioni necessarie per l'autenticazione. Se mergeWithDefaultClaims è impostato su false, sarà necessario fornire le attestazioni predefinite necessarie. Fare riferimento a https://aka.ms/msal-net-client-assertion

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

Imposta il certificato associato all'applicazione insieme alle attestazioni specifiche da firmare. Per impostazione predefinita, verrà unito con claimsToSign il set predefinito obbligatorio di attestazioni necessarie per l'autenticazione. Se mergeWithDefaultClaims è impostato su false, sarà necessario fornire le attestazioni predefinite necessarie. Fare riferimento a https://aka.ms/msal-net-client-assertion

WithClientId(String)

Imposta l'ID client dell'applicazione

(Ereditato da AbstractApplicationBuilder<T>)
WithClientName(String)

Imposta il nome dell'API SDK chiamante a scopo di telemetria.

(Ereditato da BaseAbstractApplicationBuilder<T>)
WithClientSecret(String)

Imposta il segreto dell'applicazione

WithClientVersion(String)

Imposta la versione dell'SDK chiamante a scopo di telemetria.

(Ereditato da BaseAbstractApplicationBuilder<T>)
WithDebugLoggingCallback(LogLevel, Boolean, Boolean)

Imposta il callback di registrazione debug su un metodo di debug predefinito che visualizza il livello del messaggio e il messaggio stesso. Per informazioni dettagliate, vedere https://aka.ms/msal-net-logging

(Ereditato da BaseAbstractApplicationBuilder<T>)
WithExperimentalFeatures(Boolean)

Consente l'uso di funzionalità sperimentali e API. Se questo flag non è impostato, le funzionalità sperimentali genereranno un'eccezione. Per informazioni dettagliate, vedere https://aka.ms/msal-net-experimental-features

(Ereditato da BaseAbstractApplicationBuilder<T>)
WithExtraQueryParameters(IDictionary<String,String>)
Obsoleti.

Imposta parametri di query aggiuntivi per la stringa di query nella richiesta di autenticazione HTTP

(Ereditato da AbstractApplicationBuilder<T>)
WithExtraQueryParameters(IDictionary<String,ValueTuple<String,Boolean>>)

Imposta parametri di query aggiuntivi per la stringa di query nella richiesta di autenticazione HTTP con il controllo sui parametri inclusi nella chiave della cache

(Ereditato da AbstractApplicationBuilder<T>)
WithExtraQueryParameters(String)
Obsoleti.

Imposta parametri di query aggiuntivi per la stringa di query nella richiesta di autenticazione HTTP

(Ereditato da AbstractApplicationBuilder<T>)
WithGenericAuthority(String)
Obsoleti.

In alternativa, chiamare WithOidcAuthority(String).

WithHttpClientFactory(IMsalHttpClientFactory, Boolean)

Usa un oggetto specifico IMsalHttpClientFactory per comunicare con il provider di identità. Ciò consente scenari avanzati, ad esempio l'impostazione di un proxy o l'impostazione dell'agente.

(Ereditato da BaseAbstractApplicationBuilder<T>)
WithHttpClientFactory(IMsalHttpClientFactory)

Usa un oggetto specifico IMsalHttpClientFactory per comunicare con il provider di identità. Ciò consente scenari avanzati, ad esempio l'impostazione di un proxy o l'impostazione dell'agente.

(Ereditato da BaseAbstractApplicationBuilder<T>)
WithInstanceDicoveryMetadata(String)
Obsoleti.

Consente agli sviluppatori di configurare le proprie autorità valide. Deve essere fornita una stringa json simile a https://aka.ms/aad-instance-discovery . MSAL usa queste informazioni per:

  • Chiamare le API REST nell'ambiente specificato nel preferred_network
  • Identificare un ambiente in cui salvare i token e gli account nella cache
  • Usare gli alias dell'ambiente per associare i token emessi ad altre autorità
Per altri dettagli, vedere https://aka.ms/msal-net-custom-instance-metadata (Ereditato da AbstractApplicationBuilder<T>)
WithInstanceDicoveryMetadata(Uri)
Obsoleti.

Consente a un'organizzazione di configurare il proprio servizio per gestire l'individuazione delle istanze, consentendo una migliore memorizzazione nella cache per gli ambienti microservizi/servizi. Deve essere fornito un URI che restituisce una risposta simile a https://aka.ms/aad-instance-discovery . MSAL usa queste informazioni per:

  • Chiamare le API REST nell'ambiente specificato nel preferred_network
  • Identificare un ambiente in cui salvare i token e gli account nella cache
  • Usare gli alias dell'ambiente per associare i token emessi ad altre autorità
Per altri dettagli, vedere https://aka.ms/msal-net-custom-instance-metadata (Ereditato da AbstractApplicationBuilder<T>)
WithInstanceDiscovery(Boolean)

Determina se l'individuazione dell'istanza viene eseguita o meno durante il tentativo di autenticazione. Se si imposta su false, l'individuazione dell'istanza e la convalida dell'autorità verranno completamente disabilitate. Questo non influirà sul comportamento dell'applicazione configurata con gli endpoint a livello di area.

(Ereditato da AbstractApplicationBuilder<T>)
WithInstanceDiscoveryMetadata(String)

Consente agli sviluppatori di configurare le proprie autorità valide. Deve essere fornita una stringa json simile a https://aka.ms/aad-instance-discovery . MSAL usa queste informazioni per:

  • Chiamare le API REST nell'ambiente specificato nel preferred_network
  • Identificare un ambiente in cui salvare i token e gli account nella cache
  • Usare gli alias dell'ambiente per associare i token emessi ad altre autorità
Per altri dettagli, vedere https://aka.ms/msal-net-custom-instance-metadata (Ereditato da AbstractApplicationBuilder<T>)
WithInstanceDiscoveryMetadata(Uri)

Consente a un'organizzazione di configurare il proprio servizio per gestire l'individuazione delle istanze, consentendo una migliore memorizzazione nella cache per gli ambienti microservizi/servizi. Deve essere fornito un URI che restituisce una risposta simile a https://aka.ms/aad-instance-discovery . MSAL usa queste informazioni per:

  • Chiamare le API REST nell'ambiente specificato nel preferred_network
  • Identificare un ambiente in cui salvare i token e gli account nella cache
  • Usare gli alias dell'ambiente per associare i token emessi ad altre autorità
Per altri dettagli, vedere https://aka.ms/msal-net-custom-instance-metadata (Ereditato da AbstractApplicationBuilder<T>)
WithLegacyCacheCompatibility(Boolean)

Abilita la serializzazione e la deserializzazione della cache ADAL legacy.

(Ereditato da AbstractApplicationBuilder<T>)
WithLogging(IIdentityLogger, Boolean)

Imposta il logger di identità. Per informazioni dettagliate, vedere https://aka.ms/msal-net-logging

(Ereditato da BaseAbstractApplicationBuilder<T>)
WithLogging(LogCallback, Nullable<LogLevel>, Nullable<Boolean>, Nullable<Boolean>)

Imposta il callback di registrazione. Per informazioni dettagliate, vedere https://aka.ms/msal-net-logging

(Ereditato da BaseAbstractApplicationBuilder<T>)
WithOidcAuthority(String)

Aggiunge un'autorità nota corrispondente a un provider di identità OpenIdConnect generico. MSAL aggiungerà ".well-known/openid-configuration" all'autorità e recupererà i metadati OIDC da questa posizione per individuare gli endpoint. Fare riferimento a https://openid.net/specs/openid-connect-core-1_0.html#Terminology

WithOptions(ApplicationOptions)

Imposta le opzioni dell'applicazione, che possono, ad esempio, essere state lette dai file di configurazione. Vedete https://aka.ms/msal-net-application-configuration.

(Ereditato da AbstractApplicationBuilder<T>)
WithOptions(BaseApplicationOptions)

Imposta le opzioni dell'applicazione, che possono, ad esempio, essere state lette dai file di configurazione. Vedete https://aka.ms/msal-net-application-configuration.

(Ereditato da BaseAbstractApplicationBuilder<T>)
WithRedirectUri(String)

Imposta l'URI di reindirizzamento dell'applicazione. L'URI deve essere registrato anche nel portale dell'applicazione. Fare riferimento a https://aka.ms/msal-net-application-configuration

(Ereditato da AbstractApplicationBuilder<T>)
WithTelemetry(ITelemetryConfig)
Obsoleti.

Generare eventi di aggregazione di telemetria.

(Ereditato da AbstractApplicationBuilder<T>)
WithTelemetryClient(ITelemetryClient[])
Obsoleti.

Questo metodo è obsoleto. Fare riferimento a https://aka.ms/msal-net-telemetry

WithTenantId(String)

Imposta l'ID tenant dell'organizzazione da cui l'applicazione consentirà agli utenti di accedere. Si tratta classicamente di un GUID o di un nome di dominio. Vedete https://aka.ms/msal-net-application-configuration. Anche se è anche possibile impostare su tenantIdcommon, organizationse consumers, è consigliabile usare una delle sostituzioni di WithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean).

(Ereditato da AbstractApplicationBuilder<T>)

Metodi di estensione

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

Configura un callback asincrono richiamato al termine di una richiesta di acquisizione del token. Questo callback viene richiamato una volta per AcquireTokenForClient chiamata, dopo che tutti i tentativi sono stati esauriti. Anche se denominato OnCompletion per il caso comune, questo callback viene attivato sia per le acquisizioni riuscite che per le acquisizioni non riuscite. Ciò consente scenari come la telemetria, la registrazione e la gestione dei risultati personalizzata.

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

Configura un callback asincrono richiamato quando MSAL riceve una risposta di errore dal provider di identità (servizio token di sicurezza). Il callback determina se MSAL deve ripetere la richiesta di token o propagare l'eccezione. Questo callback viene richiamato dopo ogni errore del servizio e può essere chiamato più volte fino a quando non restituisce false o la richiesta ha esito positivo.

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

Consente di impostare un callback che restituisce un token di accesso, in base ai parametri passati. MSAL passerà i parametri di autenticazione al callback ed è previsto che il callback crei un AppTokenProviderResult e lo restituisca a MSAL. MSAL memorizza nella cache la risposta del token nello stesso modo in cui esegue per altri risultati di autenticazione.

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

Configura un callback asincrono per fornire il certificato delle credenziali client in modo dinamico. Il callback viene richiamato prima di ogni richiesta di acquisizione di token al provider di identità (inclusi i tentativi). Ciò consente scenari come la rotazione dei certificati e la selezione dinamica dei certificati in base al contesto dell'applicazione.

WithCertificate(ConfidentialClientApplicationBuilder, X509Certificate2, Boolean, Boolean)

Imposta il certificato associato all'applicazione. Applicabile solo alle applicazioni proprietarie, questo metodo consente anche di specificare se l'attestazione x5c deve essere inviata a Azure AD. L'invio di x5c consente agli sviluppatori di applicazioni di ottenere un semplice rollover dei certificati in Azure AD: questo metodo invierà la catena di certificati a Azure AD insieme alla richiesta di token, in modo che Azure AD possa usarlo per convalidare il nome soggetto in base a criteri di autorità di certificazione attendibili. In questo modo l'amministratore dell'applicazione viene salvato dalla necessità di gestire in modo esplicito il rollover del certificato (tramite il portale o l'operazione di PowerShell/CLI). Per informazioni dettagliate, vedere https://aka.ms/msal-net-sni Questa API consente di associare i token acquisiti da Azure AD al numero di serie del certificato. Può essere usato per partizionare la cache in base al certificato. I token acquisiti con un certificato non saranno accessibili a un altro certificato con un numero di serie diverso.

Si applica a