Informations d'identification du client

Il existe deux types d’informations d’identification client dans MSAL Python :

  • Secrets d’application
  • Certificats

Informations d’identification du client avec secret d’application

Pendant l’inscription d’une application cliente confidentielle avec Microsoft Entra ID, une clé secrète client est générée (un type de mot de passe d’application).

Inscription de secrets client à l’aide du portail d’inscription d’application

La gestion des informations d’identification du client se produit dans la page certificats &secrets d’une application :

image

  • le secret d’application (également nommé secret client) est généré par Microsoft Entra ID lors de l’inscription de l’application cliente confidentielle lorsque vous sélectionnez Nouveau secret client. À ce stade, vous devez copier la chaîne secrète dans le Presse-papiers à utiliser dans votre application, avant de sélectionner Enregistrer. Cette chaîne de caractères ne vous sera plus affichée.

Utilisation des secrets de client

Dans MSAL Python informations d’identification clientes sont similaires à ce qu’elles sont dans le Python ADAL, sauf que les informations d’identification du client sont passées en tant que paramètre lors de la construction de l’application. Dans ce cas, la clé secrète client est transmise en tant que paramètre. Ensuite, une fois l’application cliente confidentielle construite, acquire_token_for_client est appelée avec une étendue en tant que paramètre.

Informations d’identification du client avec certificat

Lorsque l’application est inscrite auprès de Microsoft Entra ID, elle charge la clé publique d’un certificat. Lors de la création de l’application, thumbprint et private_key_file sont passés en tant qu’informations d’identification du client. Quand elle souhaite acquérir un jeton, l’application cliente doit appeler la acquire_token_for_client méthode en passant l’étendue en tant que paramètre.

Les étapes de génération de certificat et de clé privée à utiliser lors de l’implémentation du flux d’informations d’identification du client sont les suivantes :

  1. Générez une clé :

    openssl genrsa -out server.pem 2048

  2. Créez une demande de certificat :

    openssl req -new -key server.pem -out server.csr

  3. Générez un certificat :

    openssl x509 -req -days 365 -in server.csr -signkey server.pem -out server.crt

  4. Vous devrez charger ce certificat (server.crt) sur Portail Azure dans les paramètres de votre application. Une fois que vous avez enregistré ce certificat, le portail vous donnera l’empreinte numérique de ce certificat qui est nécessaire dans l’appel de jeton d’acquisition. La clé sera la server.pem clé que vous avez générée à la première étape.

  5. Vous pouvez maintenant créer les informations d’identification pour le flux des informations d’identification du client à l’aide d’un certificat dans MSAL Python, comme suit :

client_credential = {
    "thumbprint": <thumbprint of cert file>,
    "private_key": <private key from the private_key_file>
 }