Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.