ConfidentialClientApplication Klasse
Identisch mit der Ausnahme <xref:ClientApplication.__init__>, dass dieser allow_broker Parameter beibehalten Nonewird.
Erstellen Sie eine Anwendungsinstanz.
Konstruktor
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)
Parameter
| Name | Beschreibung |
|---|---|
|
client_id
Erforderlich
|
Ihre App verfügt über eine client_id, nachdem Sie sie bei Microsoft Entra Admin Center registriert haben. |
|
client_credential
|
Verwenden PublicClientApplicationSie hier "Keine" . For ConfidentialClientApplication, it supports many different input formats for different scenarios. Unterstützung mithilfe eines geheimen Clientschlüssels. Nur Feed in einer Zeichenfolge, z
|
|
client_claims
|
In Version 0.5.0 hinzugefügt: Es handelt sich um ein Wörterbuch mit zusätzlichen Ansprüchen, die von diesem ConfidentialClientApplication privaten Schlüssel signiert werden. Sie können beispielsweise {"client_ip" verwenden: "x.x.x.x.x"}. Sie können auch einen der folgenden Standardansprüche außer Kraft setzen:
Standardwert: None
|
|
authority
|
Eine URL, die eine Tokenautorität identifiziert. Dies sollte das Format sein.
Geändert in Version 1.17: Sie können auch vordefinierte Konstanten und einen Generator wie folgt verwenden:
Standardwert: None
|
|
validate_authority
|
(optional) Aktiviert oder deaktiviert die Autoritätsüberprüfung. Dieser Parameter ist standardmäßig auf "true" festgelegt. Standardwert: True
|
|
token_cache
|
Legt den tokencache fest, der von dieser ClientApplication-Instanz verwendet wird. Standardmäßig wird ein Speichercache erstellt und verwendet. Standardwert: None
|
|
http_client
|
(optional) Ihre Implementierung der abstrakten Klasse HttpClient <msal.oauth2cli.http.http_client> Standard für eine Anforderungssitzungsinstanz. Da MSAL 1.11.0, wurde die Standardsitzung so konfiguriert, dass versucht wird, einen Wiederholungsfehler zu versuchen. Wenn Sie Ihre eigene http_client bereitstellen, müssen http_client Sie entscheiden, ob sie erneut versuchen möchten. Standardwert: None
|
|
verify
|
(optional) Er wird an den Verify-Parameter in der zugrunde liegenden Anforderungsbibliothek übergeben. Dies gilt nicht, wenn Sie sich entschieden haben, Ihren eigenen HTTP-Client zu übergeben. Standardwert: True
|
|
proxies
|
(optional) Sie wird an den Proxyparameter in der zugrunde liegenden Anforderungsbibliothek übergeben. Dies gilt nicht, wenn Sie sich entschieden haben, Ihren eigenen HTTP-Client zu übergeben. Standardwert: None
|
|
timeout
|
(optional) Sie wird an den Timeout-Parameter in der zugrunde liegenden Anforderungsbibliothek übergeben. Dies gilt nicht, wenn Sie sich entschieden haben, Ihren eigenen HTTP-Client zu übergeben. Standardwert: None
|
|
app_name
|
(optional) Sie können Ihren Anwendungsnamen für Microsoft Telemetriezwecke angeben. Der Standardwert ist "None", bedeutet, dass er nicht an Microsoft übergeben wird. Standardwert: None
|
|
app_version
|
(optional) Sie können Ihre Anwendungsversion für Microsoft Telemetriezwecke bereitstellen. Der Standardwert ist "None", bedeutet, dass er nicht an Microsoft übergeben wird. Standardwert: None
|
|
client_capabilities
|
(optional) Ermöglicht die Konfiguration einer oder mehrerer Clientfunktionen, z. B. ["CP1"]. Die Clientfunktion soll den Microsoft Identity Platform (STS) darüber informieren, wofür dieser Client geeignet ist, damit STS entscheiden kann, bestimmte Features zu aktivieren. Wenn der Client beispielsweise Anspruchsaufforderungen verarbeiten kann, stellt STS möglicherweise Zugriffstoken für kontinuierliche Zugriffsauswertung (Continuous Access Evaluation, CAE) auf Ressourcen aus, wobei zu wissen ist, dass der Client diese Herausforderungen bewältigen kann, wenn die Ressource eine Anspruchsaufforderung ausgibt. Implementierungsdetails: Die Clientfunktion wird zur zeit mithilfe des Parameters "Claims" im Draht implementiert. MSAL kombiniert sie in einem Anspruchsparameter , den Sie später über eine der Abrufen-Token-Anforderung bereitstellen. Standardwert: None
|
|
azure_region
|
(optional) Weist MSAL an, den regionalen Entra-Tokendienst zu verwenden. Dieses Legacyfeature ist nur für Erstanbieteranwendungen verfügbar. Nur Unterstützt vier Werte:
Note Die automatische Ermittlung der Region wurde auf virtuellen Computern und auf Azure Functions getestet. Es ist unzuverlässig. Anwendungen, die diese Option verwenden, sollten ein kurzes Timeout konfigurieren. Weitere Details und die Werte der Regionszeichenfolge Sieh https://learn.microsoft.com/entra/msal/dotnet/resources/region-discovery-troubleshooting Neu in Version 1.12.0. Standardwert: None
|
|
exclude_scopes
|
(optional) In der Vergangenheit hardcodes MSAL offline_access Bereich, wodurch Ihre App längeren Zugriff auf die Daten des Benutzers haben würde.
Wenn dies für Ihre App unnötig oder nicht erwünscht ist, können Sie diesen Parameter jetzt verwenden, um eine Ausschlussliste mit Bereichen wie z Standardwert: None
|
|
http_cache
|
MSAL ist seit langem Zwischenspeicherungstoken in der Dieser Wenn Es sich bei Ihrer App um eine Befehlszeilen-App (CLI) handelt, sollten Sie Ihre http_cache über unterschiedliche CLI-Ausführung hinweg beibehalten. Das Format der permanenten Datei kann sich aufgrund des instabilen Protokolls ändern, sodass ihre Implementierung unerwartete Ladefehler tolerieren muss. Das folgende Rezept zeigt eine Möglichkeit, dies zu tun:
Inhalt innerhalb Inhalte innerhalb Neu in Version 1.16.0. Standardwert: None
|
|
instance_discovery
|
<xref:boolean>
In der Vergangenheit würde MSAL eine Verbindung mit einem zentralen Endpunkt herstellen, der sich befindet Dieser Parameter ist standardmäßig "None", wodurch die Instanzermittlung aktiviert wird. Wenn Sie einige Behörden kennen, mit denen MsAL mit as-isarbeiten kann, ohne Instance Discovery einzubeziehen, ist das empfohlene Muster:
Wenn Sie einige Behörden vorher noch nicht kennen, möchten Sie dennoch, dass MSAL alle von Ihnen bereitgestellten Autoritäten akzeptiert, können Sie die Neu in Version 1.19.0. Standardwert: None
|
|
allow_broker
|
<xref:boolean>
Deprecated. Verwenden Sie stattdessen Standardwert: None
|
|
enable_pii_log
|
<xref:boolean>
Wenn diese Option aktiviert ist, können Protokolle PII (personenbezogene Informationen) enthalten. Dies kann bei der Problembehandlung bei Brokerverhalten hilfreich sein. Das Standardverhalten lautet "False". Neu in Version 1.24.0. Standardwert: None
|
|
oidc_authority
|
In Version 1.28.0 hinzugefügt: Es handelt sich um eine URL, die eine OpenID Connect (OIDC)-Autorität des Formats Hinweis: Der Broker wird NICHT für die OIDC-Autorität verwendet. Standardwert: None
|
Methoden
| acquire_token_for_client |
Erwirbt Token für den aktuellen vertraulichen Client, nicht für einen Endbenutzer. Da MSAL Python 1.23, sucht es automatisch nach Token aus dem Cache und sendet nur die Anforderung an den Identitätsanbieter, wenn cachefehlert. |
| acquire_token_on_behalf_of |
Erwirbt Token mithilfe des OBO-Flusses (On-behalf-of). Die aktuelle App ist ein Dienst auf mittlerer Ebene, der mit einem Token aufgerufen wurde, das einen Endbenutzer darstellt. Die aktuelle App kann ein solches Token (a.k.a. eine Benutzer assertion) verwenden, um ein weiteres Token für den Zugriff auf nachgeschaltete Web-API im Namen dieses Benutzers anzufordern. Ausführliche Dokumentationen finden Sie hier. Die aktuelle Middle-Tier-App hat keine Benutzerinteraktion, um die Zustimmung zu erhalten. In diesem Artikel erfahren Sie, wie Sie vorab ihre Zustimmung für Ihre App auf mittlerer Ebene erhalten. 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 |
Entfernen Sie alle Token, die zuvor für acquire_token_for_client den aktuellen Client erworben wurden. |
acquire_token_for_client
Erwirbt Token für den aktuellen vertraulichen Client, nicht für einen Endbenutzer.
Da MSAL Python 1.23, sucht es automatisch nach Token aus dem Cache und sendet nur die Anforderung an den Identitätsanbieter, wenn cachefehlert.
acquire_token_for_client(scopes, claims_challenge=None, fmi_path=None, **kwargs)
Parameter
| Name | Beschreibung |
|---|---|
|
scopes
Erforderlich
|
(Erforderlich) Bereiche, die für den Zugriff auf eine geschützte API (eine Ressource) angefordert wurden. |
|
claims_challenge
|
Der claims_challenge Parameter fordert spezifische Ansprüche an, die vom Ressourcenanbieter in Form einer claims_challenge-Direktive im www-authenticate-Header vom UserInfo-Endpunkt und/oder im ID-Token und/oder Zugriffstoken zurückgegeben werden sollen. Es handelt sich um eine Zeichenfolge eines JSON-Objekts, das Listen von Ansprüchen enthält, die von diesen Speicherorten angefordert werden. Standardwert: None
|
|
fmi_path
|
Dies ist optional. Der FMI-Anmeldeinformationspfad (Federated Managed Identity).
Wenn angegeben, wird es als
Standardwert: None
|
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Ein Diktat, das die JSON-Antwort von Microsoft Entra darstellt:
|
acquire_token_on_behalf_of
Erwirbt Token mithilfe des OBO-Flusses (On-behalf-of).
Die aktuelle App ist ein Dienst auf mittlerer Ebene, der mit einem Token aufgerufen wurde, das einen Endbenutzer darstellt. Die aktuelle App kann ein solches Token (a.k.a. eine Benutzer assertion) verwenden, um ein weiteres Token für den Zugriff auf nachgeschaltete Web-API im Namen dieses Benutzers anzufordern. Ausführliche Dokumentationen finden Sie hier.
Die aktuelle Middle-Tier-App hat keine Benutzerinteraktion, um die Zustimmung zu erhalten. In diesem Artikel erfahren Sie, wie Sie vorab ihre Zustimmung für Ihre App auf mittlerer Ebene erhalten. 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)
Parameter
| Name | Beschreibung |
|---|---|
|
user_assertion
Erforderlich
|
Das eingehende Token, das von dieser App bereits empfangen wurde |
|
scopes
Erforderlich
|
Bereiche, die von der downstream-API (einer Ressource) benötigt werden. |
|
claims_challenge
|
Der claims_challenge Parameter fordert spezifische Ansprüche an, die vom Ressourcenanbieter in Form einer claims_challenge-Direktive im www-authenticate-Header vom UserInfo-Endpunkt und/oder im ID-Token und/oder Zugriffstoken zurückgegeben werden sollen. Es handelt sich um eine Zeichenfolge eines JSON-Objekts, das Listen von Ansprüchen enthält, die von diesen Speicherorten angefordert werden. Standardwert: None
|
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Ein Diktat, das die JSON-Antwort von Microsoft Entra darstellt:
|
remove_tokens_for_client
Entfernen Sie alle Token, die zuvor für acquire_token_for_client den aktuellen Client erworben wurden.
remove_tokens_for_client()