Partager via


ClientAssertionCredential Classe

  • java.lang.Object
    • com.azure.identity.ClientAssertionCredential

Implémente

public class ClientAssertionCredential
implements TokenCredential

ClientAssertionCredential acquiert un jeton via l’assertion du client et l’authentification du principal de service. Cette méthode d’authentification fournit un moyen sécurisé et évolutif pour les applications clientes d’accéder aux ressources Azure sans que les utilisateurs n’ont besoin de fournir leurs informations d’identification. Il est souvent utilisé dans les scénarios où une application cliente doit accéder aux ressources Azure pour le compte d’un utilisateur, par exemple dans une architecture d’application multiniveau. Dans cette méthode d’authentification, l’application cliente crée un jeton web JSON (JWT) qui inclut des informations sur le principal du service (comme son ID client et son ID de locataire) et le signe à l’aide d’une clé secrète client. Le client envoie ensuite ce jeton à Azure Active Directory (Azure AD) comme preuve de son identité. Azure AD vérifie la signature de jeton et vérifie que le principal de service dispose des autorisations nécessaires pour accéder à la ressource Azure demandée. Si le jeton est valide et que le principal de service est autorisé, Azure AD émet un jeton d’accès que l’application cliente peut utiliser pour accéder à la ressource demandée. ClientAssertionCredential acquiert un jeton d’accès avec une assertion cliente pour une application AAD inscrite/principale de service. Le tenantId, le clientId et le clientAssertion du principal de service sont requis pour que ces informations d’identification acquièrent un jeton d’accès. Il peut être utilisé à la fois dans les environnements de développement locaux et hébergés par Azure pour l’authentification.

Comme condition préalable, un principal de service est requis pour utiliser ce mécanisme d’authentification. Si vous n’avez pas de principal de service, consultez créer un principal de service avec Azure CLI.

Exemple : Construire un clientAssertionCredential simple

L’exemple de code suivant illustre la création d’un ClientAssertionCredential, à l’aide de pour le ClientAssertionCredentialBuilder configurer. Les tenantIdparamètres et certificateclientId sont requis pour créer ClientAssertionCredential. Une fois ces informations d’identification créées, elles peuvent être transmises au générateur de la plupart des générateurs du kit de développement logiciel (SDK) Azure pour les générateurs de clients Java en tant que paramètre « credential ».

TokenCredential clientAssertionCredential = new ClientAssertionCredentialBuilder()
     .tenantId(tenantId)
     .clientId(clientId)
     .clientAssertion(() -> "<Client-Assertion>")
     .build();

Exemple : Construire un ClientAssertionCredential derrière un proxy

L’exemple de code suivant illustre la création d’un ClientAssertionCredential, à l’aide de pour le ClientAssertionCredentialBuilder configurer. Les tenantIdparamètres et clientAssertionclientId sont requis pour créer ClientAssertionCredential. THe proxyOptions peut être configuré éventuellement pour cibler un proxy. Une fois ces informations d’identification créées, elles peuvent être transmises au générateur de la plupart des générateurs du kit de développement logiciel (SDK) Azure pour les générateurs de clients Java en tant que paramètre « credential ».

TokenCredential assertionCredential = new ClientAssertionCredentialBuilder()
     .tenantId(tenantId)
     .clientId(clientId)
     .clientAssertion(() -> "<Client-Assertion>")
     .proxyOptions(new ProxyOptions(Type.HTTP, new InetSocketAddress("10.21.32.43", 5465)))
     .build();

Résumé de la méthode

Modificateur et type Méthode et description
reactor.core.publisher.Mono<AccessToken> getToken(TokenRequestContext request)
AccessToken getTokenSync(TokenRequestContext request)

Méthodes héritées de java.lang.Object

Détails de la méthode

getToken

public Mono getToken(TokenRequestContext request)

Parameters:

request

getTokenSync

public AccessToken getTokenSync(TokenRequestContext request)

Parameters:

request

S’applique à