Class ClientCertificateCredential
- All Implemented Interfaces:
com.azure.core.credential.TokenCredential
The ClientCertificateCredential acquires a token via service principal authentication. It is a type of authentication in Azure that enables a non-interactive login to Azure Active Directory (Azure AD) , allowing an application or service to authenticate itself with Azure resources. A Service Principal is essentially an identity created for an application in Azure AD that can be used to authenticate with Azure resources. It's like a "user identity" for the application or service, and it provides a way for the application to authenticate itself with Azure resources without needing to use a user's credentials. Azure Active Directory (Azure AD) allows users to register service principals which can be used as an identity for authentication. A client certificate associated with the registered service principal is used as the password when authenticating the service principal. The ClientCertificateCredential acquires an access token with a client certificate for a service principal/registered AAD application. The tenantId, clientId and clientCertificate of the service principal are required for this credential to acquire an access token. It can be used both in Azure hosted and local development environments for authentication. For more information refer to the conceptual knowledge and configuration details.
As a pre-requisite, a service principal is required to use this authentication mechanism. If you don't have a service principal, refer to create a service principal with Azure CLI.
Sample: Construct a simple ClientCertificateCredential
The following code sample demonstrates the creation of a ClientCertificateCredential
,
using the ClientCertificateCredentialBuilder
to configure it. The tenantId
,
clientId
and certificate
parameters are required to create
ClientCertificateCredential
. Once this credential is created, it may be passed into the
builder of many of the Azure SDK for Java client builders as the 'credential' parameter.
TokenCredential clientCertificateCredential = new ClientCertificateCredentialBuilder() .tenantId(tenantId) .clientId(clientId) .pemCertificate("<PATH-TO-PEM-CERTIFICATE>") .build();
Sample: Construct a ClientCertificateCredential behind a proxy
The following code sample demonstrates the creation of a ClientCertificateCredential
,
using the ClientCertificateCredentialBuilder
to configure it. The tenantId
,
clientId
and certificate
parameters are required to create
ClientSecretCredential
. THe proxyOptions
can be optionally configured to target
a proxy. Once this credential is created, it may be passed into the builder of many of the Azure SDK for Java
client builders as the 'credential' parameter.
TokenCredential certificateCredential = new ClientCertificateCredentialBuilder() .tenantId(tenantId) .clientId(clientId) .pfxCertificate("<PATH-TO-PFX-CERTIFICATE>", "P@s$w0rd") .proxyOptions(new ProxyOptions(Type.HTTP, new InetSocketAddress("10.21.32.43", 5465))) .build();
-
Method Summary
Modifier and TypeMethodDescriptionMono<com.azure.core.credential.AccessToken>
getToken
(com.azure.core.credential.TokenRequestContext request) com.azure.core.credential.AccessToken
getTokenSync
(com.azure.core.credential.TokenRequestContext request)
-
Method Details
-
getToken
public Mono<com.azure.core.credential.AccessToken> getToken(com.azure.core.credential.TokenRequestContext request) - Specified by:
getToken
in interfacecom.azure.core.credential.TokenCredential
-
getTokenSync
public com.azure.core.credential.AccessToken getTokenSync(com.azure.core.credential.TokenRequestContext request) - Specified by:
getTokenSync
in interfacecom.azure.core.credential.TokenCredential
-