Applications clientes

Microsoft Authentication Library (MSAL) Python prend en charge deux types d’applications clientes : les applications clientes publiques et les applications clientes confidentielles. Les types de clients se distinguent par leur capacité à s’authentifier de manière sécurisée auprès du serveur d’autorisation et à détenir des informations sensibles permettant de prouver l’identité, de sorte qu’elles ne puissent pas être accessibles à un utilisateur ni connues de celui-ci dans le cadre de son accès. Cet article se concentre sur l’initialisation de ces applications à l’aide de MSAL Python.

Prerequisites

Comprendre les concepts de base des applications clientes publiques et confidentielles.

Instancier une application

Vous avez besoin d’une inscription d’application pour lancer une application. Inscrivez une application dans le centre d’administration Microsoft Entra. Dans la page d’inscription, vous avez besoin des éléments suivants :

  • L’identifiant du client d’application. Il s’agit d’une chaîne sous la forme d’un GUID.
  • L’URL du fournisseur d’identité (l’instance) et l’audience de connexion de votre application. Ces deux paramètres sont collectivement appelés autorité.
  • Si nécessaire, l’identificateur de locataire (également un GUID) si vous écrivez une application métier limitée à votre organisation (également appelée application monolocataire).
  • Si vous créez une application cliente confidentielle, créez un secret d’application sous la forme d’une chaîne ou d’un certificat.
  • Pour les applications web, définissez l’URL de redirection que Microsoft Entra ID utilise pour retourner le code. Pour les applications de bureau, ajoutez http://localhost si vous ne vous appuyez pas sur les répartiteurs d’authentification.

Instancier une application cliente publique

Les applications clientes publiques utilisent la PublicClientApplication classe.

import msal

app = msal.PublicClientApplication(
    "client_id",
    authority="authority",
    )

Créer une application cliente confidentielle

Les applications clientes confidentielles utilisent la ConfidentialClientApplication classe.

import msal

app = msal.ConfidentialClientApplication(
    "client_id",
    authority="authority",
    client_credential="client_secret",
    )

Caching

Lorsque vous instanciez une application cliente, vous pouvez utiliser deux paramètres pour définir vos préférences de mise en cache. Ces paramètres sont les suivants : token_cache et http_cache.

  • token_cache définit le cache de jetons utilisé par l’instance de l’application cliente. Par défaut, un cache en mémoire est créé et utilisé. Pour plus d’informations, consultez la mise en cache des jetons dans MSAL Python.
  • http_cache est disponible dans MSAL Python version 1.16+. Cela met automatiquement en cache un nombre fini de réponses http non-ken, afin que les instances PublicClientApplication et ConfidentialClientApplication de longue durée soient plus performantes et réactives dans certaines situations. Si le paramètre http_cache n’est pas fourni, MSAL utilise une dictée en mémoire. Si votre application est une application en ligne de commande (CLI), vous souhaitez conserver votre http_cache entre différentes exécutions de l’interface CLI. Pour plus d’informations, consultez le guide de référence.

Étapes suivantes

Acquérir des jetons pour votre application.