DeviceCodeCredential Klasse
Authentifiziert Benutzer über den Gerätecodeflow.
Wenn get_token diese Anmeldeinformationen aufgerufen werden, werden eine Überprüfungs-URL und Code aus Azure Active Directory abgerufen. Ein Benutzer muss zur URL navigieren, den Code eingeben und sich bei Azure Active Directory authentifizieren. Wenn sich der Benutzer erfolgreich authentifiziert, erhalten die Anmeldeinformationen ein Zugriffstoken.
Diese Anmeldeinformationen sind in erster Linie nützlich für die Authentifizierung eines Benutzers in einer Umgebung ohne Webbrowser, z. B. einer SSH-Sitzung. Wenn ein Webbrowser verfügbar ist, ist es bequemer, InteractiveBrowserCredential da er automatisch einen Browser für die Anmeldeseite öffnet.
- Vererbung
-
azure.identity._internal.interactive.InteractiveCredentialDeviceCodeCredential
Konstruktor
DeviceCodeCredential(client_id: str = '04b07795-8ddb-461a-bbee-02f9e1bf7b46', *, timeout: int | None = None, prompt_callback: Callable[[str, str, datetime], None] | None = None, **kwargs: Any)
Parameter
- client_id
- str
Client-ID der Anwendungsbenutzer authentifizieren sich bei. Wenn nicht angegeben, authentifizieren sich Benutzer bei einer Azure-Entwicklungsanwendung.
- authority
- str
Autorität eines Azure Active Directory-Endpunkts, z. B. "login.microsoftonline.com", der Autorität für azure Public Cloud (standard). AzureAuthorityHosts definiert Autoritäten für andere Clouds.
- tenant_id
- str
eine Azure Active Directory-Mandanten-ID. Standardmäßig wird der Mandant "Organisationen" verwendet, der Geschäfts- oder Schulkonten authentifizieren kann. Erforderlich für Einzelmandantenanwendungen.
- timeout
- int
Sekunden, um auf die Authentifizierung des Benutzers zu warten. Standardmäßig wird der Gültigkeitszeitraum des Gerätecodes verwendet, wie er von Azure Active Directory festgelegt wird. Dies gilt auch, wenn das Timeout länger ist.
Ein Rückruf, der die Steuerung der Darstellung von Authentifizierungsanweisungen ermöglicht. Muss Argumente akzeptieren (verification_uri
, user_code
, expires_on
):
verification_uri
(str) die URL, die der Benutzer besuchen mussuser_code
(str) den Code, den der Benutzer dort eingeben mussexpires_on
(datetime.datetime) die UTC-Zeit, zu der der Code abläuft
Wenn dieses Argument nicht angegeben wird, geben die Anmeldeinformationen Anweisungen für stdout aus.
- authentication_record
- AuthenticationRecord
AuthenticationRecord zurückgegeben von authenticate
- disable_automatic_authentication
- bool
wenn True, wird ausgelöstAuthenticationRequiredError, get_token wenn die Benutzerinteraktion erforderlich ist, um ein Token abzurufen. Der Standardwert lautet „False“.
- cache_persistence_options
- TokenCachePersistenceOptions
Konfiguration für die persistente Tokenzwischenspeicherung. Wenn nicht angegeben, werden die Anmeldeinformationen Token im Arbeitsspeicher zwischenspeichern.
- disable_instance_discovery
- bool
Bestimmt, ob beim Authentifizierungsversuch instance Ermittlung durchgeführt wird. Wenn Sie diesen Wert auf true festlegen, werden sowohl instance Ermittlung als auch die Überprüfung der Autorität vollständig deaktiviert. Diese Funktionalität ist für die Verwendung in Szenarien vorgesehen, in denen der Metadatenendpunkt nicht erreicht werden kann, z. B. in privaten Clouds oder Azure Stack. Der Prozess der instance Ermittlung umfasst das Abrufen von Autoritätsmetadaten aushttps://login.microsoft.com/, um die Autorität zu überprüfen. Wenn Sie diesen Wert auf True festlegen, wird die Validierung der Autorität deaktiviert. Daher ist es von entscheidender Bedeutung, sicherzustellen, dass der konfigurierte Autoritätshost gültig und vertrauenswürdig ist.
Beispiele
Erstellen Sie deviceCodeCredential.
from azure.identity import DeviceCodeCredential
credential = DeviceCodeCredential()
Methoden
authenticate |
Interaktives Authentifizieren eines Benutzers. |
close | |
get_token |
Fordern Sie ein Zugriffstoken für Bereiche an. Diese Methode wird von Azure SDK-Clients automatisch aufgerufen. |
authenticate
Interaktives Authentifizieren eines Benutzers.
authenticate(**kwargs: Any) -> AuthenticationRecord
Parameter
Bereiche, die während der Authentifizierung anzufordern sind, z. B. von scopes. Falls angegeben, speichert die erfolgreiche Authentifizierung ein Zugriffstoken für diese Bereiche zwischen.
Rückgabetyp
Ausnahmen
Fehler bei der Authentifizierung. Das Attribut des Fehlers message
gibt einen Grund an.
close
close() -> None
Ausnahmen
Fehler bei der Authentifizierung. Das Attribut des Fehlers message
gibt einen Grund an.
get_token
Fordern Sie ein Zugriffstoken für Bereiche an.
Diese Methode wird von Azure SDK-Clients automatisch aufgerufen.
get_token(*scopes: str, claims: str | None = None, tenant_id: str | None = None, **kwargs: Any) -> AccessToken
Parameter
- scopes
- str
gewünschte Bereiche für das Zugriffstoken. Für diese Methode ist mindestens ein Bereich erforderlich. Weitere Informationen zu Bereichen finden Sie unter https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.
- claims
- str
zusätzliche Ansprüche, die im Token erforderlich sind, z. B. die in der Anspruchsanforderung eines Ressourcenanbieters nach einem Autorisierungsfehler zurückgegeben werden
- tenant_id
- str
optionaler Mandant, der in die Tokenanforderung aufgenommen werden soll.
- enable_cae
- bool
gibt an, ob Continuous Access Evaluation (CAE) für das angeforderte Token aktiviert werden soll. Der Standardwert lautet „False“.
Gibt zurück
Ein Zugriffstoken mit den gewünschten Bereichen.
Rückgabetyp
Ausnahmen
Die Anmeldeinformationen können keine Authentifizierungsversuche ausführen, da die erforderliche Daten-, Zustands- oder Plattformunterstützung fehlt.
Fehler bei der Authentifizierung. Das Attribut des Fehlers message
gibt einen Grund an.
Benutzerinteraktionen sind erforderlich, um ein Token abzurufen, und die Anmeldeinformationen sind so konfiguriert, dass diese nicht automatisch beginnen. Aufruf
, um mit der interaktiven Authentifizierung zu beginnen.