Interface OAuth2WebClient
- All Superinterfaces:
WebClient
An asynchronous OAuth2/OIDC aware HTTP / HTTP/2 client called
WebClientOAuth2.
This client wraps a WebClient and makes it session aware adding features to it:
- Request an
access_tokenif no user is created - Refresh
access_tokenif current user is expired
-
Method Summary
Modifier and TypeMethodDescriptionaddInterceptor(Handler<io.vertx.ext.web.client.impl.HttpContext<?>> interceptor) Add interceptor in the chain.static OAuth2WebClientcreate(WebClient webClient, OAuth2Auth oAuth2Auth) Create a session aware web client using the providedwebClientinstance.static OAuth2WebClientcreate(WebClient webClient, OAuth2Auth oAuth2Auth, OAuth2WebClientOptions options) Create a session aware web client using the providedwebClientinstance.getUser()Get the authenticated user (if any) that is associated with this client.withCredentials(Credentials credentials) Mark that request should be dispatched with authentication obtained from passedOAuth2AuthproviderMethods inherited from interface WebClient
close, delete, delete, delete, delete, delete, delete, deleteAbs, deleteAbs, get, get, get, get, get, get, getAbs, getAbs, head, head, head, head, head, head, headAbs, headAbs, patch, patch, patch, patch, patch, patch, patchAbs, patchAbs, post, post, post, post, post, post, postAbs, postAbs, put, put, put, put, put, put, putAbs, putAbs, request, request, request, request, request, request, request, request, request, request, request, request, request, request, request, requestAbs, requestAbs, requestAbs, requestAbs, updateSSLOptions, updateSSLOptions
-
Method Details
-
create
Create a session aware web client using the providedwebClientinstance.- Parameters:
webClient- the web client instanceoAuth2Auth- Configured oAuth2Auth provider to be used whenwithCredentials(Credentials)used- Returns:
- the created client
-
create
static OAuth2WebClient create(WebClient webClient, OAuth2Auth oAuth2Auth, OAuth2WebClientOptions options) Create a session aware web client using the providedwebClientinstance.- Parameters:
webClient- the web client instanceoAuth2Auth- Configured oAuth2Auth provider to be used whenwithCredentials(Credentials)usedoptions- extra configuration for this object- Returns:
- the created client
-
withCredentials
Mark that request should be dispatched with authentication obtained from passedOAuth2Authprovider- Returns:
- a reference to this, so the API can be used fluently
-
addInterceptor
Description copied from interface:WebClientAdd interceptor in the chain. The interceptor can maintain per request state withHttpContext.get(String)/HttpContext.set(String, Object). A request/response can be processed several times (in case of retry) and thus they should use the per request state to ensure an operation is not done twice. This API is internal.- Specified by:
addInterceptorin interfaceWebClient- Parameters:
interceptor- the interceptor to add, must not be null- Returns:
- a reference to this, so the API can be used fluently
-
getUser
User getUser()Get the authenticated user (if any) that is associated with this client.- Returns:
- the current user associated with this client or null if no user is associated
-