ConfidentialClientApplicationBuilder Classe

Définition

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

Méthodes

Nom Description
Build()

Génère une instance des IConfidentialClientApplication paramètres définis dans le ConfidentialClientApplicationBuilder.

Create(String)

Crée un ConfidentialClientApplicationBuilder à partir d’un clientID. Voir https://aka.ms/msal-net-application-configuration

CreateWithApplicationOptions(ConfidentialClientApplicationOptions)

Constructeur d’un ConfidentialClientApplicationBuilder à partir des options de configuration d’application. Voir https://aka.ms/msal-net-application-configuration

WithAdfsAuthority(String, Boolean)

Ajoute une autorité connue correspondant à un serveur ADFS. Voir https://aka.ms/msal-net-adfs

(Hérité de AbstractApplicationBuilder<T>)
WithAuthority(AadAuthorityAudience, Boolean)

Ajoute une autorité AZURE AD connue à l’application pour connecter les utilisateurs spécifiant l’audience de connexion (le cloud étant le cloud Azure cloud public). Voir https://aka.ms/msal-net-application-configuration.

(Hérité de AbstractApplicationBuilder<T>)
WithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean)

Ajoute une autorité AZURE AD connue à l’application pour connecter des utilisateurs spécifiant l’instance cloud et l’audience de connexion. Voir https://aka.ms/msal-net-application-configuration.

(Hérité de AbstractApplicationBuilder<T>)
WithAuthority(AzureCloudInstance, Guid, Boolean)

Ajoute une autorité Azure AD connue à l’application pour connecter des utilisateurs à partir d’une seule organisation (application monolocataire) décrite par son instance cloud et son ID de locataire. Voir https://aka.ms/msal-net-application-configuration.

(Hérité de AbstractApplicationBuilder<T>)
WithAuthority(AzureCloudInstance, String, Boolean)

Ajoute une autorité Azure AD connue à l’application pour connecter des utilisateurs à partir d’une seule organisation (application monolocataire) décrite par son instance cloud et son nom de domaine ou son ID de locataire. Voir https://aka.ms/msal-net-application-configuration.

(Hérité de AbstractApplicationBuilder<T>)
WithAuthority(String, Boolean)

Ajoute une autorité AD connue Azure à l’application pour connecter des utilisateurs spécifiant l’URI d’autorité complète. Consultez les options de configuration de l’application.

(Hérité de AbstractApplicationBuilder<T>)
WithAuthority(String, Guid, Boolean)

Ajoute une autorité Azure AD connue à l’application pour connecter des utilisateurs à partir d’une seule organisation (application monolocataire) spécifiée par son ID de locataire. Consultez les options de configuration de l’application.

(Hérité de AbstractApplicationBuilder<T>)
WithAuthority(String, String, Boolean)

Ajoute une autorité Azure AD connue à l’application pour connecter des utilisateurs à partir d’une seule organisation (application monolocataire) décrite par son nom de domaine. Voir https://aka.ms/msal-net-application-configuration.

(Hérité de AbstractApplicationBuilder<T>)
WithAuthority(Uri, Boolean)

Ajoute une autorité connue à l’application. Consultez les options de configuration de l’application. Ce constructeur est principalement utilisé pour les scénarios où l’autorité n’est pas une autorité AD standard Azure, ni une autorité ADFS, ni une autorité Azure AD B2C. Pour Azure AD, même dans les clouds souverains, préférez utiliser d’autres remplacements tels queWithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean)

(Hérité de AbstractApplicationBuilder<T>)
WithAzureRegion(String)

Indique à MSAL d’utiliser un service de jeton régional Azure. Cette fonctionnalité est actuellement disponible uniquement pour les applications internes.

WithB2CAuthority(String)

Ajoute une autorité connue correspondant à une stratégie AD B2C Azure. Voir https://aka.ms/msal-net-b2c-specificities

(Hérité de AbstractApplicationBuilder<T>)
WithCacheOptions(CacheOptions)

Options pour les caches de jetons MSAL.

MSAL gère un cache de jetons en interne en mémoire. Par défaut, cet objet de cache fait partie de chaque instance de PublicClientApplication ou ConfidentialClientApplication. Cette méthode permet la personnalisation du cache de jetons en mémoire de MSAL.

Le cache de mémoire de MSAL est différent de la sérialisation du cache de jetons. La sérialisation du cache extrait les jetons d’un cache (par exemple, Redis, Cosmos ou un fichier sur disque), où ils sont stockés au format JSON, dans le cache de mémoire interne de MSAL. Les opérations de cache de mémoire n’impliquent pas d’opérations JSON.

La sérialisation du cache externe reste la méthode recommandée pour gérer les applications de bureau, le site web et les API web, car elle fournit une persistance. Ces options ne contrôlent actuellement pas la sérialisation du cache externe.

Conseils détaillés pour chaque type d’application et plateforme : https://aka.ms/msal-net-token-cache-serialization

(Hérité de AbstractApplicationBuilder<T>)
WithCacheSynchronization(Boolean)

Lorsque la valeur est définie true, MSAL verrouille l’accès au ConfidentialClientApplication cache au niveau, c’est-à-dire le bloc de code entre BeforeAccessAsync et les rappels AfterAccessAsync seront synchronisés. Les applications peuvent définir cet indicateur pour false activer une stratégie de verrouillage de cache optimiste, ce qui peut entraîner de meilleures performances au coût de la cohérence du cache. La définition de cet indicateur n’est recommandée que pour les applications qui créent un nouvel ConfidentialClientApplication indicateur false par requête.

WithCertificate(X509Certificate2, Boolean)

Définit le certificat associé à l’application. Applicable uniquement aux applications internes, cette méthode permet également de spécifier si la revendication x5c doit être envoyée à Azure AD. L’envoi du x5c permet aux développeurs d’applications d’obtenir un remplacement de certificat facile dans Azure AD : cette méthode envoie la chaîne de certificats à Azure AD avec la demande de jeton, afin que Azure AD puisse l’utiliser pour valider le nom de l’objet en fonction d’une stratégie d’émetteur approuvée. Cela permet à l’administrateur de l’application de gérer explicitement la substitution de certificat (via le portail ou l’opération PowerShell/CLI). Pour plus d’informations, consultez https://aka.ms/msal-net-sni

WithCertificate(X509Certificate2, CertificateOptions)

Définit le certificat associé à l’application. Applicable uniquement aux applications internes, cette méthode permet également de spécifier si la revendication x5c doit être envoyée à Azure AD. L’envoi du x5c permet aux développeurs d’applications d’obtenir un remplacement de certificat facile dans Azure AD : cette méthode envoie la chaîne de certificats à Azure AD avec la demande de jeton, afin que Azure AD puisse l’utiliser pour valider le nom de l’objet en fonction d’une stratégie d’émetteur approuvée. Cela permet à l’administrateur de l’application de gérer explicitement la substitution de certificat (via le portail ou l’opération PowerShell/CLI). Pour plus d’informations, consultez https://aka.ms/msal-net-sni

WithCertificate(X509Certificate2)

Définit le certificat associé à l’application.

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

Configure l’application cliente pour utiliser une assertion cliente pour l’authentification.

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

Configure un délégué asynchrone qui crée une assertion cliente. Le délégué est appelé uniquement lorsqu’un jeton ne peut pas être récupéré à partir du cache. Voir https://aka.ms/msal-net-client-assertion

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

Configure un délégué asynchrone qui crée une assertion cliente. Voir https://aka.ms/msal-net-client-assertion

WithClientAssertion(Func<String>)

Configure un délégué qui crée une assertion cliente. Voir https://aka.ms/msal-net-client-assertion

WithClientAssertion(String)
Obsolète.

Définit l’assertion du client d’application. Voir https://aka.ms/msal-net-client-assertion. Cela crée une assertion qui sera conservée dans la mémoire de l’application cliente pendant la durée du client. Vous pouvez utiliser WithClientAssertion(Func<String>) pour définir un délégué qui sera exécuté pour chaque demande d’authentification. Cela vous permet de mettre à jour l’assertion cliente utilisée par l’application cliente une fois l’assertion expirée.

WithClientCapabilities(IEnumerable<String>)

Microsoft extension OIDC spécifique à l’identité qui permet de résoudre les problèmes de ressources sans interaction. Autorise la configuration d’une ou de plusieurs fonctionnalités clientes, par exemple « llt »

(Hérité de AbstractApplicationBuilder<T>)
WithClientClaims(X509Certificate2, IDictionary<String,String>, Boolean, Boolean)
Obsolète.

Définit le certificat associé à l’application ainsi que les revendications spécifiques à signer. Par défaut, cela fusionne l’ensemble claimsToSign de revendications requis par défaut pour l’authentification. Si mergeWithDefaultClaims la valeur est false, vous devez fournir les revendications par défaut requises. Voir https://aka.ms/msal-net-client-assertion

WithClientClaims(X509Certificate2, IDictionary<String,String>, Boolean)
Obsolète.

Définit le certificat associé à l’application ainsi que les revendications spécifiques à signer. Par défaut, cela fusionne l’ensemble claimsToSign de revendications requis par défaut pour l’authentification. Si mergeWithDefaultClaims la valeur est false, vous devez fournir les revendications par défaut requises. Voir https://aka.ms/msal-net-client-assertion

WithClientId(String)

Définit l’ID client de l’application

(Hérité de AbstractApplicationBuilder<T>)
WithClientName(String)

Définit le nom de l’API sdk appelante à des fins de télémétrie.

(Hérité de BaseAbstractApplicationBuilder<T>)
WithClientSecret(String)

Définit le secret d’application

WithClientVersion(String)

Définit la version du Kit de développement logiciel (SDK) appelant à des fins de télémétrie.

(Hérité de BaseAbstractApplicationBuilder<T>)
WithDebugLoggingCallback(LogLevel, Boolean, Boolean)

Définit le rappel de journalisation de débogage sur une méthode de débogage par défaut qui affiche le niveau du message et le message lui-même. Pour plus d’informations, consultez https://aka.ms/msal-net-logging

(Hérité de BaseAbstractApplicationBuilder<T>)
WithExperimentalFeatures(Boolean)

Permet l’utilisation des fonctionnalités et API expérimentales. Si cet indicateur n’est pas défini, les fonctionnalités expérimentales lèvent une exception. Pour plus d’informations, consultez https://aka.ms/msal-net-experimental-features

(Hérité de BaseAbstractApplicationBuilder<T>)
WithExtraQueryParameters(IDictionary<String,String>)
Obsolète.

Définit des paramètres de requête supplémentaires pour la chaîne de requête dans la demande d’authentification HTTP

(Hérité de AbstractApplicationBuilder<T>)
WithExtraQueryParameters(IDictionary<String,ValueTuple<String,Boolean>>)

Définit des paramètres de requête supplémentaires pour la chaîne de requête dans la demande d’authentification HTTP avec le contrôle sur les paramètres inclus dans la clé de cache

(Hérité de AbstractApplicationBuilder<T>)
WithExtraQueryParameters(String)
Obsolète.

Définit des paramètres de requête supplémentaires pour la chaîne de requête dans la demande d’authentification HTTP

(Hérité de AbstractApplicationBuilder<T>)
WithGenericAuthority(String)
Obsolète.

Appelez WithOidcAuthority(String) à la place.

WithHttpClientFactory(IMsalHttpClientFactory, Boolean)

Utilise un élément spécifique IMsalHttpClientFactory pour communiquer avec le fournisseur d’identité. Cela permet des scénarios avancés tels que la définition d’un proxy ou la définition de l’agent.

(Hérité de BaseAbstractApplicationBuilder<T>)
WithHttpClientFactory(IMsalHttpClientFactory)

Utilise un élément spécifique IMsalHttpClientFactory pour communiquer avec le fournisseur d’identité. Cela permet des scénarios avancés tels que la définition d’un proxy ou la définition de l’agent.

(Hérité de BaseAbstractApplicationBuilder<T>)
WithInstanceDicoveryMetadata(String)
Obsolète.

Permet aux développeurs de configurer leurs propres autorités valides. Une chaîne json similaire à celle-ci https://aka.ms/aad-instance-discovery doit être fournie. MSAL utilise ces informations pour :

  • Appeler des API REST sur l’environnement spécifié dans le preferred_network
  • Identifier un environnement dans lequel enregistrer des jetons et des comptes dans le cache
  • Utiliser les alias d’environnement pour faire correspondre les jetons émis à d’autres autorités
Pour plus d’informations, consultez https://aka.ms/msal-net-custom-instance-metadata (Hérité de AbstractApplicationBuilder<T>)
WithInstanceDicoveryMetadata(Uri)
Obsolète.

Permet à une organisation de configurer son propre service pour gérer la découverte d’instances, ce qui permet une meilleure mise en cache pour les environnements de microservice/de service. Uri qui retourne une réponse similaire à celle qui https://aka.ms/aad-instance-discovery doit être fournie. MSAL utilise ces informations pour :

  • Appeler des API REST sur l’environnement spécifié dans le preferred_network
  • Identifier un environnement dans lequel enregistrer des jetons et des comptes dans le cache
  • Utiliser les alias d’environnement pour faire correspondre les jetons émis à d’autres autorités
Pour plus d’informations, consultez https://aka.ms/msal-net-custom-instance-metadata (Hérité de AbstractApplicationBuilder<T>)
WithInstanceDiscovery(Boolean)

Détermine si la découverte d’instances est effectuée ou non lors de la tentative d’authentification. La définition de cette valeur sur false désactive complètement la détection d’instance et la validation de l’autorité. Cela n’affecte pas le comportement de l’application configurée avec des points de terminaison régionaux.

(Hérité de AbstractApplicationBuilder<T>)
WithInstanceDiscoveryMetadata(String)

Permet aux développeurs de configurer leurs propres autorités valides. Une chaîne json similaire à celle-ci https://aka.ms/aad-instance-discovery doit être fournie. MSAL utilise ces informations pour :

  • Appeler des API REST sur l’environnement spécifié dans le preferred_network
  • Identifier un environnement dans lequel enregistrer des jetons et des comptes dans le cache
  • Utiliser les alias d’environnement pour faire correspondre les jetons émis à d’autres autorités
Pour plus d’informations, consultez https://aka.ms/msal-net-custom-instance-metadata (Hérité de AbstractApplicationBuilder<T>)
WithInstanceDiscoveryMetadata(Uri)

Permet à une organisation de configurer son propre service pour gérer la découverte d’instances, ce qui permet une meilleure mise en cache pour les environnements de microservice/de service. Uri qui retourne une réponse similaire à celle qui https://aka.ms/aad-instance-discovery doit être fournie. MSAL utilise ces informations pour :

  • Appeler des API REST sur l’environnement spécifié dans le preferred_network
  • Identifier un environnement dans lequel enregistrer des jetons et des comptes dans le cache
  • Utiliser les alias d’environnement pour faire correspondre les jetons émis à d’autres autorités
Pour plus d’informations, consultez https://aka.ms/msal-net-custom-instance-metadata (Hérité de AbstractApplicationBuilder<T>)
WithLegacyCacheCompatibility(Boolean)

Active la sérialisation et la désérialisation du cache ADAL héritées.

(Hérité de AbstractApplicationBuilder<T>)
WithLogging(IIdentityLogger, Boolean)

Définit l’enregistreur d’événements Identity. Pour plus d’informations, consultez https://aka.ms/msal-net-logging

(Hérité de BaseAbstractApplicationBuilder<T>)
WithLogging(LogCallback, Nullable<LogLevel>, Nullable<Boolean>, Nullable<Boolean>)

Définit le rappel de journalisation. Pour plus d’informations, consultez https://aka.ms/msal-net-logging

(Hérité de BaseAbstractApplicationBuilder<T>)
WithOidcAuthority(String)

Ajoute une autorité connue correspondant à un fournisseur d’identité OpenIdConnect générique. MSAL ajoute .well-known/openid-configuration » à l’autorité et récupère les métadonnées OIDC à partir de là pour déterminer les points de terminaison. Voir https://openid.net/specs/openid-connect-core-1_0.html#Terminology

WithOptions(ApplicationOptions)

Définit les options d’application, qui peuvent, par exemple, avoir été lues à partir de fichiers de configuration. Voir https://aka.ms/msal-net-application-configuration.

(Hérité de AbstractApplicationBuilder<T>)
WithOptions(BaseApplicationOptions)

Définit les options d’application, qui peuvent, par exemple, avoir été lues à partir de fichiers de configuration. Voir https://aka.ms/msal-net-application-configuration.

(Hérité de BaseAbstractApplicationBuilder<T>)
WithRedirectUri(String)

Définit l’URI de redirection de l’application. L’URI doit également être inscrit dans le portail d’application. Voir https://aka.ms/msal-net-application-configuration

(Hérité de AbstractApplicationBuilder<T>)
WithTelemetry(ITelemetryConfig)
Obsolète.

Générer des événements d’agrégation de télémétrie.

(Hérité de AbstractApplicationBuilder<T>)
WithTelemetryClient(ITelemetryClient[])
Obsolète.

Cette méthode est obsolète. Voir https://aka.ms/msal-net-telemetry

WithTenantId(String)

Définit l’ID de locataire de l’organisation à partir de laquelle l’application permet aux utilisateurs de se connecter. Il s’agit d’un GUID ou d’un nom de domaine classique. Voir https://aka.ms/msal-net-application-configuration. Bien qu’il soit également possible de définir tenantIdcommonsur , organizationset consumers, il est recommandé d’utiliser l’un des remplacements de WithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean).

(Hérité de AbstractApplicationBuilder<T>)

Méthodes d’extension

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

Configure un rappel asynchrone appelé lorsqu’une demande d’acquisition de jeton est terminée. Ce rappel est appelé une fois par AcquireTokenForClient appel, une fois que toutes les tentatives de nouvelle tentative ont été épuisées. Bien que nommé OnCompletion pour le cas courant, ce rappel se déclenche pour les acquisitions réussies et ayant échoué. Cela permet des scénarios tels que la télémétrie, la journalisation et la gestion des résultats personnalisés.

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

Configure un rappel asynchrone appelé lorsque MSAL reçoit une réponse d’erreur du fournisseur d’identité (Service de jeton de sécurité). Le rappel détermine si MSAL doit réessayer la demande de jeton ou propager l’exception. Ce rappel est appelé après chaque échec de service et peut être appelé plusieurs fois jusqu’à ce qu’il retourne false ou que la demande réussisse.

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

Permet de définir un rappel qui retourne un jeton d’accès, en fonction des paramètres transmis. MSAL transmet ses paramètres d’authentification au rappel et il est prévu que le rappel construise et AppTokenProviderResult le retourne à MSAL. MSAL met en cache la réponse du jeton de la même façon que pour d’autres résultats d’authentification.

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

Configure un rappel asynchrone pour fournir dynamiquement le certificat d’informations d’identification du client. Le rappel est appelé avant chaque demande d’acquisition de jeton au fournisseur d’identité (y compris les nouvelles tentatives). Cela permet des scénarios tels que la rotation des certificats et la sélection de certificats dynamiques en fonction du contexte de l’application.

WithCertificate(ConfidentialClientApplicationBuilder, X509Certificate2, Boolean, Boolean)

Définit le certificat associé à l’application. Applicable uniquement aux applications internes, cette méthode permet également de spécifier si la revendication x5c doit être envoyée à Azure AD. L’envoi du x5c permet aux développeurs d’applications d’obtenir un remplacement de certificat facile dans Azure AD : cette méthode envoie la chaîne de certificats à Azure AD avec la demande de jeton, afin que Azure AD puisse l’utiliser pour valider le nom de l’objet en fonction d’une stratégie d’émetteur approuvée. Cela permet à l’administrateur de l’application de gérer explicitement la substitution de certificat (via le portail ou l’opération PowerShell/CLI). Pour plus d’informations, consultez https://aka.ms/msal-net-sni Cette API vous permet d’associer les jetons acquis à partir de Azure AD au numéro de série du certificat. Cela peut être utilisé pour partitionner le cache par certificat. Les jetons acquis avec un certificat ne seront pas accessibles à un autre certificat avec un autre numéro de série.

S’applique à