PublicClientApplicationBuilder Classe

Définition

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

Méthodes

Nom Description
Build()

Génère une instance des IPublicClientApplication paramètres définis dans le PublicClientApplicationBuilder.

Create(String)

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

CreateWithApplicationOptions(PublicClientApplicationOptions)

Crée un PublicClientApplicationBuilder à partir d’options de configuration d’application cliente publique. Voir https://aka.ms/msal-net-application-configuration

IsBrokerAvailable()

Retourne true si un répartiteur peut être utilisé. Cette méthode est uniquement nécessaire pour être utilisée dans les scénarios mobiles qui prennent en charge la gestion des applications mobiles. Dans d’autres scénarios pris en charge, utilisez-le WithBroker lui-même, ce qui revient à utiliser un navigateur si le répartiteur n’est pas disponible.

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>)
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>)
WithBroker(Boolean)
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>)
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>)
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>)
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>)
WithDefaultRedirectUri()

Configure l’application cliente publique pour utiliser l’URI de réponse recommandé pour la plateforme. Voir https://aka.ms/msal-net-default-reply-uri.

Platform
bureau .NET
Pour le navigateur système sur .NET Core
REMARQUE :il y aura une mise à jour de l’URI de redirection par défaut à l’avenir pour prendre en charge les navigateurs système sur le bureau .NET et les plateformes .NET Core.
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>)
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>)
WithIosKeychainSecurityGroup(String)

Vous pouvez spécifier un groupe d’accès au trousseau à utiliser pour conserver le cache de jetons sur plusieurs applications. Cela vous permet de partager le cache de jetons entre plusieurs applications ayant le même groupe d’accès trousseau. Le partage du cache de jetons permet l’authentification unique entre toutes les applications qui utilisent le même groupe d’accès au trousseau. Pour plus d’informations, consultez https://aka.ms/msal-net-ios-keychain-security-group.

WithKerberosTicketClaim(String, KerberosTicketContainer)
Obsolète.

Définit les paramètres requis pour obtenir un ticket Kerberos à partir de Azure service AD.

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>)
WithMultiCloudSupport(Boolean)

Active la prise en charge multicloud pour cette instance d’application cliente publique. Il permet aux applications d’utiliser dans une autorité de cloud public globale à la bibliothèque et peut toujours obtenir des jetons pour les ressources à partir de clouds souverains.

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>)
WithParentActivityOrWindow(Func<IntPtr>)

Définit une référence à IntPtr sur une fenêtre qui déclenche l’affichage du navigateur. Utilisé pour centrer le navigateur qui s’affiche sur cette fenêtre.

WithParentActivityOrWindow(Func<Object>)

Définit une référence à ViewController (si vous utilisez iOS), Activité (si vous utilisez Android) IWin32Window ou IntPtr (si vous utilisez .Net Framework). Utilisé pour appeler le navigateur.

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>)
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>)
WithWindowsBrokerOptions(WindowsBrokerOptions)
Obsolète.

Permet la personnalisation de l’expérience Windows 10 Broker.

Méthodes d’extension

Nom Description
WithBroker(PublicClientApplicationBuilder, BrokerOptions)

Les répartiteurs activent l’authentification unique, l’identification de l’appareil et la vérification de l’identification des applications, tout en augmentant la sécurité des applications. Utilisez cette API pour activer les répartiteurs sur les plateformes de bureau.

Pour https://aka.ms/msal-net-wam plus d’informations sur les paramètres spécifiques à la plateforme requis pour activer le répartiteur, comme les URI de redirection.

WithBroker(PublicClientApplicationBuilder, BrokerOptions)

Les répartiteurs activent l’authentification unique, l’identification de l’appareil et la sécurité renforcée. Utilisez cette API pour activer les répartiteurs sur les plateformes de bureau.

Pour https://aka.ms/msal-net-wam plus d’informations sur les paramètres spécifiques à la plateforme requis pour activer le répartiteur, comme les URI de redirection.

WithBrokerPreview(PublicClientApplicationBuilder, Boolean)
Obsolète.

Permet à MSAL d’utiliser des flux Broker, qui sont plus sécurisés que les navigateurs. Pour plus d’informations sur Windows broker, consultezhttps://aka.ms/msal-net-wam

WithDesktopFeatures(PublicClientApplicationBuilder)
Obsolète.

Ajoute une prise en charge améliorée des applications de bureau, par exemple CLI, WinForms, WPF applications.

La prise en charge ajoutée est autour de :

WithSsoPolicy(PublicClientApplicationBuilder)

Utilisez cette API pour activer l’application de SsoPolicy. Doit uniquement être utilisé par Microsoft applications tierces. Cela s’applique uniquement lorsque le répartiteur n’est pas activé et que la vue web incorporée est le choix par défaut. Par défaut, le répartiteur prend en charge SsoPolicy et le système webview SsoPolicy est également pris en charge au niveau du système d’exploitation.

WithWindowsBroker(PublicClientApplicationBuilder, Boolean)
Obsolète.

Active Windows flux de répartiteur sur des plateformes plus anciennes, telles que .NET framework, où ceux-ci ne sont pas disponibles dans la zone avec Microsoft. Identity.Client Pour plus d’informations sur Windows broker, consultezhttps://aka.ms/msal-net-wam

WithWindowsDesktopFeatures(PublicClientApplicationBuilder, BrokerOptions)

Ajoute une prise en charge améliorée des applications de bureau, par exemple CLI, WinForms, WPF applications.

  • Windows broker Authentication Manager (WAM), le mécanisme d’authentification recommandé sur Windows 10+ -https://aka.ms/msal-net-wam
  • Vue web incorporée. Les applications AAD utilisent le contrôle WebBrowser plus ancien. D’autres applications (B2C, ADFS, etc.) utilisent WebView2, un navigateur incorporé basé sur Microsoft Edge -https://aka.ms/msal-net-webview2
WithWindowsEmbeddedBrowserSupport(PublicClientApplicationBuilder)

Ajoute une meilleure prise en charge du navigateur incorporé à MSAL. Les applications AAD utilisent le contrôle WebBrowser plus ancien. D’autres applications (B2C, ADFS, etc.) utilisent un navigateur incorporé basé sur Microsoft Edge -https://aka.ms/msal-net-webview2

S’applique à