Partager via


DeviceCodeCredential Classe

Authentifie les utilisateurs via le flux de code de l’appareil.

Quand get_token est appelé, ces informations d’identification acquièrent une URL de vérification et du code à partir d’Azure Active Directory. Un utilisateur doit accéder à l’URL, entrer le code et s’authentifier auprès d’Azure Active Directory. Si l’utilisateur s’authentifie correctement, les informations d’identification reçoivent un jeton d’accès.

Ces informations d’identification sont principalement utiles pour authentifier un utilisateur dans un environnement sans navigateur web, tel qu’une session SSH. Si un navigateur web est disponible, est plus pratique, InteractiveBrowserCredential car il ouvre automatiquement un navigateur à la page de connexion.

Héritage
azure.identity._internal.interactive.InteractiveCredential
DeviceCodeCredential

Constructeur

DeviceCodeCredential(client_id: str = '04b07795-8ddb-461a-bbee-02f9e1bf7b46', *, timeout: int | None = None, prompt_callback: Callable[[str, str, datetime], None] | None = None, **kwargs: Any)

Paramètres

client_id
str
valeur par défaut: 04b07795-8ddb-461a-bbee-02f9e1bf7b46

ID client de l’application auprès de laquelle les utilisateurs s’authentifient. Lorsqu’ils ne sont pas spécifiés, les utilisateurs s’authentifient auprès d’une application de développement Azure.

authority
str

Autorité d’un point de terminaison Azure Active Directory, par exemple « login.microsoftonline.com », l’autorité pour le cloud public Azure (qui est la valeur par défaut). AzureAuthorityHosts définit les autorités pour d’autres clouds.

tenant_id
str

un ID de locataire Azure Active Directory. Par défaut, le locataire « organisations » peut authentifier les comptes professionnels ou scolaires. Obligatoire pour les applications monolocataires.

timeout
int

secondes avant d’attendre que l’utilisateur s’authentifie. Par défaut, la période de validité du code de l’appareil est définie par Azure Active Directory, qui prévaut également lorsque le délai d’expiration est plus long.

prompt_callback
Callable[str, str, datetime]

Rappel permettant de contrôler la façon dont les instructions d’authentification sont présentées. Doit accepter les arguments (verification_uri, user_code, expires_on) :

  • verification_uri (str) l’URL que l’utilisateur doit visiter

  • user_code (str) le code que l’utilisateur doit entrer à cet emplacement

  • expires_on (datetime.datetime) heure UTC à laquelle le code va expirer

Si cet argument n’est pas fourni, les informations d’identification impriment les instructions sur stdout.

authentication_record
AuthenticationRecord

AuthenticationRecord retourné par authenticate

disable_automatic_authentication
bool

si la valeur est True, get_token se déclenche AuthenticationRequiredError lorsque l’utilisateur doit interagir pour acquérir un jeton. Valeur par défaut False.

cache_persistence_options
TokenCachePersistenceOptions

configuration pour la mise en cache des jetons persistants. Si elles ne sont pas spécifiées, les informations d’identification mettez en cache les jetons en mémoire.

disable_instance_discovery
bool

Détermine si instance découverte est effectuée lors de la tentative d’authentification. La définition de cette valeur sur true désactive complètement la découverte instance et la validation de l’autorité. Cette fonctionnalité est destinée à être utilisée dans les scénarios où le point de terminaison de métadonnées n’est pas accessible, par exemple dans des clouds privés ou Azure Stack. Le processus de découverte instance implique la récupération des métadonnées d’autorité à partir de https://login.microsoft.com/ pour valider l’autorité. En affectant la valeur True, la validation de l’autorité est désactivée. Par conséquent, il est essentiel de s’assurer que l’hôte d’autorité configuré est valide et digne de confiance.

Exemples

Créez un DeviceCodeCredential.


   from azure.identity import DeviceCodeCredential

   credential = DeviceCodeCredential()

Méthodes

authenticate

Authentifier un utilisateur de manière interactive.

close
get_token

Demandez un jeton d’accès pour les étendues.

Cette méthode est appelée automatiquement par les clients du Kit de développement logiciel (SDK) Azure.

authenticate

Authentifier un utilisateur de manière interactive.

authenticate(**kwargs: Any) -> AuthenticationRecord

Paramètres

scopes
Iterable[str]

étendues à demander pendant l’authentification, telles que celles fournies par scopes. Si elle est fournie, l’authentification réussie met en cache un jeton d’accès pour ces étendues.

claims
str

revendications supplémentaires requises dans le jeton, telles que celles fournies par claims

Type de retour

Exceptions

échec de l’authentification. L’attribut de l’erreur message donne une raison.

close

close() -> None

Exceptions

échec de l’authentification. L’attribut de l’erreur message donne une raison.

get_token

Demandez un jeton d’accès pour les étendues.

Cette méthode est appelée automatiquement par les clients du Kit de développement logiciel (SDK) Azure.

get_token(*scopes: str, claims: str | None = None, tenant_id: str | None = None, **kwargs: Any) -> AccessToken

Paramètres

scopes
str
Obligatoire

étendues souhaitées pour le jeton d’accès. Cette méthode nécessite au moins une étendue. Pour plus d’informations sur les étendues, consultez https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.

claims
str

revendications supplémentaires requises dans le jeton, telles que celles retournées dans la demande de revendications d’un fournisseur de ressources suite à un échec d’autorisation

tenant_id
str

locataire facultatif à inclure dans la demande de jeton.

enable_cae
bool

indique s’il faut activer l’évaluation continue de l’accès (CAE) pour le jeton demandé. Valeur par défaut False.

Retours

Jeton d’accès avec les étendues souhaitées.

Type de retour

Exceptions

les informations d’identification ne peuvent pas tenter d’authentification, car elles ne disposent pas de la prise en charge des données, de l’état ou de la plateforme requises

échec de l’authentification. L’attribut de l’erreur message donne une raison.

L’interaction utilisateur est nécessaire pour acquérir un jeton, et les informations d’identification sont configurées pour ne pas commencer automatiquement. Appeler

pour commencer l’authentification interactive.