Freigeben über


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.InteractiveCredential
DeviceCodeCredential

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
Standardwert: 04b07795-8ddb-461a-bbee-02f9e1bf7b46

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.

prompt_callback
Callable[str, str, datetime]

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 muss

  • user_code (str) den Code, den der Benutzer dort eingeben muss

  • expires_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

scopes
Iterable[str]

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.

claims
str

zusätzliche Ansprüche, die im Token erforderlich sind, z. B. die von claims

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
Erforderlich

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.