[Java][apache-httpclient][feign][okhttp-gson] Enable access token refresh (#17086)

* add setter of bearer token supplier

* run generate-samples.sh

* add test of bearer auth
This commit is contained in:
Tomohiko Ozawa 2023-11-18 13:46:18 +09:00 committed by GitHub
parent dc4c72c85c
commit 4bedeef643
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
57 changed files with 723 additions and 129 deletions

View File

@ -4,13 +4,15 @@ package {{invokerPackage}}.auth;
import {{invokerPackage}}.Pair; import {{invokerPackage}}.Pair;
import java.util.Map;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class HttpBearerAuth implements Authentication { public class HttpBearerAuth implements Authentication {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -22,7 +24,7 @@ public class HttpBearerAuth implements Authentication {
* @return The bearer token * @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
@ -31,12 +33,22 @@ public class HttpBearerAuth implements Authentication {
* @param bearerToken The bearer token to send in the Authorization header * @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams) { public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams) {
if(bearerToken == null) { String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) {
return; return;
} }

View File

@ -49,6 +49,7 @@ import java.util.List;
import java.util.Arrays; import java.util.Arrays;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.function.Supplier;
import java.util.TimeZone; import java.util.TimeZone;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -335,6 +336,20 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
throw new RuntimeException("No Bearer authentication configured!"); throw new RuntimeException("No Bearer authentication configured!");
} }
/**
* Helper method to set the supplier of access tokens for Bearer authentication.
*
* @param tokenSupplier the token supplier function
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
for (Authentication auth : authentications.values()) {
if (auth instanceof HttpBearerAuth) {
((HttpBearerAuth) auth).setBearerToken(tokenSupplier);
return;
}
}
throw new RuntimeException("No Bearer authentication configured!");
}
{{/hasHttpBearerMethods}} {{/hasHttpBearerMethods}}
{{#hasHttpBasicMethods}} {{#hasHttpBasicMethods}}

View File

@ -2,6 +2,7 @@ package {{invokerPackage}};
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
import java.util.function.Supplier;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
@ -265,6 +266,15 @@ public class ApiClient {
apiAuthorization.setBearerToken(bearerToken); apiAuthorization.setBearerToken(bearerToken);
} }
/**
* Helper method to configure the supplier of bearer tokens.
* @param tokenSupplier the supplier of bearer tokens.
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
HttpBearerAuth apiAuthorization = getAuthorization(HttpBearerAuth.class);
apiAuthorization.setBearerToken(tokenSupplier);
}
/** /**
* Helper method to configure the first api key found * Helper method to configure the first api key found
* @param apiKey API key * @param apiKey API key

View File

@ -2,13 +2,15 @@ package {{invokerPackage}}.auth;
import feign.RequestInterceptor; import feign.RequestInterceptor;
import feign.RequestTemplate; import feign.RequestTemplate;
import java.util.Optional;
import java.util.function.Supplier;
/** /**
* An interceptor that adds the request header needed to use HTTP bearer authentication. * An interceptor that adds the request header needed to use HTTP bearer authentication.
*/ */
public class HttpBearerAuth implements RequestInterceptor { public class HttpBearerAuth implements RequestInterceptor {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -16,21 +18,35 @@ public class HttpBearerAuth implements RequestInterceptor {
/** /**
* Gets the token, which together with the scheme, will be sent as the value of the Authorization header. * Gets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
* Sets the token, which together with the scheme, will be sent as the value of the Authorization header. * Sets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void apply(RequestTemplate template) { public void apply(RequestTemplate template) {
if(bearerToken == null) { String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) {
return; return;
} }

View File

@ -53,6 +53,7 @@ import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -528,14 +529,23 @@ public class ApiClient {
} }
{{#hasHttpBearerMethods}} {{#hasHttpBearerMethods}}
/** /**
* Helper method to set access token for the first Bearer authentication. * Helper method to set access token for the first Bearer authentication.
* @param bearerToken Bearer token * @param bearerToken Bearer token
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
setBearerToken(() -> bearerToken);
}
/**
* Helper method to set the supplier of access tokens for Bearer authentication.
*
* @param tokenSupplier The supplier of bearer tokens
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
for (Authentication auth : authentications.values()) { for (Authentication auth : authentications.values()) {
if (auth instanceof HttpBearerAuth) { if (auth instanceof HttpBearerAuth) {
((HttpBearerAuth) auth).setBearerToken(bearerToken); ((HttpBearerAuth) auth).setBearerToken(tokenSupplier);
return; return;
} }
} }

View File

@ -6,13 +6,15 @@ import {{invokerPackage}}.ApiException;
import {{invokerPackage}}.Pair; import {{invokerPackage}}.Pair;
import java.net.URI; import java.net.URI;
import java.util.Map;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class HttpBearerAuth implements Authentication { public class HttpBearerAuth implements Authentication {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -24,7 +26,7 @@ public class HttpBearerAuth implements Authentication {
* @return The bearer token * @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
@ -33,12 +35,22 @@ public class HttpBearerAuth implements Authentication {
* @param bearerToken The bearer token to send in the Authorization header * @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams,
String payload, String method, URI uri) throws ApiException { String payload, String method, URI uri) throws ApiException {
String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) { if (bearerToken == null) {
return; return;
} }

View File

@ -188,18 +188,18 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
{{#hasHttpBearerMethods}} {{#hasHttpBearerMethods}}
/** /**
* Helper method to set token for HTTP bearer authentication. * Helper method to set access token for the first Bearer authentication.
* *
* @param bearerToken the token * @param bearerToken Bearer token
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
setBearerToken(() -> bearerToken); setBearerToken(() -> bearerToken);
} }
/** /**
* Helper method to set the token supplier for HTTP bearer authentication. * Helper method to set the supplier of access tokens for Bearer authentication.
* *
* @param tokenSupplier the token supplier function * @param tokenSupplier The supplier of bearer tokens
*/ */
public void setBearerToken(Supplier<String> tokenSupplier) { public void setBearerToken(Supplier<String> tokenSupplier) {
for (Authentication auth : authentications.values()) { for (Authentication auth : authentications.values()) {

View File

@ -14,14 +14,29 @@ public class HttpBearerAuth implements Authentication {
this.scheme = scheme; this.scheme = scheme;
} }
/**
* Gets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @return The bearer token
*/
public String getBearerToken() { public String getBearerToken() {
return tokenSupplier.get(); return tokenSupplier.get();
} }
/**
* Sets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param bearerToken The bearer token to send in the Authorization header
*/
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.tokenSupplier = () -> bearerToken; this.tokenSupplier = () -> bearerToken;
} }
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) { public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier; this.tokenSupplier = tokenSupplier;
} }

View File

@ -55,6 +55,7 @@ import java.util.List;
import java.util.Arrays; import java.util.Arrays;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.function.Supplier;
import java.util.TimeZone; import java.util.TimeZone;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -305,6 +306,20 @@ public class ApiClient extends JavaTimeFormatter {
throw new RuntimeException("No Bearer authentication configured!"); throw new RuntimeException("No Bearer authentication configured!");
} }
/**
* Helper method to set the supplier of access tokens for Bearer authentication.
*
* @param tokenSupplier the token supplier function
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
for (Authentication auth : authentications.values()) {
if (auth instanceof HttpBearerAuth) {
((HttpBearerAuth) auth).setBearerToken(tokenSupplier);
return;
}
}
throw new RuntimeException("No Bearer authentication configured!");
}
/** /**
* Helper method to set username for the first HTTP basic authentication. * Helper method to set username for the first HTTP basic authentication.

View File

@ -15,13 +15,15 @@ package org.openapitools.client.auth;
import org.openapitools.client.Pair; import org.openapitools.client.Pair;
import java.util.Map;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class HttpBearerAuth implements Authentication { public class HttpBearerAuth implements Authentication {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -33,7 +35,7 @@ public class HttpBearerAuth implements Authentication {
* @return The bearer token * @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
@ -42,12 +44,22 @@ public class HttpBearerAuth implements Authentication {
* @param bearerToken The bearer token to send in the Authorization header * @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams) { public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams) {
if(bearerToken == null) { String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) {
return; return;
} }

View File

@ -28,7 +28,6 @@ import java.util.Map;
/** /**
* API tests for AuthApi * API tests for AuthApi
*/ */
@Ignore
public class AuthApiTest { public class AuthApiTest {
private final AuthApi api = new AuthApi(); private final AuthApi api = new AuthApi();
@ -47,4 +46,23 @@ public class AuthApiTest {
// TODO: test validations // TODO: test validations
} }
/**
* To test HTTP bearer authentication
*
* To test HTTP bearer authentication
*
* @throws ApiException
* if the Api call fails
*/
@Test
public void testAuthHttpBearerTest() throws ApiException {
String response;
api.getApiClient().setBearerToken("fixed token");
response = api.testAuthHttpBearer();
Assert.assertTrue(response.contains("Authorization: Bearer fixed token"));
api.getApiClient().setBearerToken(() -> "dynamic token");
response = api.testAuthHttpBearer();
Assert.assertTrue(response.contains("Authorization: Bearer dynamic token"));
}
} }

View File

@ -2,6 +2,7 @@ package org.openapitools.client;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
import java.util.function.Supplier;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
@ -155,6 +156,15 @@ public class ApiClient {
apiAuthorization.setBearerToken(bearerToken); apiAuthorization.setBearerToken(bearerToken);
} }
/**
* Helper method to configure the supplier of bearer tokens.
* @param tokenSupplier the supplier of bearer tokens.
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
HttpBearerAuth apiAuthorization = getAuthorization(HttpBearerAuth.class);
apiAuthorization.setBearerToken(tokenSupplier);
}
/** /**
* Helper method to configure the first api key found * Helper method to configure the first api key found
* @param apiKey API key * @param apiKey API key

View File

@ -2,13 +2,15 @@ package org.openapitools.client.auth;
import feign.RequestInterceptor; import feign.RequestInterceptor;
import feign.RequestTemplate; import feign.RequestTemplate;
import java.util.Optional;
import java.util.function.Supplier;
/** /**
* An interceptor that adds the request header needed to use HTTP bearer authentication. * An interceptor that adds the request header needed to use HTTP bearer authentication.
*/ */
public class HttpBearerAuth implements RequestInterceptor { public class HttpBearerAuth implements RequestInterceptor {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -16,21 +18,35 @@ public class HttpBearerAuth implements RequestInterceptor {
/** /**
* Gets the token, which together with the scheme, will be sent as the value of the Authorization header. * Gets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
* Sets the token, which together with the scheme, will be sent as the value of the Authorization header. * Sets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void apply(RequestTemplate template) { public void apply(RequestTemplate template) {
if(bearerToken == null) { String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) {
return; return;
} }

View File

@ -1,5 +1,7 @@
package org.openapitools.client.api; package org.openapitools.client.api;
import feign.codec.StringDecoder;
import org.junit.jupiter.api.Assertions;
import org.openapitools.client.ApiClient; import org.openapitools.client.ApiClient;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
@ -37,4 +39,28 @@ class AuthApiTest {
} }
/**
* To test HTTP bearer authentication
*
* To test HTTP bearer authentication
*/
@Test
void testAuthHttpBearerTest() {
ApiClient client = new ApiClient("http_bearer_auth");
client.getFeignBuilder().decoder(new StringDecoder());
{
client.setBearerToken("fixed token");
AuthApi api = client.buildClient(AuthApi.class);
String response = api.testAuthHttpBearer();
Assertions.assertTrue(response.contains("Authorization: Bearer fixed token"));
}
{
client.setBearerToken(() -> "dynamic token");
AuthApi api = client.buildClient(AuthApi.class);
String response = api.testAuthHttpBearer();
Assertions.assertTrue(response.contains("Authorization: Bearer dynamic token"));
}
}
} }

View File

@ -49,4 +49,20 @@ public class AuthApiTest {
// TODO: test validations // TODO: test validations
} }
/**
* To test HTTP bearer authentication
*
* To test HTTP bearer authentication
*
* @throws ApiException
* if the Api call fails
*/
@Test
public void testAuthHttpBearerTest() throws ApiException {
String response =
api.testAuthHttpBearer();
// TODO: test validations
}
} }

View File

@ -47,6 +47,7 @@ import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -386,14 +387,23 @@ public class ApiClient {
return authentications.get(authName); return authentications.get(authName);
} }
/** /**
* Helper method to set access token for the first Bearer authentication. * Helper method to set access token for the first Bearer authentication.
* @param bearerToken Bearer token * @param bearerToken Bearer token
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
setBearerToken(() -> bearerToken);
}
/**
* Helper method to set the supplier of access tokens for Bearer authentication.
*
* @param tokenSupplier The supplier of bearer tokens
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
for (Authentication auth : authentications.values()) { for (Authentication auth : authentications.values()) {
if (auth instanceof HttpBearerAuth) { if (auth instanceof HttpBearerAuth) {
((HttpBearerAuth) auth).setBearerToken(bearerToken); ((HttpBearerAuth) auth).setBearerToken(tokenSupplier);
return; return;
} }
} }

View File

@ -17,13 +17,15 @@ import org.openapitools.client.ApiException;
import org.openapitools.client.Pair; import org.openapitools.client.Pair;
import java.net.URI; import java.net.URI;
import java.util.Map;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class HttpBearerAuth implements Authentication { public class HttpBearerAuth implements Authentication {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -35,7 +37,7 @@ public class HttpBearerAuth implements Authentication {
* @return The bearer token * @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
@ -44,12 +46,22 @@ public class HttpBearerAuth implements Authentication {
* @param bearerToken The bearer token to send in the Authorization header * @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams,
String payload, String method, URI uri) throws ApiException { String payload, String method, URI uri) throws ApiException {
String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) { if (bearerToken == null) {
return; return;
} }

View File

@ -13,6 +13,8 @@
package org.openapitools.client.api; package org.openapitools.client.api;
import org.junit.Assert;
import org.junit.jupiter.api.Assertions;
import org.openapitools.client.ApiException; import org.openapitools.client.ApiException;
import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
@ -21,11 +23,11 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.openapitools.client.ApiResponse;
/** /**
* API tests for AuthApi * API tests for AuthApi
*/ */
@Disabled
public class AuthApiTest { public class AuthApiTest {
private final AuthApi api = new AuthApi(); private final AuthApi api = new AuthApi();
@ -43,4 +45,23 @@ public class AuthApiTest {
// TODO: test validations // TODO: test validations
} }
/**
* To test HTTP bearer authentication
*
* To test HTTP bearer authentication
*
* @throws ApiException if the Api call fails
*/
@Test
public void testAuthHttpBearerTest() throws ApiException {
String response;
api.getApiClient().setBearerToken("fixed token");
response = api.testAuthHttpBearer();
Assertions.assertTrue(response.contains("Authorization: Bearer fixed token"));
api.getApiClient().setBearerToken(() -> "dynamic token");
response = api.testAuthHttpBearer();
Assertions.assertTrue(response.contains("Authorization: Bearer dynamic token"));
}
} }

View File

@ -156,18 +156,18 @@ public class ApiClient extends JavaTimeFormatter {
} }
/** /**
* Helper method to set token for HTTP bearer authentication. * Helper method to set access token for the first Bearer authentication.
* *
* @param bearerToken the token * @param bearerToken Bearer token
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
setBearerToken(() -> bearerToken); setBearerToken(() -> bearerToken);
} }
/** /**
* Helper method to set the token supplier for HTTP bearer authentication. * Helper method to set the supplier of access tokens for Bearer authentication.
* *
* @param tokenSupplier the token supplier function * @param tokenSupplier The supplier of bearer tokens
*/ */
public void setBearerToken(Supplier<String> tokenSupplier) { public void setBearerToken(Supplier<String> tokenSupplier) {
for (Authentication auth : authentications.values()) { for (Authentication auth : authentications.values()) {

View File

@ -14,14 +14,29 @@ public class HttpBearerAuth implements Authentication {
this.scheme = scheme; this.scheme = scheme;
} }
/**
* Gets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @return The bearer token
*/
public String getBearerToken() { public String getBearerToken() {
return tokenSupplier.get(); return tokenSupplier.get();
} }
/**
* Sets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param bearerToken The bearer token to send in the Authorization header
*/
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.tokenSupplier = () -> bearerToken; this.tokenSupplier = () -> bearerToken;
} }
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) { public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier; this.tokenSupplier = tokenSupplier;
} }

View File

@ -47,6 +47,7 @@ import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;

View File

@ -17,13 +17,15 @@ import org.openapitools.client.ApiException;
import org.openapitools.client.Pair; import org.openapitools.client.Pair;
import java.net.URI; import java.net.URI;
import java.util.Map;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class HttpBearerAuth implements Authentication { public class HttpBearerAuth implements Authentication {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -35,7 +37,7 @@ public class HttpBearerAuth implements Authentication {
* @return The bearer token * @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
@ -44,12 +46,22 @@ public class HttpBearerAuth implements Authentication {
* @param bearerToken The bearer token to send in the Authorization header * @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams,
String payload, String method, URI uri) throws ApiException { String payload, String method, URI uri) throws ApiException {
String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) { if (bearerToken == null) {
return; return;
} }

View File

@ -47,6 +47,7 @@ import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;

View File

@ -17,13 +17,15 @@ import org.openapitools.client.ApiException;
import org.openapitools.client.Pair; import org.openapitools.client.Pair;
import java.net.URI; import java.net.URI;
import java.util.Map;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class HttpBearerAuth implements Authentication { public class HttpBearerAuth implements Authentication {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -35,7 +37,7 @@ public class HttpBearerAuth implements Authentication {
* @return The bearer token * @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
@ -44,12 +46,22 @@ public class HttpBearerAuth implements Authentication {
* @param bearerToken The bearer token to send in the Authorization header * @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams,
String payload, String method, URI uri) throws ApiException { String payload, String method, URI uri) throws ApiException {
String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) { if (bearerToken == null) {
return; return;
} }

View File

@ -14,14 +14,29 @@ public class HttpBearerAuth implements Authentication {
this.scheme = scheme; this.scheme = scheme;
} }
/**
* Gets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @return The bearer token
*/
public String getBearerToken() { public String getBearerToken() {
return tokenSupplier.get(); return tokenSupplier.get();
} }
/**
* Sets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param bearerToken The bearer token to send in the Authorization header
*/
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.tokenSupplier = () -> bearerToken; this.tokenSupplier = () -> bearerToken;
} }
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) { public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier; this.tokenSupplier = tokenSupplier;
} }

View File

@ -55,6 +55,7 @@ import java.util.List;
import java.util.Arrays; import java.util.Arrays;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.function.Supplier;
import java.util.TimeZone; import java.util.TimeZone;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -353,6 +354,20 @@ public class ApiClient extends JavaTimeFormatter {
throw new RuntimeException("No Bearer authentication configured!"); throw new RuntimeException("No Bearer authentication configured!");
} }
/**
* Helper method to set the supplier of access tokens for Bearer authentication.
*
* @param tokenSupplier the token supplier function
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
for (Authentication auth : authentications.values()) {
if (auth instanceof HttpBearerAuth) {
((HttpBearerAuth) auth).setBearerToken(tokenSupplier);
return;
}
}
throw new RuntimeException("No Bearer authentication configured!");
}
/** /**
* Helper method to set username for the first HTTP basic authentication. * Helper method to set username for the first HTTP basic authentication.

View File

@ -15,13 +15,15 @@ package org.openapitools.client.auth;
import org.openapitools.client.Pair; import org.openapitools.client.Pair;
import java.util.Map;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class HttpBearerAuth implements Authentication { public class HttpBearerAuth implements Authentication {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -33,7 +35,7 @@ public class HttpBearerAuth implements Authentication {
* @return The bearer token * @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
@ -42,12 +44,22 @@ public class HttpBearerAuth implements Authentication {
* @param bearerToken The bearer token to send in the Authorization header * @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams) { public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams) {
if(bearerToken == null) { String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) {
return; return;
} }

View File

@ -2,6 +2,7 @@ package org.openapitools.client;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
import java.util.function.Supplier;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
@ -206,6 +207,15 @@ public class ApiClient {
apiAuthorization.setBearerToken(bearerToken); apiAuthorization.setBearerToken(bearerToken);
} }
/**
* Helper method to configure the supplier of bearer tokens.
* @param tokenSupplier the supplier of bearer tokens.
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
HttpBearerAuth apiAuthorization = getAuthorization(HttpBearerAuth.class);
apiAuthorization.setBearerToken(tokenSupplier);
}
/** /**
* Helper method to configure the first api key found * Helper method to configure the first api key found
* @param apiKey API key * @param apiKey API key

View File

@ -2,13 +2,15 @@ package org.openapitools.client.auth;
import feign.RequestInterceptor; import feign.RequestInterceptor;
import feign.RequestTemplate; import feign.RequestTemplate;
import java.util.Optional;
import java.util.function.Supplier;
/** /**
* An interceptor that adds the request header needed to use HTTP bearer authentication. * An interceptor that adds the request header needed to use HTTP bearer authentication.
*/ */
public class HttpBearerAuth implements RequestInterceptor { public class HttpBearerAuth implements RequestInterceptor {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -16,21 +18,35 @@ public class HttpBearerAuth implements RequestInterceptor {
/** /**
* Gets the token, which together with the scheme, will be sent as the value of the Authorization header. * Gets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
* Sets the token, which together with the scheme, will be sent as the value of the Authorization header. * Sets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void apply(RequestTemplate template) { public void apply(RequestTemplate template) {
if(bearerToken == null) { String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) {
return; return;
} }

View File

@ -2,6 +2,7 @@ package org.openapitools.client;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
import java.util.function.Supplier;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
@ -212,6 +213,15 @@ public class ApiClient {
apiAuthorization.setBearerToken(bearerToken); apiAuthorization.setBearerToken(bearerToken);
} }
/**
* Helper method to configure the supplier of bearer tokens.
* @param tokenSupplier the supplier of bearer tokens.
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
HttpBearerAuth apiAuthorization = getAuthorization(HttpBearerAuth.class);
apiAuthorization.setBearerToken(tokenSupplier);
}
/** /**
* Helper method to configure the first api key found * Helper method to configure the first api key found
* @param apiKey API key * @param apiKey API key

View File

@ -2,13 +2,15 @@ package org.openapitools.client.auth;
import feign.RequestInterceptor; import feign.RequestInterceptor;
import feign.RequestTemplate; import feign.RequestTemplate;
import java.util.Optional;
import java.util.function.Supplier;
/** /**
* An interceptor that adds the request header needed to use HTTP bearer authentication. * An interceptor that adds the request header needed to use HTTP bearer authentication.
*/ */
public class HttpBearerAuth implements RequestInterceptor { public class HttpBearerAuth implements RequestInterceptor {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -16,21 +18,35 @@ public class HttpBearerAuth implements RequestInterceptor {
/** /**
* Gets the token, which together with the scheme, will be sent as the value of the Authorization header. * Gets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
* Sets the token, which together with the scheme, will be sent as the value of the Authorization header. * Sets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void apply(RequestTemplate template) { public void apply(RequestTemplate template) {
if(bearerToken == null) { String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) {
return; return;
} }

View File

@ -49,6 +49,7 @@ import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;

View File

@ -17,13 +17,15 @@ import org.openapitools.client.ApiException;
import org.openapitools.client.Pair; import org.openapitools.client.Pair;
import java.net.URI; import java.net.URI;
import java.util.Map;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class HttpBearerAuth implements Authentication { public class HttpBearerAuth implements Authentication {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -35,7 +37,7 @@ public class HttpBearerAuth implements Authentication {
* @return The bearer token * @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
@ -44,12 +46,22 @@ public class HttpBearerAuth implements Authentication {
* @param bearerToken The bearer token to send in the Authorization header * @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams,
String payload, String method, URI uri) throws ApiException { String payload, String method, URI uri) throws ApiException {
String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) { if (bearerToken == null) {
return; return;
} }

View File

@ -49,6 +49,7 @@ import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;

View File

@ -17,13 +17,15 @@ import org.openapitools.client.ApiException;
import org.openapitools.client.Pair; import org.openapitools.client.Pair;
import java.net.URI; import java.net.URI;
import java.util.Map;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class HttpBearerAuth implements Authentication { public class HttpBearerAuth implements Authentication {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -35,7 +37,7 @@ public class HttpBearerAuth implements Authentication {
* @return The bearer token * @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
@ -44,12 +46,22 @@ public class HttpBearerAuth implements Authentication {
* @param bearerToken The bearer token to send in the Authorization header * @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams,
String payload, String method, URI uri) throws ApiException { String payload, String method, URI uri) throws ApiException {
String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) { if (bearerToken == null) {
return; return;
} }

View File

@ -55,6 +55,7 @@ import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;

View File

@ -17,13 +17,15 @@ import org.openapitools.client.ApiException;
import org.openapitools.client.Pair; import org.openapitools.client.Pair;
import java.net.URI; import java.net.URI;
import java.util.Map;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class HttpBearerAuth implements Authentication { public class HttpBearerAuth implements Authentication {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -35,7 +37,7 @@ public class HttpBearerAuth implements Authentication {
* @return The bearer token * @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
@ -44,12 +46,22 @@ public class HttpBearerAuth implements Authentication {
* @param bearerToken The bearer token to send in the Authorization header * @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams,
String payload, String method, URI uri) throws ApiException { String payload, String method, URI uri) throws ApiException {
String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) { if (bearerToken == null) {
return; return;
} }

View File

@ -49,6 +49,7 @@ import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;

View File

@ -17,13 +17,15 @@ import org.openapitools.client.ApiException;
import org.openapitools.client.Pair; import org.openapitools.client.Pair;
import java.net.URI; import java.net.URI;
import java.util.Map;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class HttpBearerAuth implements Authentication { public class HttpBearerAuth implements Authentication {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -35,7 +37,7 @@ public class HttpBearerAuth implements Authentication {
* @return The bearer token * @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
@ -44,12 +46,22 @@ public class HttpBearerAuth implements Authentication {
* @param bearerToken The bearer token to send in the Authorization header * @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams,
String payload, String method, URI uri) throws ApiException { String payload, String method, URI uri) throws ApiException {
String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) { if (bearerToken == null) {
return; return;
} }

View File

@ -49,6 +49,7 @@ import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;

View File

@ -17,13 +17,15 @@ import org.openapitools.client.ApiException;
import org.openapitools.client.Pair; import org.openapitools.client.Pair;
import java.net.URI; import java.net.URI;
import java.util.Map;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class HttpBearerAuth implements Authentication { public class HttpBearerAuth implements Authentication {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -35,7 +37,7 @@ public class HttpBearerAuth implements Authentication {
* @return The bearer token * @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
@ -44,12 +46,22 @@ public class HttpBearerAuth implements Authentication {
* @param bearerToken The bearer token to send in the Authorization header * @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams,
String payload, String method, URI uri) throws ApiException { String payload, String method, URI uri) throws ApiException {
String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) { if (bearerToken == null) {
return; return;
} }

View File

@ -49,6 +49,7 @@ import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;

View File

@ -17,13 +17,15 @@ import org.openapitools.client.ApiException;
import org.openapitools.client.Pair; import org.openapitools.client.Pair;
import java.net.URI; import java.net.URI;
import java.util.Map;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class HttpBearerAuth implements Authentication { public class HttpBearerAuth implements Authentication {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -35,7 +37,7 @@ public class HttpBearerAuth implements Authentication {
* @return The bearer token * @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
@ -44,12 +46,22 @@ public class HttpBearerAuth implements Authentication {
* @param bearerToken The bearer token to send in the Authorization header * @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams,
String payload, String method, URI uri) throws ApiException { String payload, String method, URI uri) throws ApiException {
String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) { if (bearerToken == null) {
return; return;
} }

View File

@ -49,6 +49,7 @@ import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;

View File

@ -17,13 +17,15 @@ import org.openapitools.client.ApiException;
import org.openapitools.client.Pair; import org.openapitools.client.Pair;
import java.net.URI; import java.net.URI;
import java.util.Map;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class HttpBearerAuth implements Authentication { public class HttpBearerAuth implements Authentication {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -35,7 +37,7 @@ public class HttpBearerAuth implements Authentication {
* @return The bearer token * @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
@ -44,12 +46,22 @@ public class HttpBearerAuth implements Authentication {
* @param bearerToken The bearer token to send in the Authorization header * @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams,
String payload, String method, URI uri) throws ApiException { String payload, String method, URI uri) throws ApiException {
String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) { if (bearerToken == null) {
return; return;
} }

View File

@ -49,6 +49,7 @@ import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;

View File

@ -17,13 +17,15 @@ import org.openapitools.client.ApiException;
import org.openapitools.client.Pair; import org.openapitools.client.Pair;
import java.net.URI; import java.net.URI;
import java.util.Map;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class HttpBearerAuth implements Authentication { public class HttpBearerAuth implements Authentication {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -35,7 +37,7 @@ public class HttpBearerAuth implements Authentication {
* @return The bearer token * @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
@ -44,12 +46,22 @@ public class HttpBearerAuth implements Authentication {
* @param bearerToken The bearer token to send in the Authorization header * @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams,
String payload, String method, URI uri) throws ApiException { String payload, String method, URI uri) throws ApiException {
String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) { if (bearerToken == null) {
return; return;
} }

View File

@ -49,6 +49,7 @@ import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -510,14 +511,23 @@ public class ApiClient {
return authentications.get(authName); return authentications.get(authName);
} }
/** /**
* Helper method to set access token for the first Bearer authentication. * Helper method to set access token for the first Bearer authentication.
* @param bearerToken Bearer token * @param bearerToken Bearer token
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
setBearerToken(() -> bearerToken);
}
/**
* Helper method to set the supplier of access tokens for Bearer authentication.
*
* @param tokenSupplier The supplier of bearer tokens
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
for (Authentication auth : authentications.values()) { for (Authentication auth : authentications.values()) {
if (auth instanceof HttpBearerAuth) { if (auth instanceof HttpBearerAuth) {
((HttpBearerAuth) auth).setBearerToken(bearerToken); ((HttpBearerAuth) auth).setBearerToken(tokenSupplier);
return; return;
} }
} }

View File

@ -17,13 +17,15 @@ import org.openapitools.client.ApiException;
import org.openapitools.client.Pair; import org.openapitools.client.Pair;
import java.net.URI; import java.net.URI;
import java.util.Map;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class HttpBearerAuth implements Authentication { public class HttpBearerAuth implements Authentication {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -35,7 +37,7 @@ public class HttpBearerAuth implements Authentication {
* @return The bearer token * @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
@ -44,12 +46,22 @@ public class HttpBearerAuth implements Authentication {
* @param bearerToken The bearer token to send in the Authorization header * @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams,
String payload, String method, URI uri) throws ApiException { String payload, String method, URI uri) throws ApiException {
String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) { if (bearerToken == null) {
return; return;
} }

View File

@ -15,13 +15,15 @@ package org.openapitools.client.auth;
import org.openapitools.client.Pair; import org.openapitools.client.Pair;
import java.util.Map;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class HttpBearerAuth implements Authentication { public class HttpBearerAuth implements Authentication {
private final String scheme; private final String scheme;
private String bearerToken; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = scheme; this.scheme = scheme;
@ -33,7 +35,7 @@ public class HttpBearerAuth implements Authentication {
* @return The bearer token * @return The bearer token
*/ */
public String getBearerToken() { public String getBearerToken() {
return bearerToken; return tokenSupplier.get();
} }
/** /**
@ -42,12 +44,22 @@ public class HttpBearerAuth implements Authentication {
* @param bearerToken The bearer token to send in the Authorization header * @param bearerToken The bearer token to send in the Authorization header
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken; this.tokenSupplier = () -> bearerToken;
}
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier;
} }
@Override @Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams) { public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams) {
if(bearerToken == null) { String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) {
return; return;
} }

View File

@ -14,14 +14,29 @@ public class HttpBearerAuth implements Authentication {
this.scheme = scheme; this.scheme = scheme;
} }
/**
* Gets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @return The bearer token
*/
public String getBearerToken() { public String getBearerToken() {
return tokenSupplier.get(); return tokenSupplier.get();
} }
/**
* Sets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param bearerToken The bearer token to send in the Authorization header
*/
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.tokenSupplier = () -> bearerToken; this.tokenSupplier = () -> bearerToken;
} }
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) { public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier; this.tokenSupplier = tokenSupplier;
} }

View File

@ -14,14 +14,29 @@ public class HttpBearerAuth implements Authentication {
this.scheme = scheme; this.scheme = scheme;
} }
/**
* Gets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @return The bearer token
*/
public String getBearerToken() { public String getBearerToken() {
return tokenSupplier.get(); return tokenSupplier.get();
} }
/**
* Sets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param bearerToken The bearer token to send in the Authorization header
*/
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.tokenSupplier = () -> bearerToken; this.tokenSupplier = () -> bearerToken;
} }
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) { public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier; this.tokenSupplier = tokenSupplier;
} }

View File

@ -14,14 +14,29 @@ public class HttpBearerAuth implements Authentication {
this.scheme = scheme; this.scheme = scheme;
} }
/**
* Gets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @return The bearer token
*/
public String getBearerToken() { public String getBearerToken() {
return tokenSupplier.get(); return tokenSupplier.get();
} }
/**
* Sets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param bearerToken The bearer token to send in the Authorization header
*/
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.tokenSupplier = () -> bearerToken; this.tokenSupplier = () -> bearerToken;
} }
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) { public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier; this.tokenSupplier = tokenSupplier;
} }

View File

@ -166,18 +166,18 @@ public class ApiClient extends JavaTimeFormatter {
} }
/** /**
* Helper method to set token for HTTP bearer authentication. * Helper method to set access token for the first Bearer authentication.
* *
* @param bearerToken the token * @param bearerToken Bearer token
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
setBearerToken(() -> bearerToken); setBearerToken(() -> bearerToken);
} }
/** /**
* Helper method to set the token supplier for HTTP bearer authentication. * Helper method to set the supplier of access tokens for Bearer authentication.
* *
* @param tokenSupplier the token supplier function * @param tokenSupplier The supplier of bearer tokens
*/ */
public void setBearerToken(Supplier<String> tokenSupplier) { public void setBearerToken(Supplier<String> tokenSupplier) {
for (Authentication auth : authentications.values()) { for (Authentication auth : authentications.values()) {

View File

@ -14,14 +14,29 @@ public class HttpBearerAuth implements Authentication {
this.scheme = scheme; this.scheme = scheme;
} }
/**
* Gets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @return The bearer token
*/
public String getBearerToken() { public String getBearerToken() {
return tokenSupplier.get(); return tokenSupplier.get();
} }
/**
* Sets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param bearerToken The bearer token to send in the Authorization header
*/
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.tokenSupplier = () -> bearerToken; this.tokenSupplier = () -> bearerToken;
} }
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) { public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier; this.tokenSupplier = tokenSupplier;
} }

View File

@ -161,18 +161,18 @@ public class ApiClient extends JavaTimeFormatter {
} }
/** /**
* Helper method to set token for HTTP bearer authentication. * Helper method to set access token for the first Bearer authentication.
* *
* @param bearerToken the token * @param bearerToken Bearer token
*/ */
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
setBearerToken(() -> bearerToken); setBearerToken(() -> bearerToken);
} }
/** /**
* Helper method to set the token supplier for HTTP bearer authentication. * Helper method to set the supplier of access tokens for Bearer authentication.
* *
* @param tokenSupplier the token supplier function * @param tokenSupplier The supplier of bearer tokens
*/ */
public void setBearerToken(Supplier<String> tokenSupplier) { public void setBearerToken(Supplier<String> tokenSupplier) {
for (Authentication auth : authentications.values()) { for (Authentication auth : authentications.values()) {

View File

@ -14,14 +14,29 @@ public class HttpBearerAuth implements Authentication {
this.scheme = scheme; this.scheme = scheme;
} }
/**
* Gets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @return The bearer token
*/
public String getBearerToken() { public String getBearerToken() {
return tokenSupplier.get(); return tokenSupplier.get();
} }
/**
* Sets the token, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param bearerToken The bearer token to send in the Authorization header
*/
public void setBearerToken(String bearerToken) { public void setBearerToken(String bearerToken) {
this.tokenSupplier = () -> bearerToken; this.tokenSupplier = () -> bearerToken;
} }
/**
* Sets the supplier of tokens, which together with the scheme, will be sent as the value of the Authorization header.
*
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
*/
public void setBearerToken(Supplier<String> tokenSupplier) { public void setBearerToken(Supplier<String> tokenSupplier) {
this.tokenSupplier = tokenSupplier; this.tokenSupplier = tokenSupplier;
} }