Clientanwendungen

Microsoft Authentication Library (MSAL) (MSAL) Python unterstützt zwei Arten von Clientanwendungen: öffentliche Clientanwendungen und vertrauliche Clientanwendungen. Die Clienttypen werden anhand ihrer Fähigkeit unterschieden, sich sicher gegenüber dem Autorisierungsserver zu authentifizieren und sensible, identitätsnachweisende Informationen so zu verwahren, dass ein Benutzer im Rahmen des Zugriffs des Clients weder darauf zugreifen kann noch davon Kenntnis hat. Dieser Artikel befasst sich mit der Initialisierung dieser Anwendungen mit MSAL Python.

Voraussetzungen

Grundlegende Konzepte öffentlicher und vertraulicher Clientanwendungen verstehen.

Instanziieren einer Anwendung

Sie benötigen eine App-Registrierung, um eine App zu initiieren. Registrieren Sie eine App im Microsoft Entra Admin Center. Auf der Registrierungsseite benötigen Sie Folgendes:

  • Der AnwendungsclientidentifieR. Dies ist eine Zeichenfolge im Format einer GUID.
  • Die URL des Identitätsanbieters (die Instanz) und die Anmeldegruppe für Ihre Anwendung. Diese beiden Parameter werden gemeinsam als Autorität bezeichnet.
  • Falls erforderlich, der Mandantenbezeichner (ebenfalls eine GUID), falls Sie eine Geschäftsanwendung schreiben, die nur auf Ihre Organisation beschränkt ist (auch als Einzelmandantenanwendung bezeichnet).
  • Wenn Sie eine vertrauliche Client-App erstellen, erstellen Sie einen geheimen Anwendungsschlüssel in Form einer Zeichenfolge oder eines Zertifikats.
  • Legen Sie für Webanwendungen die Umleitungs-URL fest, die Microsoft Entra ID zum Zurückgeben des Codes verwendet. Fügen Sie bei Desktopanwendungen hinzu http://localhost , wenn Sie sich nicht auf Authentifizierungsbroker verlassen.

Instanziieren einer öffentlichen Clientanwendung

Öffentliche Clientanwendungen verwenden die PublicClientApplication Klasse.

import msal

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

Instanziieren Sie eine vertrauliche Clientanwendung

Vertrauliche Clientanwendungen verwenden die ConfidentialClientApplication Klasse.

import msal

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

Caching

Wenn Sie eine Clientanwendung instanziieren, gibt es zwei Parameter, mit denen Sie Ihre Zwischenspeicherungseinstellungen definieren können. Diese Parameter sind: token_cache und http_cache.

  • token_cache legt den tokencache fest, der von der Clientanwendungsinstanz verwendet wird. Standardmäßig wird ein Speichercache erstellt und verwendet. Weitere Informationen finden Sie unter Tokenzwischenspeicherung in MSAL Python.
  • http_cache ist in MSAL Python Version 1.16+ verfügbar. Dadurch wird automatisch eine begrenzte Anzahl von HTTP-Antworten, die keine Token enthalten, zwischengespeichert, sodass langlebige PublicClientApplication- und ConfidentialClientApplication-Instanzen in einigen Situationen leistungsfähiger und reaktionsschneller sind. Wenn der parameter http_cache nicht angegeben wird, verwendet MSAL ein In-Memory-Diktieren. Wenn es sich bei Ihrer App um eine Befehlszeilen-App (CLI) handelt, sollten Sie Ihren http_cache über verschiedene CLI-Ausführungen hinweg beibehalten. Weitere Informationen finden Sie in der Referenzanleitung.

Nächste Schritte

Erwerben Sie Token für Ihre App.