Class OAuth2ResourceOwnerPasswordCredentialsGrantBuilder
java.lang.Object
com.linecorp.armeria.client.auth.oauth2.OAuth2ResourceOwnerPasswordCredentialsGrantBuilder
Builds
OAuth2ClientCredentialsGrant
.-
Method Summary
Modifier and TypeMethodDescriptionbuild()
Builds a new instance ofOAuth2ResourceOwnerPasswordCredentialsGrant
using configured parameters.protected com.linecorp.armeria.internal.client.auth.oauth2.AbstractAccessTokenRequest
buildObtainRequest
(WebClient accessTokenEndpoint, String accessTokenEndpointPath, @Nullable ClientAuthorization clientAuthorization) clientAuthorization
(Supplier<String> clientAuthorization, String authorizationType) Provides client authorization for the OAuth 2.0 requests based on encoded authorization token and authorization type, as per [RFC6749], Section 2.3.clientBasicAuthorization
(Supplier<String> clientAuthorization) Provides client authorization for the OAuth 2.0 requests based on encoded authorization token andBasic
authorization type, as per [RFC6749], Section 2.3.clientCredentials
(Supplier<? extends Map.Entry<String, String>> clientCredentials) Provides client authorization for the OAuth 2.0 requests based on client credentials andBasic
authorization type, as per [RFC6749], Section 2.3.clientCredentials
(Supplier<? extends Map.Entry<String, String>> clientCredentials, String authorizationType) Provides client authorization for the OAuth 2.0 requests based on client credentials and authorization type, as per [RFC6749], Section 2.3.fallbackTokenProvider
(Supplier<CompletableFuture<? extends GrantedOAuth2AccessToken>> fallbackTokenProvider) An optionalSupplier
to acquire an access token before requesting it to the authorization server.newTokenConsumer
(Consumer<? super GrantedOAuth2AccessToken> newTokenConsumer) An optional hook which gets executed whenever a new token is issued.refreshBefore
(Duration refreshBefore) A period when the token should be refreshed proactively prior to its expiry.userCredentials
(Supplier<? extends Map.Entry<String, String>> userCredentials) A supplier of user credentials: "username" and "password" used to grant the Access Token.
-
Method Details
-
userCredentials
public OAuth2ResourceOwnerPasswordCredentialsGrantBuilder userCredentials(Supplier<? extends Map.Entry<String, String>> userCredentials) A supplier of user credentials: "username" and "password" used to grant the Access Token. REQUIRED. -
buildObtainRequest
protected com.linecorp.armeria.internal.client.auth.oauth2.AbstractAccessTokenRequest buildObtainRequest(WebClient accessTokenEndpoint, String accessTokenEndpointPath, @Nullable @Nullable ClientAuthorization clientAuthorization) -
build
Builds a new instance ofOAuth2ResourceOwnerPasswordCredentialsGrant
using configured parameters. -
clientAuthorization
public final OAuth2ResourceOwnerPasswordCredentialsGrantBuilder clientAuthorization(Supplier<String> clientAuthorization, String authorizationType) Provides client authorization for the OAuth 2.0 requests based on encoded authorization token and authorization type, as per [RFC6749], Section 2.3.- Parameters:
clientAuthorization
- A supplier of encoded client authorization token.authorizationType
- One of the registered HTTP authentication schemes as per HTTP Authentication Scheme Registry.- Throws:
IllegalStateException
- if clientAuthorization already set
-
clientBasicAuthorization
public final OAuth2ResourceOwnerPasswordCredentialsGrantBuilder clientBasicAuthorization(Supplier<String> clientAuthorization) Provides client authorization for the OAuth 2.0 requests based on encoded authorization token andBasic
authorization type, as per [RFC6749], Section 2.3.- Parameters:
clientAuthorization
- A supplier of encoded client authorization token.- Throws:
IllegalStateException
- if clientAuthorization already set
-
clientCredentials
public final OAuth2ResourceOwnerPasswordCredentialsGrantBuilder clientCredentials(Supplier<? extends Map.Entry<String, String>> clientCredentials, String authorizationType) Provides client authorization for the OAuth 2.0 requests based on client credentials and authorization type, as per [RFC6749], Section 2.3.- Parameters:
clientCredentials
- A supplier of client credentials.authorizationType
- One of the registered HTTP authentication schemes as per HTTP Authentication Scheme Registry.- Throws:
IllegalStateException
- if clientCredentials already set
-
clientCredentials
public final OAuth2ResourceOwnerPasswordCredentialsGrantBuilder clientCredentials(Supplier<? extends Map.Entry<String, String>> clientCredentials) Provides client authorization for the OAuth 2.0 requests based on client credentials andBasic
authorization type, as per [RFC6749], Section 2.3.- Parameters:
clientCredentials
- A supplier of client credentials.- Throws:
IllegalStateException
- if clientCredentials already set
-
refreshBefore
public final OAuth2ResourceOwnerPasswordCredentialsGrantBuilder refreshBefore(Duration refreshBefore) A period when the token should be refreshed proactively prior to its expiry. -
fallbackTokenProvider
public final OAuth2ResourceOwnerPasswordCredentialsGrantBuilder fallbackTokenProvider(Supplier<CompletableFuture<? extends GrantedOAuth2AccessToken>> fallbackTokenProvider) An optionalSupplier
to acquire an access token before requesting it to the authorization server. If the providedGrantedOAuth2AccessToken
is valid, the client doesn't request a new token.This is supposed to be used with
newTokenConsumer(Consumer)
and gets executed in the following cases:- Before the first attempt to acquire an access token.
- Before a subsequent attempt after token issue or refresh failure.
- See Also:
-
newTokenConsumer
public final OAuth2ResourceOwnerPasswordCredentialsGrantBuilder newTokenConsumer(Consumer<? super GrantedOAuth2AccessToken> newTokenConsumer) An optional hook which gets executed whenever a new token is issued.This can be used in combination with
fallbackTokenProvider(Supplier)
to store a newly issued access token which will then be retrieved by invoking the fallback token provider.
-