forked from loafle/openapi-generator-original
This commit is contained in:
parent
c0be6ba9df
commit
0368f4e031
@ -331,9 +331,18 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
|
|||||||
* @param accessToken Access token
|
* @param accessToken Access token
|
||||||
*/
|
*/
|
||||||
public void setAccessToken(String accessToken) {
|
public void setAccessToken(String accessToken) {
|
||||||
|
setAccessToken(() -> accessToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper method to set the supplier of access tokens for OAuth2 authentication.
|
||||||
|
*
|
||||||
|
* @param tokenSupplier The supplier of bearer tokens
|
||||||
|
*/
|
||||||
|
public void setAccessToken(Supplier<String> tokenSupplier) {
|
||||||
for (Authentication auth : authentications.values()) {
|
for (Authentication auth : authentications.values()) {
|
||||||
if (auth instanceof OAuth) {
|
if (auth instanceof OAuth) {
|
||||||
((OAuth) auth).setAccessToken(accessToken);
|
((OAuth) auth).setAccessToken(tokenSupplier);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,48 @@
|
|||||||
package {{invokerPackage}}.auth;
|
package {{invokerPackage}}.auth;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.function.Supplier;
|
||||||
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpHeaders;
|
||||||
import org.springframework.util.MultiValueMap;
|
import org.springframework.util.MultiValueMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides support for RFC 6750 - Bearer Token usage for OAUTH 2.0 Authorization.
|
||||||
|
*/
|
||||||
{{>generatedAnnotation}}
|
{{>generatedAnnotation}}
|
||||||
public class OAuth implements Authentication {
|
public class OAuth implements Authentication {
|
||||||
private String accessToken;
|
private Supplier<String> tokenSupplier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the bearer token used for Authorization.
|
||||||
|
*
|
||||||
|
* @return The bearer token
|
||||||
|
*/
|
||||||
public String getAccessToken() {
|
public String getAccessToken() {
|
||||||
return accessToken;
|
return tokenSupplier.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the bearer access token used for Authorization.
|
||||||
|
*
|
||||||
|
* @param bearerToken The bearer token to send in the Authorization header
|
||||||
|
*/
|
||||||
public void setAccessToken(String accessToken) {
|
public void setAccessToken(String accessToken) {
|
||||||
this.accessToken = accessToken;
|
setAccessToken(() -> accessToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the supplier of bearer tokens used for Authorization.
|
||||||
|
*
|
||||||
|
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
|
||||||
|
*/
|
||||||
|
public void setAccessToken(Supplier<String> tokenSupplier) {
|
||||||
|
this.tokenSupplier = tokenSupplier;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void applyToParams(MultiValueMap<String, String> queryParams, HttpHeaders headerParams, MultiValueMap<String, String> cookieParams) {
|
public void applyToParams(MultiValueMap<String, String> queryParams, HttpHeaders headerParams, MultiValueMap<String, String> cookieParams) {
|
||||||
if (accessToken != null) {
|
Optional.ofNullable(tokenSupplier).map(Supplier::get).ifPresent(accessToken ->
|
||||||
headerParams.add(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken);
|
headerParams.add(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken)
|
||||||
}
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2889,4 +2889,38 @@ public class JavaClientCodegenTest {
|
|||||||
.containsWithNameAndAttributes("XmlElement", Map.of("name", "\"item\""))
|
.containsWithNameAndAttributes("XmlElement", Map.of("name", "\"item\""))
|
||||||
.containsWithNameAndAttributes("XmlElementWrapper", Map.of("name", "\"activities-array\""));
|
.containsWithNameAndAttributes("XmlElementWrapper", Map.of("name", "\"activities-array\""));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void shouldGenerateOAuthTokenSuppliers() {
|
||||||
|
|
||||||
|
final Map<String, File> files = generateFromContract(
|
||||||
|
"src/test/resources/3_0/java/oauth.yaml",
|
||||||
|
JavaClientCodegen.RESTTEMPLATE
|
||||||
|
);
|
||||||
|
|
||||||
|
final JavaFileAssert apiClient = JavaFileAssert.assertThat(files.get("ApiClient.java"))
|
||||||
|
.printFileContent();
|
||||||
|
apiClient
|
||||||
|
.assertMethod("setAccessToken", "String")
|
||||||
|
.bodyContainsLines("setAccessToken(() -> accessToken);");
|
||||||
|
apiClient
|
||||||
|
.assertMethod("setAccessToken", "Supplier<String>")
|
||||||
|
.bodyContainsLines("((OAuth) auth).setAccessToken(tokenSupplier);");
|
||||||
|
|
||||||
|
final JavaFileAssert oAuth = JavaFileAssert.assertThat(files.get("OAuth.java"))
|
||||||
|
.printFileContent();
|
||||||
|
oAuth
|
||||||
|
.assertMethod("setAccessToken", "String")
|
||||||
|
.bodyContainsLines("setAccessToken(() -> accessToken);");
|
||||||
|
oAuth
|
||||||
|
.assertMethod("setAccessToken", "Supplier<String>")
|
||||||
|
.bodyContainsLines("this.tokenSupplier = tokenSupplier;");
|
||||||
|
oAuth
|
||||||
|
.assertMethod("applyToParams")
|
||||||
|
.bodyContainsLines("Optional.ofNullable(tokenSupplier).map(Supplier::get).ifPresent(accessToken ->")
|
||||||
|
.bodyContainsLines("headerParams.add(HttpHeaders.AUTHORIZATION, \"Bearer \" + accessToken)");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
openapi: 3.0.3
|
||||||
|
|
||||||
|
info:
|
||||||
|
title: Test OAuth code generation
|
||||||
|
description: Tests OAuth code generation
|
||||||
|
version: 1.0.0
|
||||||
|
|
||||||
|
servers:
|
||||||
|
- url: http://localhost:8080
|
||||||
|
|
||||||
|
paths:
|
||||||
|
/api/something:
|
||||||
|
get:
|
||||||
|
responses:
|
||||||
|
204:
|
||||||
|
description: Success!
|
||||||
|
|
||||||
|
components:
|
||||||
|
securitySchemes:
|
||||||
|
oAuth:
|
||||||
|
type: oauth2
|
||||||
|
flows:
|
||||||
|
implicit:
|
||||||
|
authorizationUrl: ''
|
||||||
|
scopes: {}
|
||||||
|
|
||||||
|
security:
|
||||||
|
- oAuth: []
|
@ -240,9 +240,18 @@ public class ApiClient extends JavaTimeFormatter {
|
|||||||
* @param accessToken Access token
|
* @param accessToken Access token
|
||||||
*/
|
*/
|
||||||
public void setAccessToken(String accessToken) {
|
public void setAccessToken(String accessToken) {
|
||||||
|
setAccessToken(() -> accessToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper method to set the supplier of access tokens for OAuth2 authentication.
|
||||||
|
*
|
||||||
|
* @param tokenSupplier The supplier of bearer tokens
|
||||||
|
*/
|
||||||
|
public void setAccessToken(Supplier<String> tokenSupplier) {
|
||||||
for (Authentication auth : authentications.values()) {
|
for (Authentication auth : authentications.values()) {
|
||||||
if (auth instanceof OAuth) {
|
if (auth instanceof OAuth) {
|
||||||
((OAuth) auth).setAccessToken(accessToken);
|
((OAuth) auth).setAccessToken(tokenSupplier);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,48 @@
|
|||||||
package org.openapitools.client.auth;
|
package org.openapitools.client.auth;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.function.Supplier;
|
||||||
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpHeaders;
|
||||||
import org.springframework.util.MultiValueMap;
|
import org.springframework.util.MultiValueMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides support for RFC 6750 - Bearer Token usage for OAUTH 2.0 Authorization.
|
||||||
|
*/
|
||||||
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.7.0-SNAPSHOT")
|
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.7.0-SNAPSHOT")
|
||||||
public class OAuth implements Authentication {
|
public class OAuth implements Authentication {
|
||||||
private String accessToken;
|
private Supplier<String> tokenSupplier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the bearer token used for Authorization.
|
||||||
|
*
|
||||||
|
* @return The bearer token
|
||||||
|
*/
|
||||||
public String getAccessToken() {
|
public String getAccessToken() {
|
||||||
return accessToken;
|
return tokenSupplier.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the bearer access token used for Authorization.
|
||||||
|
*
|
||||||
|
* @param bearerToken The bearer token to send in the Authorization header
|
||||||
|
*/
|
||||||
public void setAccessToken(String accessToken) {
|
public void setAccessToken(String accessToken) {
|
||||||
this.accessToken = accessToken;
|
setAccessToken(() -> accessToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the supplier of bearer tokens used for Authorization.
|
||||||
|
*
|
||||||
|
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
|
||||||
|
*/
|
||||||
|
public void setAccessToken(Supplier<String> tokenSupplier) {
|
||||||
|
this.tokenSupplier = tokenSupplier;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void applyToParams(MultiValueMap<String, String> queryParams, HttpHeaders headerParams, MultiValueMap<String, String> cookieParams) {
|
public void applyToParams(MultiValueMap<String, String> queryParams, HttpHeaders headerParams, MultiValueMap<String, String> cookieParams) {
|
||||||
if (accessToken != null) {
|
Optional.ofNullable(tokenSupplier).map(Supplier::get).ifPresent(accessToken ->
|
||||||
headerParams.add(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken);
|
headerParams.add(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken)
|
||||||
}
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -240,9 +240,18 @@ public class ApiClient extends JavaTimeFormatter {
|
|||||||
* @param accessToken Access token
|
* @param accessToken Access token
|
||||||
*/
|
*/
|
||||||
public void setAccessToken(String accessToken) {
|
public void setAccessToken(String accessToken) {
|
||||||
|
setAccessToken(() -> accessToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper method to set the supplier of access tokens for OAuth2 authentication.
|
||||||
|
*
|
||||||
|
* @param tokenSupplier The supplier of bearer tokens
|
||||||
|
*/
|
||||||
|
public void setAccessToken(Supplier<String> tokenSupplier) {
|
||||||
for (Authentication auth : authentications.values()) {
|
for (Authentication auth : authentications.values()) {
|
||||||
if (auth instanceof OAuth) {
|
if (auth instanceof OAuth) {
|
||||||
((OAuth) auth).setAccessToken(accessToken);
|
((OAuth) auth).setAccessToken(tokenSupplier);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,48 @@
|
|||||||
package org.openapitools.client.auth;
|
package org.openapitools.client.auth;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.function.Supplier;
|
||||||
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpHeaders;
|
||||||
import org.springframework.util.MultiValueMap;
|
import org.springframework.util.MultiValueMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides support for RFC 6750 - Bearer Token usage for OAUTH 2.0 Authorization.
|
||||||
|
*/
|
||||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.7.0-SNAPSHOT")
|
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.7.0-SNAPSHOT")
|
||||||
public class OAuth implements Authentication {
|
public class OAuth implements Authentication {
|
||||||
private String accessToken;
|
private Supplier<String> tokenSupplier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the bearer token used for Authorization.
|
||||||
|
*
|
||||||
|
* @return The bearer token
|
||||||
|
*/
|
||||||
public String getAccessToken() {
|
public String getAccessToken() {
|
||||||
return accessToken;
|
return tokenSupplier.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the bearer access token used for Authorization.
|
||||||
|
*
|
||||||
|
* @param bearerToken The bearer token to send in the Authorization header
|
||||||
|
*/
|
||||||
public void setAccessToken(String accessToken) {
|
public void setAccessToken(String accessToken) {
|
||||||
this.accessToken = accessToken;
|
setAccessToken(() -> accessToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the supplier of bearer tokens used for Authorization.
|
||||||
|
*
|
||||||
|
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
|
||||||
|
*/
|
||||||
|
public void setAccessToken(Supplier<String> tokenSupplier) {
|
||||||
|
this.tokenSupplier = tokenSupplier;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void applyToParams(MultiValueMap<String, String> queryParams, HttpHeaders headerParams, MultiValueMap<String, String> cookieParams) {
|
public void applyToParams(MultiValueMap<String, String> queryParams, HttpHeaders headerParams, MultiValueMap<String, String> cookieParams) {
|
||||||
if (accessToken != null) {
|
Optional.ofNullable(tokenSupplier).map(Supplier::get).ifPresent(accessToken ->
|
||||||
headerParams.add(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken);
|
headerParams.add(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken)
|
||||||
}
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -240,9 +240,18 @@ public class ApiClient extends JavaTimeFormatter {
|
|||||||
* @param accessToken Access token
|
* @param accessToken Access token
|
||||||
*/
|
*/
|
||||||
public void setAccessToken(String accessToken) {
|
public void setAccessToken(String accessToken) {
|
||||||
|
setAccessToken(() -> accessToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper method to set the supplier of access tokens for OAuth2 authentication.
|
||||||
|
*
|
||||||
|
* @param tokenSupplier The supplier of bearer tokens
|
||||||
|
*/
|
||||||
|
public void setAccessToken(Supplier<String> tokenSupplier) {
|
||||||
for (Authentication auth : authentications.values()) {
|
for (Authentication auth : authentications.values()) {
|
||||||
if (auth instanceof OAuth) {
|
if (auth instanceof OAuth) {
|
||||||
((OAuth) auth).setAccessToken(accessToken);
|
((OAuth) auth).setAccessToken(tokenSupplier);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,48 @@
|
|||||||
package org.openapitools.client.auth;
|
package org.openapitools.client.auth;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.function.Supplier;
|
||||||
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpHeaders;
|
||||||
import org.springframework.util.MultiValueMap;
|
import org.springframework.util.MultiValueMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides support for RFC 6750 - Bearer Token usage for OAUTH 2.0 Authorization.
|
||||||
|
*/
|
||||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.7.0-SNAPSHOT")
|
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.7.0-SNAPSHOT")
|
||||||
public class OAuth implements Authentication {
|
public class OAuth implements Authentication {
|
||||||
private String accessToken;
|
private Supplier<String> tokenSupplier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the bearer token used for Authorization.
|
||||||
|
*
|
||||||
|
* @return The bearer token
|
||||||
|
*/
|
||||||
public String getAccessToken() {
|
public String getAccessToken() {
|
||||||
return accessToken;
|
return tokenSupplier.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the bearer access token used for Authorization.
|
||||||
|
*
|
||||||
|
* @param bearerToken The bearer token to send in the Authorization header
|
||||||
|
*/
|
||||||
public void setAccessToken(String accessToken) {
|
public void setAccessToken(String accessToken) {
|
||||||
this.accessToken = accessToken;
|
setAccessToken(() -> accessToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the supplier of bearer tokens used for Authorization.
|
||||||
|
*
|
||||||
|
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
|
||||||
|
*/
|
||||||
|
public void setAccessToken(Supplier<String> tokenSupplier) {
|
||||||
|
this.tokenSupplier = tokenSupplier;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void applyToParams(MultiValueMap<String, String> queryParams, HttpHeaders headerParams, MultiValueMap<String, String> cookieParams) {
|
public void applyToParams(MultiValueMap<String, String> queryParams, HttpHeaders headerParams, MultiValueMap<String, String> cookieParams) {
|
||||||
if (accessToken != null) {
|
Optional.ofNullable(tokenSupplier).map(Supplier::get).ifPresent(accessToken ->
|
||||||
headerParams.add(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken);
|
headerParams.add(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken)
|
||||||
}
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -303,9 +303,18 @@ public class ApiClient extends JavaTimeFormatter {
|
|||||||
* @param accessToken Access token
|
* @param accessToken Access token
|
||||||
*/
|
*/
|
||||||
public void setAccessToken(String accessToken) {
|
public void setAccessToken(String accessToken) {
|
||||||
|
setAccessToken(() -> accessToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper method to set the supplier of access tokens for OAuth2 authentication.
|
||||||
|
*
|
||||||
|
* @param tokenSupplier The supplier of bearer tokens
|
||||||
|
*/
|
||||||
|
public void setAccessToken(Supplier<String> tokenSupplier) {
|
||||||
for (Authentication auth : authentications.values()) {
|
for (Authentication auth : authentications.values()) {
|
||||||
if (auth instanceof OAuth) {
|
if (auth instanceof OAuth) {
|
||||||
((OAuth) auth).setAccessToken(accessToken);
|
((OAuth) auth).setAccessToken(tokenSupplier);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,48 @@
|
|||||||
package org.openapitools.client.auth;
|
package org.openapitools.client.auth;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.function.Supplier;
|
||||||
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpHeaders;
|
||||||
import org.springframework.util.MultiValueMap;
|
import org.springframework.util.MultiValueMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides support for RFC 6750 - Bearer Token usage for OAUTH 2.0 Authorization.
|
||||||
|
*/
|
||||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.7.0-SNAPSHOT")
|
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.7.0-SNAPSHOT")
|
||||||
public class OAuth implements Authentication {
|
public class OAuth implements Authentication {
|
||||||
private String accessToken;
|
private Supplier<String> tokenSupplier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the bearer token used for Authorization.
|
||||||
|
*
|
||||||
|
* @return The bearer token
|
||||||
|
*/
|
||||||
public String getAccessToken() {
|
public String getAccessToken() {
|
||||||
return accessToken;
|
return tokenSupplier.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the bearer access token used for Authorization.
|
||||||
|
*
|
||||||
|
* @param bearerToken The bearer token to send in the Authorization header
|
||||||
|
*/
|
||||||
public void setAccessToken(String accessToken) {
|
public void setAccessToken(String accessToken) {
|
||||||
this.accessToken = accessToken;
|
setAccessToken(() -> accessToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the supplier of bearer tokens used for Authorization.
|
||||||
|
*
|
||||||
|
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
|
||||||
|
*/
|
||||||
|
public void setAccessToken(Supplier<String> tokenSupplier) {
|
||||||
|
this.tokenSupplier = tokenSupplier;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void applyToParams(MultiValueMap<String, String> queryParams, HttpHeaders headerParams, MultiValueMap<String, String> cookieParams) {
|
public void applyToParams(MultiValueMap<String, String> queryParams, HttpHeaders headerParams, MultiValueMap<String, String> cookieParams) {
|
||||||
if (accessToken != null) {
|
Optional.ofNullable(tokenSupplier).map(Supplier::get).ifPresent(accessToken ->
|
||||||
headerParams.add(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken);
|
headerParams.add(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken)
|
||||||
}
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -298,9 +298,18 @@ public class ApiClient extends JavaTimeFormatter {
|
|||||||
* @param accessToken Access token
|
* @param accessToken Access token
|
||||||
*/
|
*/
|
||||||
public void setAccessToken(String accessToken) {
|
public void setAccessToken(String accessToken) {
|
||||||
|
setAccessToken(() -> accessToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper method to set the supplier of access tokens for OAuth2 authentication.
|
||||||
|
*
|
||||||
|
* @param tokenSupplier The supplier of bearer tokens
|
||||||
|
*/
|
||||||
|
public void setAccessToken(Supplier<String> tokenSupplier) {
|
||||||
for (Authentication auth : authentications.values()) {
|
for (Authentication auth : authentications.values()) {
|
||||||
if (auth instanceof OAuth) {
|
if (auth instanceof OAuth) {
|
||||||
((OAuth) auth).setAccessToken(accessToken);
|
((OAuth) auth).setAccessToken(tokenSupplier);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,48 @@
|
|||||||
package org.openapitools.client.auth;
|
package org.openapitools.client.auth;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.function.Supplier;
|
||||||
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpHeaders;
|
||||||
import org.springframework.util.MultiValueMap;
|
import org.springframework.util.MultiValueMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides support for RFC 6750 - Bearer Token usage for OAUTH 2.0 Authorization.
|
||||||
|
*/
|
||||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.7.0-SNAPSHOT")
|
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.7.0-SNAPSHOT")
|
||||||
public class OAuth implements Authentication {
|
public class OAuth implements Authentication {
|
||||||
private String accessToken;
|
private Supplier<String> tokenSupplier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the bearer token used for Authorization.
|
||||||
|
*
|
||||||
|
* @return The bearer token
|
||||||
|
*/
|
||||||
public String getAccessToken() {
|
public String getAccessToken() {
|
||||||
return accessToken;
|
return tokenSupplier.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the bearer access token used for Authorization.
|
||||||
|
*
|
||||||
|
* @param bearerToken The bearer token to send in the Authorization header
|
||||||
|
*/
|
||||||
public void setAccessToken(String accessToken) {
|
public void setAccessToken(String accessToken) {
|
||||||
this.accessToken = accessToken;
|
setAccessToken(() -> accessToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the supplier of bearer tokens used for Authorization.
|
||||||
|
*
|
||||||
|
* @param tokenSupplier The supplier of bearer tokens to send in the Authorization header
|
||||||
|
*/
|
||||||
|
public void setAccessToken(Supplier<String> tokenSupplier) {
|
||||||
|
this.tokenSupplier = tokenSupplier;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void applyToParams(MultiValueMap<String, String> queryParams, HttpHeaders headerParams, MultiValueMap<String, String> cookieParams) {
|
public void applyToParams(MultiValueMap<String, String> queryParams, HttpHeaders headerParams, MultiValueMap<String, String> cookieParams) {
|
||||||
if (accessToken != null) {
|
Optional.ofNullable(tokenSupplier).map(Supplier::get).ifPresent(accessToken ->
|
||||||
headerParams.add(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken);
|
headerParams.add(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken)
|
||||||
}
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user