ConfidentialClientApplication Classe
Identique à <xref:ClientApplication.__init__>, sauf que ce allow_broker paramètre doit rester None.
Créez une instance d’application.
Constructeur
ConfidentialClientApplication(client_id, client_credential=None, authority=None, validate_authority=True, token_cache=None, http_client=None, verify=True, proxies=None, timeout=None, client_claims=None, app_name=None, app_version=None, client_capabilities=None, azure_region=None, exclude_scopes=None, http_cache=None, instance_discovery=None, allow_broker=None, enable_pii_log=None, oidc_authority=None)
Paramètres
| Nom | Description |
|---|---|
|
client_id
Obligatoire
|
Votre application a un client_id après l’avoir inscrite sur centre d’administration Microsoft Entra. |
|
client_credential
|
Pour PublicClientApplication, vous utilisez Aucun ici. Pour ConfidentialClientApplication, il prend en charge de nombreux formats d’entrée différents pour différents scénarios. Prise en charge à l’aide d’une clé secrète client. Il vous suffit de nourrir dans une chaîne, telle que
|
|
client_claims
|
Ajouté dans la version 0.5.0 : il s’agit d’un dictionnaire de revendications supplémentaires qui seraient signées par cette ConfidentialClientApplication clé privée. Par exemple, vous pouvez utiliser {"client_ip » : « x.x.x.x"}. Vous pouvez également remplacer l’une des revendications par défaut suivantes :
Valeur par défaut: None
|
|
authority
|
URL qui identifie une autorité de jeton. Il doit s’agir du format
Modifié dans la version 1.17 : vous pouvez également utiliser une constante prédéfinie et un générateur comme suit :
Valeur par défaut: None
|
|
validate_authority
|
(facultatif) Active ou désactive la validation de l’autorité. Ce paramètre a la valeur true par défaut. Valeur par défaut: True
|
|
token_cache
|
Définit le cache de jeton utilisé par cette instance ClientApplication. Par défaut, un cache en mémoire est créé et utilisé. Valeur par défaut: None
|
|
http_client
|
(facultatif) Votre implémentation de la classe abstraite HttpClient <msal.oauth2cli.http.http_client> Valeurs par défaut pour une instance de session de requêtes. Étant donné que MSAL 1.11.0, la session par défaut est configurée pour tenter une nouvelle tentative lors de l’erreur de connexion. Si vous fournissez votre propre http_client, il s’agit du devoir de votre http_client de décider s’il faut effectuer une nouvelle tentative. Valeur par défaut: None
|
|
verify
|
(facultatif) Il sera transmis au paramètre de vérification dans la bibliothèque de demandes sous-jacentes . Cela ne s’applique pas si vous avez choisi de passer votre propre client Http Valeur par défaut: True
|
|
proxies
|
(facultatif) Elle sera transmise au paramètre proxy dans la bibliothèque de demandes sous-jacentes . Cela ne s’applique pas si vous avez choisi de passer votre propre client Http Valeur par défaut: None
|
|
timeout
|
(facultatif) Il sera passé au paramètre de délai d’expiration dans la bibliothèque de demandes sous-jacentes Ceci ne s’applique pas si vous avez choisi de passer votre propre client Http Valeur par défaut: None
|
|
app_name
|
(facultatif) Vous pouvez fournir le nom de votre application à des fins de télémétrie Microsoft. La valeur par défaut est None, ce qui signifie qu’elle n’est pas transmise à Microsoft. Valeur par défaut: None
|
|
app_version
|
(facultatif) Vous pouvez fournir la version de votre application à des fins de télémétrie Microsoft. La valeur par défaut est None, ce qui signifie qu’elle n’est pas transmise à Microsoft. Valeur par défaut: None
|
|
client_capabilities
|
(facultatif) Autorise la configuration d’une ou plusieurs fonctionnalités clientes, par exemple ["CP1"]. La fonctionnalité cliente est destinée à informer le Plateforme d'identités Microsoft (STS) de ce que ce client est capable, afin que STS puisse décider d’activer certaines fonctionnalités. Par exemple, si le client est capable de gérer la demande de revendications, STS peut émettre des jetons d’accès d’évaluation continue d’accès (CAE) aux ressources, sachant que lorsque la ressource émet un défi de revendications , le client pourra gérer ces défis. Détails de l’implémentation : la fonctionnalité cliente est implémentée à l’aide du paramètre « claims » sur le câble, pour le moment. MSAL les combine en paramètre de revendications que vous fournirez ultérieurement via l’une des demandes d’acquisition de jeton. Valeur par défaut: None
|
|
azure_region
|
(facultatif) Indique à MSAL d’utiliser le service de jeton régional Entra. Cette fonctionnalité héritée est disponible uniquement pour les applications internes. Seul Prend en charge 4 valeurs :
Note La découverte automatique de région a été testée sur les machines virtuelles et sur Azure Functions. Il n’est pas fiable. Les applications utilisant cette option doivent configurer un délai d’attente court. Pour plus d’informations et pour les valeurs de la chaîne de région Voir https://learn.microsoft.com/entra/msal/dotnet/resources/region-discovery-troubleshooting Nouveautés de la version 1.12.0. Valeur par défaut: None
|
|
exclude_scopes
|
(facultatif) Les codes durs MSAL historiquement offline_access étendue, ce qui permettrait à votre application d’avoir un accès prolongé aux données de l’utilisateur.
Si cela n’est pas nécessaire ou indésirable pour votre application, vous pouvez maintenant utiliser ce paramètre pour fournir une liste d’exclusions d’étendues, par Valeur par défaut: None
|
|
http_cache
|
MSAL a longtemps mis en cache des jetons dans le Ce Si votre application est une application en ligne de commande (CLI), vous souhaitez conserver votre http_cache entre différentes exécutions CLI. Le format du fichier persistant peut changer en raison, mais pas limité au protocole instable, de sorte que votre implémentation tolérera des erreurs de chargement inattendues. La recette suivante montre un moyen de le faire :
Le contenu à l’intérieur Le contenu à l’intérieur Nouveautés de la version 1.16.0. Valeur par défaut: None
|
|
instance_discovery
|
<xref:boolean>
Historiquement, MSAL se connecterait à un point de terminaison central situé à Ce paramètre est défini par défaut sur None, ce qui active la découverte d’instances. Si vous connaissez certaines autorités que vous autorisez MSAL à utiliser avec as-is, sans impliquer de découverte d’instance, le modèle recommandé est :
Si vous ne connaissez pas certaines autorités au préalable, mais souhaitez toujours que MSAL accepte toute autorité que vous fournirez, vous pouvez utiliser un Nouveautés de la version 1.19.0. Valeur par défaut: None
|
|
allow_broker
|
<xref:boolean>
Déconseillé. Utilisez plutôt Valeur par défaut: None
|
|
enable_pii_log
|
<xref:boolean>
Lorsqu’ils sont activés, les journaux d’activité peuvent inclure des informations d’identification personnelles (informations d’identification personnelles). Cela peut être utile pour résoudre les problèmes de comportement des répartiteurs. Le comportement par défaut est False. Nouveautés de la version 1.24.0. Valeur par défaut: None
|
|
oidc_authority
|
Ajouté dans la version 1.28.0 : il s’agit d’une URL qui identifie une autorité OpenID Connect (OIDC) du format Remarque : Le répartiteur ne sera pas utilisé pour l’autorité OIDC. Valeur par défaut: None
|
Méthodes
| acquire_token_for_client |
Acquiert un jeton pour le client confidentiel actuel, et non pour un utilisateur final. Étant donné que MSAL Python 1.23, il recherche automatiquement le jeton à partir du cache et envoie uniquement une demande au fournisseur d’identité lorsque le cache manque. |
| acquire_token_on_behalf_of |
Acquiert un jeton à l’aide du flux OBO (on-behalf-of). L’application actuelle est un service de niveau intermédiaire appelé avec un jeton représentant un utilisateur final. L’application actuelle peut utiliser ce jeton (a.k.a. une assertion utilisateur) pour demander à un autre jeton d’accéder à l’API web en aval, au nom de cet utilisateur. Consultez la documentation détaillée ici . L’application de niveau intermédiaire actuelle n’a aucune interaction utilisateur pour obtenir le consentement. Découvrez comment obtenir le consentement pour votre application de niveau intermédiaire à partir de cet article. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application |
| remove_tokens_for_client |
Supprimez tous les jetons qui ont été acquis précédemment pour acquire_token_for_client le client actuel. |
acquire_token_for_client
Acquiert un jeton pour le client confidentiel actuel, et non pour un utilisateur final.
Étant donné que MSAL Python 1.23, il recherche automatiquement le jeton à partir du cache et envoie uniquement une demande au fournisseur d’identité lorsque le cache manque.
acquire_token_for_client(scopes, claims_challenge=None, fmi_path=None, **kwargs)
Paramètres
| Nom | Description |
|---|---|
|
scopes
Obligatoire
|
(Obligatoire) Étendues demandées pour accéder à une API protégée (une ressource). |
|
claims_challenge
|
Le paramètre claims_challenge demande des revendications spécifiques demandées par le fournisseur de ressources sous la forme d’une directive claims_challenge dans l’en-tête www-authenticate à retourner à partir du point de terminaison UserInfo et/ou dans le jeton d’ID et/ou le jeton d’accès. Il s’agit d’une chaîne d’un objet JSON qui contient des listes de revendications demandées à partir de ces emplacements. Valeur par défaut: None
|
|
fmi_path
|
Optional. Chemin d’identification de l’identité managée fédérée (FMI).
Lorsqu’il est fourni, il est envoyé en tant que
Valeur par défaut: None
|
Retours
| Type | Description |
|---|---|
|
dictée représentant la réponse json de Microsoft Entra :
|
acquire_token_on_behalf_of
Acquiert un jeton à l’aide du flux OBO (on-behalf-of).
L’application actuelle est un service de niveau intermédiaire appelé avec un jeton représentant un utilisateur final. L’application actuelle peut utiliser ce jeton (a.k.a. une assertion utilisateur) pour demander à un autre jeton d’accéder à l’API web en aval, au nom de cet utilisateur. Consultez la documentation détaillée ici .
L’application de niveau intermédiaire actuelle n’a aucune interaction utilisateur pour obtenir le consentement. Découvrez comment obtenir le consentement pour votre application de niveau intermédiaire à partir de cet article. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application
acquire_token_on_behalf_of(user_assertion, scopes, claims_challenge=None, **kwargs)
Paramètres
| Nom | Description |
|---|---|
|
user_assertion
Obligatoire
|
Jeton entrant déjà reçu par cette application |
|
scopes
Obligatoire
|
Étendues requises par l’API en aval (une ressource). |
|
claims_challenge
|
Le paramètre claims_challenge demande des revendications spécifiques demandées par le fournisseur de ressources sous la forme d’une directive claims_challenge dans l’en-tête www-authenticate à retourner à partir du point de terminaison UserInfo et/ou dans le jeton d’ID et/ou le jeton d’accès. Il s’agit d’une chaîne d’un objet JSON qui contient des listes de revendications demandées à partir de ces emplacements. Valeur par défaut: None
|
Retours
| Type | Description |
|---|---|
|
dictée représentant la réponse json de Microsoft Entra :
|
remove_tokens_for_client
Supprimez tous les jetons qui ont été acquis précédemment pour acquire_token_for_client le client actuel.
remove_tokens_for_client()