Partager via


ClientAssertionCredential Classe

Authentifie un principal de service avec une assertion JWT.

Ces informations d’identification sont destinées aux scénarios avancés. CertificateCredential dispose d’une API plus pratique pour le scénario d’assertion le plus courant, à savoir l’authentification d’un principal de service avec un certificat.

Héritage
azure.identity.aio._internal.AsyncContextManager
ClientAssertionCredential
azure.identity.aio._internal.get_token_mixin.GetTokenMixin
ClientAssertionCredential

Constructeur

ClientAssertionCredential(tenant_id: str, client_id: str, func: Callable[[], str], **kwargs: Any)

Paramètres

tenant_id
str
Obligatoire

ID du locataire du principal. Également appelé son ID « répertoire ».

client_id
str
Obligatoire

ID client du principal

func
Obligatoire

Callable qui retourne une assertion de chaîne. Les informations d’identification appellent ceci chaque fois qu’il acquiert un nouveau jeton.

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.

additionally_allowed_tenants
List[str]

Spécifie les locataires en plus du « tenant_id » spécifié pour lequel les informations d’identification peuvent acquérir des jetons. Ajoutez la valeur générique « * » pour permettre aux informations d’identification d’acquérir des jetons pour n’importe quel locataire auquel l’application peut accéder.

Exemples

Créez un ClientAssertionCredential.


   from azure.identity.aio import ClientAssertionCredential

   def get_assertion():
       return "<client-assertion>"

   credential = ClientAssertionCredential(
       tenant_id="<tenant_id>",
       client_id="<client_id>",
       func=get_assertion,
   )

Méthodes

close

Fermez la session de transport des informations d’identification.

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.

close

Fermez la session de transport des informations d’identification.

async close() -> None

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.

async 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 contestation 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.