public class ConfidentialClientApplication extends AbstractClientApplicationBase implements IConfidentialClientApplication
IConfidentialClientApplication
Conditionally thread-safe
Modifier and Type | Class and Description |
---|---|
static class |
ConfidentialClientApplication.Builder |
Modifier and Type | Field and Description |
---|---|
Function<AppTokenProviderParameters,CompletableFuture<TokenProviderResult>> |
appTokenProvider
AppTokenProvider creates a Credential from a function that provides access tokens.
|
static String |
DEFAULT_AUTHORITY |
authenticationAuthority, azureRegion, log, tokenCache
Modifier and Type | Method and Description |
---|---|
CompletableFuture<IAuthenticationResult> |
acquireToken(AuthorizationCodeParameters parameters)
Acquires security token from the authority using an authorization code previously received.
|
CompletableFuture<IAuthenticationResult> |
acquireToken(ClientCredentialParameters parameters)
Acquires tokens from the authority configured in the application, for the confidential client
itself.
|
CompletableFuture<IAuthenticationResult> |
acquireToken(OnBehalfOfParameters parameters)
Acquires an access token for this application (usually a Web API) from the authority configured
in the application, in order to access another downstream protected Web API on behalf of a user
using the On-Behalf-Of flow.
|
CompletableFuture<IAuthenticationResult> |
acquireToken(RefreshTokenParameters parameters)
Acquires a security token from the authority using a refresh token previously received.
|
CompletableFuture<IAuthenticationResult> |
acquireTokenSilently(SilentParameters parameters)
Returns tokens from cache if present and not expired or acquires new tokens from the authority
by using the refresh token present in cache.
|
String |
authority() |
static ConfidentialClientApplication.Builder |
builder(String clientId,
IClientCredential clientCredential)
Creates instance of Builder of ConfidentialClientApplication
|
protected com.nimbusds.oauth2.sdk.auth.ClientAuthentication |
clientAuthentication() |
String |
clientId() |
String |
correlationId() |
protected com.nimbusds.oauth2.sdk.auth.ClientAuthentication |
createClientAuthFromClientAssertion(com.microsoft.aad.msal4j.ClientAssertion clientAssertion) |
CompletableFuture<Set<IAccount>> |
getAccounts()
Returns accounts in the cache
|
URL |
getAuthorizationRequestUrl(AuthorizationRequestUrlParameters parameters)
Computes the URL of the authorization request letting the user sign-in and consent to the
application.
|
boolean |
logPii() |
Proxy |
proxy() |
CompletableFuture |
removeAccount(IAccount account)
Removes IAccount from the cache
|
boolean |
sendX5c() |
SSLSocketFactory |
sslSocketFactory() |
ITokenCache |
tokenCache() |
boolean |
validateAuthority() |
aadAadInstanceDiscoveryResponse, acquireToken, acquireToken, acquireTokenSilently, applicationName, applicationVersion, authority, autoDetectRegion, azureRegion, clientCapabilities, clientId, connectTimeoutForDefaultHttpClient, correlationId, getAccounts, getAuthorizationRequestUrl, instanceDiscovery, logPii, proxy, readTimeoutForDefaultHttpClient, removeAccount, sslSocketFactory, tokenCache, validateAuthority
public Function<AppTokenProviderParameters,CompletableFuture<TokenProviderResult>> appTokenProvider
public static final String DEFAULT_AUTHORITY
public CompletableFuture<IAuthenticationResult> acquireToken(ClientCredentialParameters parameters)
IConfidentialClientApplication
acquireToken
in interface IConfidentialClientApplication
parameters
- instance of ClientCredentialParameters
CompletableFuture
containing an IAuthenticationResult
public CompletableFuture<IAuthenticationResult> acquireToken(OnBehalfOfParameters parameters)
IConfidentialClientApplication
UserAssertion
field of OnBehalfOfParameters
.
When serializing/deserializing the in-memory token cache to permanent storage, there should be
a token cache per incoming access token, where the hash of the incoming access token can be used
as the token cache key. Access tokens are usually only valid for a 1 hour period of time,
and a new access token in the UserAssertion
means there will be a new token cache and
new token cache key. To avoid your permanent storage from being filled with expired
token caches, an eviction policy should be set. For example, a token cache that
is more than a couple of hours old can be deemed expired and therefore evicted from the
serialized token cache.
acquireToken
in interface IConfidentialClientApplication
parameters
- instance of OnBehalfOfParameters
CompletableFuture
containing an IAuthenticationResult
protected com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuthentication()
clientAuthentication
in class AbstractClientApplicationBase
protected com.nimbusds.oauth2.sdk.auth.ClientAuthentication createClientAuthFromClientAssertion(com.microsoft.aad.msal4j.ClientAssertion clientAssertion)
public static ConfidentialClientApplication.Builder builder(String clientId, IClientCredential clientCredential)
clientId
- Client ID (Application ID) of the application as registered
in the application registration portal (portal.azure.com)clientCredential
- The client credential to use for token acquisition.public boolean sendX5c()
sendX5c
in interface IConfidentialClientApplication
public String clientId()
public String authority()
IClientApplicationBase.DEFAULT_AUTHORITY
public boolean validateAuthority()
public String correlationId()
public boolean logPii()
public Proxy proxy()
public SSLSocketFactory sslSocketFactory()
public ITokenCache tokenCache()
IClientApplicationBase.acquireTokenSilently(SilentParameters)
public URL getAuthorizationRequestUrl(AuthorizationRequestUrlParameters parameters)
Once the user successfully authenticates, the response should contain an authorization code,
which can then be passed in toAbstractClientApplicationBase.acquireToken(AuthorizationCodeParameters)
to be exchanged for a token
parameters
- AuthorizationRequestUrlParameters
public CompletableFuture<IAuthenticationResult> acquireToken(AuthorizationCodeParameters parameters)
parameters
- AuthorizationCodeParameters
CompletableFuture
object representing the IAuthenticationResult
of the call.public CompletableFuture<IAuthenticationResult> acquireToken(RefreshTokenParameters parameters)
parameters
- RefreshTokenParameters
CompletableFuture
object representing the IAuthenticationResult
of the call.public CompletableFuture<IAuthenticationResult> acquireTokenSilently(SilentParameters parameters) throws MalformedURLException
parameters
- instance of SilentParametersCompletableFuture
object representing the IAuthenticationResult
of the call.MalformedURLException
- if authorityUrl from parameters is malformed URLpublic CompletableFuture<Set<IAccount>> getAccounts()
public CompletableFuture removeAccount(IAccount account)
account
- instance of Account to be removed from cacheCompletableFuture
object representing account removal task.Copyright © 2013–2023. All rights reserved.