diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index a730c8a..7bb8c51 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -45,7 +45,7 @@ jobs:
${{ runner.os }}-maven-
- name: Build with Maven
run: mvn -B package --file pom.xml -Dmaven.test.skip
- - name: Run integration tests with Maven
+ - name: Run integration tests with API token auth
if: ${{ github.repository_owner == 'onfido' &&
(github.event_name == 'pull_request' ||
github.event_name == 'release' ||
@@ -58,6 +58,20 @@ jobs:
ONFIDO_SAMPLE_VIDEO_ID_2: ${{ secrets.ONFIDO_SAMPLE_VIDEO_ID_2 }}
ONFIDO_SAMPLE_MOTION_ID_1: ${{ secrets.ONFIDO_SAMPLE_MOTION_ID_1 }}
ONFIDO_SAMPLE_MOTION_ID_2: ${{ secrets.ONFIDO_SAMPLE_MOTION_ID_2 }}
+ - name: Run integration tests with OAuth client credentials auth
+ if: ${{ github.repository_owner == 'onfido' &&
+ (github.event_name == 'pull_request' ||
+ github.event_name == 'release' ||
+ github.event_name == 'workflow_dispatch') }}
+ run: mvn test
+ env:
+ ONFIDO_OAUTH_CLIENT_ID: ${{ secrets.ONFIDO_OAUTH_CLIENT_ID }}
+ ONFIDO_OAUTH_CLIENT_SECRET: ${{ secrets.ONFIDO_OAUTH_CLIENT_SECRET }}
+ ONFIDO_SAMPLE_APPLICANT_ID: ${{ secrets.ONFIDO_SAMPLE_APPLICANT_ID }}
+ ONFIDO_SAMPLE_VIDEO_ID_1: ${{ secrets.ONFIDO_SAMPLE_VIDEO_ID_1 }}
+ ONFIDO_SAMPLE_VIDEO_ID_2: ${{ secrets.ONFIDO_SAMPLE_VIDEO_ID_2 }}
+ ONFIDO_SAMPLE_MOTION_ID_1: ${{ secrets.ONFIDO_SAMPLE_MOTION_ID_1 }}
+ ONFIDO_SAMPLE_MOTION_ID_2: ${{ secrets.ONFIDO_SAMPLE_MOTION_ID_2 }}
publish:
runs-on: ubuntu-latest
diff --git a/.release.json b/.release.json
index 682918b..441055b 100644
--- a/.release.json
+++ b/.release.json
@@ -1,9 +1,9 @@
{
"source": {
"repo_url": "https://github.com/onfido/onfido-openapi-spec",
- "short_sha": "6a19890",
- "long_sha": "6a198909828b3935c65b669e44cf2927e84957c0",
- "version": "v6.0.1"
+ "short_sha": "6a36202",
+ "long_sha": "6a362029f0a58437e8be7185303ef14d3f342feb",
+ "version": "v6.1.0"
},
- "release": "v7.1.0"
+ "release": "v7.2.0"
}
diff --git a/README.md b/README.md
index a803a54..7b1bd08 100644
--- a/README.md
+++ b/README.md
@@ -50,7 +50,7 @@ Add this dependency to your project's POM:
com.onfido
onfido-api-java
- 7.1.0
+ 7.2.0
compile
```
@@ -66,7 +66,7 @@ Add this dependency to your project's build file:
}
dependencies {
- implementation "com.onfido:onfido-api-java:7.1.0"
+ implementation "com.onfido:onfido-api-java:7.2.0"
}
```
@@ -80,10 +80,10 @@ mvn clean package
Then manually install the following JARs:
-- `target/onfido-api-java-7.1.0.jar`
+- `target/onfido-api-java-7.2.0.jar`
- `target/lib/*.jar`
-The latest version can be found at .
+The latest version can be found at .
## Getting Started
@@ -109,6 +109,20 @@ DefaultApi onfido = new DefaultApi(Configuration.getDefaultApiClient()
.setProxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(host, port)))); // Optionally define a connection proxy with the specified host and port
```
+You can also authenticate using OAuth2 client credentials instead of an API token:
+
+```java
+DefaultApi onfido = new DefaultApi(Configuration.getDefaultApiClient()
+ .setOAuthCredentials(System.getenv("ONFIDO_OAUTH_CLIENT_ID"),
+ System.getenv("ONFIDO_OAUTH_CLIENT_SECRET"))
+ .setRegion(Region.EU) // Supports `EU`, `US` and `CA`
+ .setConnectTimeout(60_000)
+ .setReadTimeout(60_000))
+ .setProxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(host, port)))); // Optionally define a connection proxy with the specified host and port
+```
+
+The client will automatically exchange credentials for an access token and refresh it when it expires.
+
NB: By default, the connection and read timeout values are set to 30 seconds. You can adjust these values as shown in the configuration section.
### Making a call to the API
diff --git a/build.gradle b/build.gradle
index c807017..25435d6 100644
--- a/build.gradle
+++ b/build.gradle
@@ -4,7 +4,7 @@ apply plugin: 'java'
apply plugin: 'com.diffplug.spotless'
group = 'com.onfido'
-version = '7.1.0'
+version = '7.2.0'
buildscript {
repositories {
@@ -113,6 +113,7 @@ dependencies {
implementation 'io.gsonfire:gson-fire:1.9.0'
implementation 'jakarta.ws.rs:jakarta.ws.rs-api:2.1.6'
implementation 'org.openapitools:jackson-databind-nullable:0.2.7'
+ implementation group: 'org.apache.oltu.oauth2', name: 'org.apache.oltu.oauth2.client', version: '1.0.2'
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.18.0'
implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version"
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.3'
diff --git a/build.sbt b/build.sbt
index 453e70f..6bc3469 100644
--- a/build.sbt
+++ b/build.sbt
@@ -2,7 +2,7 @@ lazy val root = (project in file(".")).
settings(
organization := "com.onfido",
name := "onfido-api-java",
- version := "7.1.0",
+ version := "7.2.0",
scalaVersion := "2.11.12",
scalacOptions ++= Seq("-feature"),
compile / javacOptions ++= Seq("-Xlint:deprecation"),
@@ -16,6 +16,7 @@ lazy val root = (project in file(".")).
"org.apache.commons" % "commons-lang3" % "3.18.0",
"jakarta.ws.rs" % "jakarta.ws.rs-api" % "2.1.6",
"org.openapitools" % "jackson-databind-nullable" % "0.2.7",
+ "org.apache.oltu.oauth2" % "org.apache.oltu.oauth2.client" % "1.0.2",
"io.gsonfire" % "gson-fire" % "1.9.0" % "compile",
"jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile",
"com.google.code.findbugs" % "jsr305" % "3.0.2" % "compile",
diff --git a/pom.xml b/pom.xml
index a99f280..0083c29 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
onfido-api-java
jar
onfido-api-java
- 7.1.0
+ 7.2.0
https://documentation.onfido.com
Official Java API client library for the Onfido API
@@ -296,6 +296,11 @@
gson-fire
${gson-fire-version}
+
+ org.apache.oltu.oauth2
+ org.apache.oltu.oauth2.client
+ 1.0.2
+
org.apache.commons
commons-lang3
diff --git a/src/main/java/com/onfido/ApiClient.java b/src/main/java/com/onfido/ApiClient.java
index e883468..e8e6aea 100644
--- a/src/main/java/com/onfido/ApiClient.java
+++ b/src/main/java/com/onfido/ApiClient.java
@@ -21,6 +21,8 @@
import okio.Buffer;
import okio.BufferedSink;
import okio.Okio;
+import org.apache.oltu.oauth2.client.request.OAuthClientRequest.TokenRequestBuilder;
+import org.apache.oltu.oauth2.common.message.types.GrantType;
import javax.net.ssl.*;
import java.io.File;
@@ -57,6 +59,9 @@
import com.onfido.auth.HttpBasicAuth;
import com.onfido.auth.HttpBearerAuth;
import com.onfido.auth.ApiKeyAuth;
+import com.onfido.auth.OAuth;
+import com.onfido.auth.RetryingOAuth;
+import com.onfido.auth.OAuthFlow;
/**
* ApiClient class.
@@ -106,6 +111,11 @@ public class ApiClient {
protected HttpLoggingInterceptor loggingInterceptor;
+ private String oauthClientId;
+ private String oauthClientSecret;
+ private volatile String oauthAccessToken;
+ private volatile long oauthTokenExpiresAt;
+
public enum Region {
EU,
@@ -122,6 +132,7 @@ public ApiClient() {
// Setup authentications (key: authentication name, value: authentication).
authentications.put("Token", new ApiKeyAuth("header", "Authorization"));
+ authentications.put("OAuth2ClientCredentials", new OAuth());
// Prevent the authentications from being modified.
authentications = Collections.unmodifiableMap(authentications);
}
@@ -138,6 +149,74 @@ public ApiClient(OkHttpClient client) {
// Setup authentications (key: authentication name, value: authentication).
authentications.put("Token", new ApiKeyAuth("header", "Authorization"));
+ authentications.put("OAuth2ClientCredentials", new OAuth());
+ // Prevent the authentications from being modified.
+ authentications = Collections.unmodifiableMap(authentications);
+ }
+
+ /**
+ * Constructor for ApiClient to support access token retry on 401/403 configured with client ID
+ *
+ * @param clientId client ID
+ */
+ public ApiClient(String clientId) {
+ this(clientId, null, null);
+ }
+
+ /**
+ * Constructor for ApiClient to support access token retry on 401/403 configured with client ID and additional parameters
+ *
+ * @param clientId client ID
+ * @param parameters a {@link java.util.Map} of parameters
+ */
+ public ApiClient(String clientId, Map parameters) {
+ this(clientId, null, parameters);
+ }
+
+ /**
+ * Constructor for ApiClient to support access token retry on 401/403 configured with client ID, secret, and additional parameters
+ *
+ * @param clientId client ID
+ * @param clientSecret client secret
+ * @param parameters a {@link java.util.Map} of parameters
+ */
+ public ApiClient(String clientId, String clientSecret, Map parameters) {
+ this(null, clientId, clientSecret, parameters);
+ }
+
+ /**
+ * Constructor for ApiClient to support access token retry on 401/403 configured with base path, client ID, secret, and additional parameters
+ *
+ * @param basePath base path
+ * @param clientId client ID
+ * @param clientSecret client secret
+ * @param parameters a {@link java.util.Map} of parameters
+ */
+ public ApiClient(String basePath, String clientId, String clientSecret, Map parameters) {
+ init();
+ if (basePath != null) {
+ this.basePath = basePath;
+ }
+
+ String tokenUrl = "https://api.{region}.onfido.com/v3.6/oauth/token";
+ if (!"".equals(tokenUrl) && !URI.create(tokenUrl).isAbsolute()) {
+ URI uri = URI.create(getBasePath());
+ tokenUrl = uri.getScheme() + ":" +
+ (uri.getAuthority() != null ? "//" + uri.getAuthority() : "") +
+ tokenUrl;
+ if (!URI.create(tokenUrl).isAbsolute()) {
+ throw new IllegalArgumentException("OAuth2 token URL must be an absolute URL");
+ }
+ }
+ RetryingOAuth retryingOAuth = new RetryingOAuth(tokenUrl, clientId, OAuthFlow.APPLICATION, clientSecret, parameters);
+ authentications.put(
+ "OAuth2ClientCredentials",
+ retryingOAuth
+ );
+ initHttpClient(Collections.singletonList(retryingOAuth));
+ // Setup authentications (key: authentication name, value: authentication).
+ authentications.put("Token", new ApiKeyAuth("header", "Authorization"));
+
// Prevent the authentications from being modified.
authentications = Collections.unmodifiableMap(authentications);
}
@@ -162,7 +241,7 @@ protected void init() {
json = new JSON();
// Set default User-Agent.
- setUserAgent("onfido-java/7.1.0");
+ setUserAgent("onfido-java/7.2.0");
authentications = new HashMap();
}
@@ -418,6 +497,9 @@ protected void setApiKey(String apiKey) {
* @return Api client
*/
public ApiClient setApiToken(String apiToken) {
+ if (this.oauthClientId != null) {
+ throw new IllegalStateException("Cannot set API token when OAuth credentials are already configured");
+ }
this.setApiKey("Token token=" + apiToken);
return this;
@@ -442,6 +524,83 @@ public ApiClient setRegion(Region region) {
return this;
}
+ /**
+ * Sets OAuth2 client credentials for authentication.
+ * The client will automatically exchange credentials for an access token
+ * and refresh it when expired. This is mutually exclusive with setApiToken.
+ *
+ * @param clientId OAuth2 client ID
+ * @param clientSecret OAuth2 client secret
+ * @return Api client
+ */
+ public ApiClient setOAuthCredentials(String clientId, String clientSecret) {
+ if (clientId == null || clientId.isEmpty()) {
+ throw new IllegalArgumentException("OAuth client ID must not be null or empty");
+ }
+ if (clientSecret == null || clientSecret.isEmpty()) {
+ throw new IllegalArgumentException("OAuth client secret must not be null or empty");
+ }
+ Authentication existingAuth = this.authentications.get("Token");
+ if (existingAuth instanceof ApiKeyAuth && ((ApiKeyAuth) existingAuth).getApiKey() != null) {
+ throw new IllegalStateException("Cannot set OAuth credentials when API token is already configured");
+ }
+
+ this.oauthClientId = clientId;
+ this.oauthClientSecret = clientSecret;
+ this.oauthAccessToken = null;
+ this.oauthTokenExpiresAt = 0;
+
+ HttpBearerAuth bearerAuth = new HttpBearerAuth("Bearer");
+ bearerAuth.setBearerToken(() -> getOAuthAccessToken());
+
+ Map newAuth = new HashMap<>(this.authentications);
+ newAuth.put("Token", bearerAuth);
+ this.authentications = Collections.unmodifiableMap(newAuth);
+
+ return this;
+ }
+
+ private String getEffectiveBasePath() {
+ if (serverIndex != null && serverIndex >= 0 && serverIndex < servers.size()) {
+ return servers.get(serverIndex).URL(serverVariables);
+ }
+ return basePath;
+ }
+
+ private synchronized String getOAuthAccessToken() {
+ if (oauthAccessToken != null && System.currentTimeMillis() < oauthTokenExpiresAt) {
+ return oauthAccessToken;
+ }
+
+ String tokenUrl = getEffectiveBasePath() + "/oauth/token";
+
+ RequestBody body = new FormBody.Builder()
+ .add("client_id", oauthClientId)
+ .add("client_secret", oauthClientSecret)
+ .build();
+
+ Request request = new Request.Builder()
+ .url(tokenUrl)
+ .post(body)
+ .build();
+
+ try (Response response = httpClient.newCall(request).execute()) {
+ if (!response.isSuccessful()) {
+ throw new RuntimeException("OAuth token exchange failed with status " + response.code());
+ }
+
+ String responseBody = response.body().string();
+ com.google.gson.JsonObject jsonResponse = com.google.gson.JsonParser.parseString(responseBody).getAsJsonObject();
+ oauthAccessToken = jsonResponse.get("access_token").getAsString();
+ long expiresIn = jsonResponse.get("expires_in").getAsLong();
+ oauthTokenExpiresAt = System.currentTimeMillis() + (expiresIn - 30) * 1000;
+
+ return oauthAccessToken;
+ } catch (IOException e) {
+ throw new RuntimeException("Failed to exchange OAuth credentials for access token", e);
+ }
+ }
+
/**
* Return the HTTP proxy used by connections.
*
@@ -469,6 +628,12 @@ public ApiClient setProxy(Proxy proxy) {
* @param accessToken Access token
*/
public void setAccessToken(String accessToken) {
+ for (Authentication auth : authentications.values()) {
+ if (auth instanceof OAuth) {
+ ((OAuth) auth).setAccessToken(accessToken);
+ return;
+ }
+ }
throw new RuntimeException("No OAuth2 authentication configured!");
}
@@ -653,6 +818,20 @@ public ApiClient setWriteTimeout(int writeTimeout) {
return this;
}
+ /**
+ * Helper method to configure the token endpoint of the first oauth found in the apiAuthorizations (there should be only one)
+ *
+ * @return Token request builder
+ */
+ public TokenRequestBuilder getTokenEndPoint() {
+ for (Authentication apiAuth : authentications.values()) {
+ if (apiAuth instanceof RetryingOAuth) {
+ RetryingOAuth retryingOAuth = (RetryingOAuth) apiAuth;
+ return retryingOAuth.getTokenRequestBuilder();
+ }
+ }
+ return null;
+ }
/**
* Format the given parameter object into string.
diff --git a/src/main/java/com/onfido/Configuration.java b/src/main/java/com/onfido/Configuration.java
index d8c49ab..ea155b2 100644
--- a/src/main/java/com/onfido/Configuration.java
+++ b/src/main/java/com/onfido/Configuration.java
@@ -19,7 +19,7 @@
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.16.0")
public class Configuration {
- public static final String VERSION = "7.1.0";
+ public static final String VERSION = "7.2.0";
private static final AtomicReference defaultApiClient = new AtomicReference<>();
private static volatile Supplier apiClientFactory = ApiClient::new;
diff --git a/src/main/java/com/onfido/api/DefaultApi.java b/src/main/java/com/onfido/api/DefaultApi.java
index 74a0b66..6b5c85e 100644
--- a/src/main/java/com/onfido/api/DefaultApi.java
+++ b/src/main/java/com/onfido/api/DefaultApi.java
@@ -170,7 +170,7 @@ private okhttp3.Call cancelReportCall(@javax.annotation.Nonnull UUID reportId, f
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -331,7 +331,7 @@ private okhttp3.Call completeTaskCall(@javax.annotation.Nonnull UUID workflowRun
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -508,7 +508,7 @@ private okhttp3.Call createApplicantCall(@javax.annotation.Nonnull ApplicantBuil
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -671,7 +671,7 @@ private okhttp3.Call createCheckCall(@javax.annotation.Nonnull CheckBuilder chec
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -834,7 +834,7 @@ private okhttp3.Call createTimelineFileCall(@javax.annotation.Nonnull UUID workf
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -997,7 +997,7 @@ private okhttp3.Call createWatchlistMonitorCall(@javax.annotation.Nonnull Watchl
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -1160,7 +1160,7 @@ private okhttp3.Call createWebhookCall(@javax.annotation.Nonnull WebhookBuilder
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -1323,7 +1323,7 @@ private okhttp3.Call createWorkflowRunCall(@javax.annotation.Nonnull WorkflowRun
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -1486,7 +1486,7 @@ private okhttp3.Call deleteApplicantCall(@javax.annotation.Nonnull UUID applican
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -1646,7 +1646,7 @@ private okhttp3.Call deletePasskeyCall(@javax.annotation.Nonnull String username
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -1819,7 +1819,7 @@ private okhttp3.Call deletePasskeysCall(@javax.annotation.Nonnull String usernam
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -1983,7 +1983,7 @@ private okhttp3.Call deleteWatchlistMonitorCall(@javax.annotation.Nonnull UUID m
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -2142,7 +2142,7 @@ private okhttp3.Call deleteWebhookCall(@javax.annotation.Nonnull UUID webhookId,
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -2309,7 +2309,7 @@ private okhttp3.Call downloadAesDocumentCall(@javax.annotation.Nonnull UUID work
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -2487,7 +2487,7 @@ private okhttp3.Call downloadCheckCall(@javax.annotation.Nonnull UUID checkId, f
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -2651,7 +2651,7 @@ private okhttp3.Call downloadDocumentCall(@javax.annotation.Nonnull UUID documen
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -2815,7 +2815,7 @@ private okhttp3.Call downloadDocumentVideoCall(@javax.annotation.Nonnull String
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -2979,7 +2979,7 @@ private okhttp3.Call downloadEvidenceFolderCall(@javax.annotation.Nonnull UUID w
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -3148,7 +3148,7 @@ private okhttp3.Call downloadIdPhotoCall(@javax.annotation.Nonnull UUID idPhotoI
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -3312,7 +3312,7 @@ private okhttp3.Call downloadLivePhotoCall(@javax.annotation.Nonnull UUID livePh
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -3476,7 +3476,7 @@ private okhttp3.Call downloadLiveVideoCall(@javax.annotation.Nonnull UUID liveVi
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -3640,7 +3640,7 @@ private okhttp3.Call downloadLiveVideoFrameCall(@javax.annotation.Nonnull UUID l
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -3804,7 +3804,7 @@ private okhttp3.Call downloadMotionCaptureCall(@javax.annotation.Nonnull UUID mo
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -3968,7 +3968,7 @@ private okhttp3.Call downloadMotionCaptureFrameCall(@javax.annotation.Nonnull UU
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -4132,7 +4132,7 @@ private okhttp3.Call downloadNfcFaceCall(@javax.annotation.Nonnull UUID document
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -4303,7 +4303,7 @@ private okhttp3.Call downloadQesDocumentCall(@javax.annotation.Nonnull UUID work
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -4488,7 +4488,7 @@ private okhttp3.Call downloadSesDocumentCall(@javax.annotation.Nonnull UUID work
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -4666,7 +4666,7 @@ private okhttp3.Call downloadSignedEvidenceFileCall(@javax.annotation.Nonnull UU
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -4835,7 +4835,7 @@ private okhttp3.Call downloadSigningDocumentCall(@javax.annotation.Nonnull UUID
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -4998,7 +4998,7 @@ private okhttp3.Call extractCall(@javax.annotation.Nonnull ExtractRequest extrac
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -5164,7 +5164,7 @@ private okhttp3.Call findAddressesCall(@javax.annotation.Nonnull String postcode
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -5327,7 +5327,7 @@ private okhttp3.Call findApplicantCall(@javax.annotation.Nonnull UUID applicantI
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -5490,7 +5490,7 @@ private okhttp3.Call findApplicantConsentsCall(@javax.annotation.Nonnull UUID ap
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -5653,7 +5653,7 @@ private okhttp3.Call findCheckCall(@javax.annotation.Nonnull UUID checkId, final
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -5816,7 +5816,7 @@ private okhttp3.Call findDocumentCall(@javax.annotation.Nonnull UUID documentId,
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -5979,7 +5979,7 @@ private okhttp3.Call findIdPhotoCall(@javax.annotation.Nonnull UUID idPhotoId, f
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -6142,7 +6142,7 @@ private okhttp3.Call findLivePhotoCall(@javax.annotation.Nonnull UUID livePhotoI
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -6305,7 +6305,7 @@ private okhttp3.Call findLiveVideoCall(@javax.annotation.Nonnull UUID liveVideoI
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -6468,7 +6468,7 @@ private okhttp3.Call findMotionCaptureCall(@javax.annotation.Nonnull UUID motion
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -6632,7 +6632,7 @@ private okhttp3.Call findPasskeyCall(@javax.annotation.Nonnull String username,
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -6809,7 +6809,7 @@ private okhttp3.Call findReportCall(@javax.annotation.Nonnull UUID reportId, fin
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -6972,7 +6972,7 @@ private okhttp3.Call findSigningDocumentCall(@javax.annotation.Nonnull UUID sign
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -7136,7 +7136,7 @@ private okhttp3.Call findTaskCall(@javax.annotation.Nonnull UUID workflowRunId,
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -7310,7 +7310,7 @@ private okhttp3.Call findTimelineFileCall(@javax.annotation.Nonnull UUID workflo
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -7487,7 +7487,7 @@ private okhttp3.Call findWatchlistMonitorCall(@javax.annotation.Nonnull UUID mon
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -7650,7 +7650,7 @@ private okhttp3.Call findWebhookCall(@javax.annotation.Nonnull UUID webhookId, f
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -7813,7 +7813,7 @@ private okhttp3.Call findWorkflowRunCall(@javax.annotation.Nonnull UUID workflow
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -7976,7 +7976,7 @@ private okhttp3.Call forceReportCreationFromWatchlistMonitorCall(@javax.annotati
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -8135,7 +8135,7 @@ private okhttp3.Call generateSdkTokenCall(@javax.annotation.Nonnull SdkTokenBuil
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -8309,7 +8309,7 @@ private okhttp3.Call listApplicantsCall(@javax.annotation.Nullable Integer page,
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -8502,7 +8502,7 @@ private okhttp3.Call listChecksCall(@javax.annotation.Nonnull UUID applicantId,
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -8668,7 +8668,7 @@ private okhttp3.Call listDocumentsCall(@javax.annotation.Nonnull UUID applicantI
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -8834,7 +8834,7 @@ private okhttp3.Call listIdPhotosCall(@javax.annotation.Nonnull UUID applicantId
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -9000,7 +9000,7 @@ private okhttp3.Call listLivePhotosCall(@javax.annotation.Nonnull UUID applicant
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -9166,7 +9166,7 @@ private okhttp3.Call listLiveVideosCall(@javax.annotation.Nonnull UUID applicant
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -9332,7 +9332,7 @@ private okhttp3.Call listMotionCapturesCall(@javax.annotation.Nonnull UUID appli
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -9495,7 +9495,7 @@ private okhttp3.Call listPasskeysCall(@javax.annotation.Nonnull String username,
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -9663,7 +9663,7 @@ private okhttp3.Call listRepeatAttemptsCall(@javax.annotation.Nonnull UUID repor
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -9829,7 +9829,7 @@ private okhttp3.Call listReportsCall(@javax.annotation.Nonnull UUID checkId, fin
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -9995,7 +9995,7 @@ private okhttp3.Call listSigningDocumentsCall(@javax.annotation.Nonnull UUID app
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -10158,7 +10158,7 @@ private okhttp3.Call listTasksCall(@javax.annotation.Nonnull UUID workflowRunId,
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -10321,7 +10321,7 @@ private okhttp3.Call listWatchlistMonitorMatchesCall(@javax.annotation.Nonnull U
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -10486,7 +10486,7 @@ private okhttp3.Call listWatchlistMonitorsCall(@javax.annotation.Nonnull UUID ap
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -10660,7 +10660,7 @@ private okhttp3.Call listWebhooksCall(final ApiCallback _callback) throws ApiExc
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -10841,7 +10841,7 @@ private okhttp3.Call listWorkflowRunsCall(@javax.annotation.Nullable Integer pag
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -11079,7 +11079,7 @@ private okhttp3.Call pingCall(final ApiCallback _callback) throws ApiException {
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -11233,7 +11233,7 @@ private okhttp3.Call postResultsFeedbackCall(@javax.annotation.Nonnull ResultsFe
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -11396,7 +11396,7 @@ private okhttp3.Call resendWebhooksCall(@javax.annotation.Nonnull WebhookResend
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -11560,7 +11560,7 @@ private okhttp3.Call restoreApplicantCall(@javax.annotation.Nonnull UUID applica
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -11719,7 +11719,7 @@ private okhttp3.Call resumeCheckCall(@javax.annotation.Nonnull UUID checkId, fin
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -11878,7 +11878,7 @@ private okhttp3.Call resumeReportCall(@javax.annotation.Nonnull UUID reportId, f
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -12038,7 +12038,7 @@ private okhttp3.Call updateApplicantCall(@javax.annotation.Nonnull UUID applican
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -12212,7 +12212,7 @@ private okhttp3.Call updatePasskeyCall(@javax.annotation.Nonnull String username
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -12404,7 +12404,7 @@ private okhttp3.Call updateWatchlistMonitorMatchCall(@javax.annotation.Nonnull U
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -12577,7 +12577,7 @@ private okhttp3.Call updateWebhookCall(@javax.annotation.Nonnull UUID webhookId,
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -12781,7 +12781,7 @@ private okhttp3.Call uploadDocumentCall(@javax.annotation.Nonnull DocumentTypes
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -13030,7 +13030,7 @@ private okhttp3.Call uploadIdPhotoCall(@javax.annotation.Nullable UUID applicant
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -13220,7 +13220,7 @@ private okhttp3.Call uploadLivePhotoCall(@javax.annotation.Nullable UUID applica
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -13418,7 +13418,7 @@ private okhttp3.Call uploadSigningDocumentCall(@javax.annotation.Nonnull UUID ap
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Token" };
+ String[] localVarAuthNames = new String[] { "OAuth2ClientCredentials", "Token" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
diff --git a/src/main/java/com/onfido/auth/OAuth.java b/src/main/java/com/onfido/auth/OAuth.java
new file mode 100644
index 0000000..c61ce84
--- /dev/null
+++ b/src/main/java/com/onfido/auth/OAuth.java
@@ -0,0 +1,42 @@
+/*
+ * Onfido Public API v3.6
+ * The Onfido Public API (v3.6)
+ *
+ * The version of the OpenAPI document: v3.6
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package com.onfido.auth;
+
+import com.onfido.Pair;
+import com.onfido.ApiException;
+
+import java.net.URI;
+import java.util.Map;
+import java.util.List;
+
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.16.0")
+public class OAuth implements Authentication {
+ private String accessToken;
+
+ public String getAccessToken() {
+ return accessToken;
+ }
+
+ public void setAccessToken(String accessToken) {
+ this.accessToken = accessToken;
+ }
+
+ @Override
+ public void applyToParams(List queryParams, Map headerParams, Map cookieParams,
+ String payload, String method, URI uri) throws ApiException {
+ if (accessToken != null) {
+ headerParams.put("Authorization", "Bearer " + accessToken);
+ }
+ }
+}
diff --git a/src/main/java/com/onfido/auth/OAuthFlow.java b/src/main/java/com/onfido/auth/OAuthFlow.java
new file mode 100644
index 0000000..f408af2
--- /dev/null
+++ b/src/main/java/com/onfido/auth/OAuthFlow.java
@@ -0,0 +1,25 @@
+/*
+ * Onfido Public API v3.6
+ * The Onfido Public API (v3.6)
+ *
+ * The version of the OpenAPI document: v3.6
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package com.onfido.auth;
+
+/**
+ * OAuth flows that are supported by this client
+ */
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.16.0")
+public enum OAuthFlow {
+ ACCESS_CODE, //called authorizationCode in OpenAPI 3.0
+ IMPLICIT,
+ PASSWORD,
+ APPLICATION //called clientCredentials in OpenAPI 3.0
+}
diff --git a/src/main/java/com/onfido/auth/OAuthOkHttpClient.java b/src/main/java/com/onfido/auth/OAuthOkHttpClient.java
new file mode 100644
index 0000000..a5309b8
--- /dev/null
+++ b/src/main/java/com/onfido/auth/OAuthOkHttpClient.java
@@ -0,0 +1,82 @@
+/*
+ * Onfido Public API v3.6
+ * The Onfido Public API (v3.6)
+ *
+ * The version of the OpenAPI document: v3.6
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package com.onfido.auth;
+
+import okhttp3.OkHttpClient;
+import okhttp3.MediaType;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+import okhttp3.Response;
+
+import org.apache.oltu.oauth2.client.HttpClient;
+import org.apache.oltu.oauth2.client.request.OAuthClientRequest;
+import org.apache.oltu.oauth2.client.response.OAuthClientResponse;
+import org.apache.oltu.oauth2.client.response.OAuthClientResponseFactory;
+import org.apache.oltu.oauth2.common.exception.OAuthProblemException;
+import org.apache.oltu.oauth2.common.exception.OAuthSystemException;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.Map.Entry;
+
+public class OAuthOkHttpClient implements HttpClient {
+ private OkHttpClient client;
+
+ public OAuthOkHttpClient() {
+ this.client = new OkHttpClient();
+ }
+
+ public OAuthOkHttpClient(OkHttpClient client) {
+ this.client = client;
+ }
+
+ @Override
+ public T execute(OAuthClientRequest request, Map headers,
+ String requestMethod, Class responseClass)
+ throws OAuthSystemException, OAuthProblemException {
+
+ MediaType mediaType = MediaType.parse("application/json");
+ Request.Builder requestBuilder = new Request.Builder().url(request.getLocationUri());
+
+ if(headers != null) {
+ for (Entry entry : headers.entrySet()) {
+ if (entry.getKey().equalsIgnoreCase("Content-Type")) {
+ mediaType = MediaType.parse(entry.getValue());
+ } else {
+ requestBuilder.addHeader(entry.getKey(), entry.getValue());
+ }
+ }
+ }
+
+ RequestBody body = request.getBody() != null ? RequestBody.create(request.getBody(), mediaType) : null;
+ requestBuilder.method(requestMethod, body);
+
+ try {
+ Response response = client.newCall(requestBuilder.build()).execute();
+ return OAuthClientResponseFactory.createCustomResponse(
+ response.body().string(),
+ response.body().contentType().toString(),
+ response.code(),
+ response.headers().toMultimap(),
+ responseClass);
+ } catch (IOException e) {
+ throw new OAuthSystemException(e);
+ }
+ }
+
+ @Override
+ public void shutdown() {
+ // Nothing to do here
+ }
+}
diff --git a/src/main/java/com/onfido/auth/RetryingOAuth.java b/src/main/java/com/onfido/auth/RetryingOAuth.java
new file mode 100644
index 0000000..e3e5a86
--- /dev/null
+++ b/src/main/java/com/onfido/auth/RetryingOAuth.java
@@ -0,0 +1,223 @@
+/*
+ * Onfido Public API v3.6
+ * The Onfido Public API (v3.6)
+ *
+ * The version of the OpenAPI document: v3.6
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package com.onfido.auth;
+
+import com.onfido.ApiException;
+import com.onfido.Pair;
+
+import okhttp3.Interceptor;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+
+import org.apache.oltu.oauth2.client.OAuthClient;
+import org.apache.oltu.oauth2.client.request.OAuthBearerClientRequest;
+import org.apache.oltu.oauth2.client.request.OAuthClientRequest;
+import org.apache.oltu.oauth2.client.request.OAuthClientRequest.TokenRequestBuilder;
+import org.apache.oltu.oauth2.client.response.OAuthJSONAccessTokenResponse;
+import org.apache.oltu.oauth2.common.exception.OAuthProblemException;
+import org.apache.oltu.oauth2.common.exception.OAuthSystemException;
+import org.apache.oltu.oauth2.common.message.types.GrantType;
+
+import java.io.IOException;
+import java.net.HttpURLConnection;
+import java.net.URI;
+import java.util.Map;
+import java.util.List;
+
+public class RetryingOAuth extends OAuth implements Interceptor {
+ private OAuthClient oAuthClient;
+
+ private TokenRequestBuilder tokenRequestBuilder;
+
+ /**
+ * @param client An OkHttp client
+ * @param tokenRequestBuilder A token request builder
+ */
+ public RetryingOAuth(OkHttpClient client, TokenRequestBuilder tokenRequestBuilder) {
+ this.oAuthClient = new OAuthClient(new OAuthOkHttpClient(client));
+ this.tokenRequestBuilder = tokenRequestBuilder;
+ }
+
+ /**
+ * @param tokenRequestBuilder A token request builder
+ */
+ public RetryingOAuth(TokenRequestBuilder tokenRequestBuilder) {
+ this(new OkHttpClient(), tokenRequestBuilder);
+ }
+
+ /**
+ * @param tokenUrl The token URL to be used for this OAuth2 flow.
+ * Applicable to the following OAuth2 flows: "password", "clientCredentials" and "authorizationCode".
+ * The value must be an absolute URL.
+ * @param clientId The OAuth2 client ID for the "clientCredentials" flow.
+ * @param flow OAuth flow.
+ * @param clientSecret The OAuth2 client secret for the "clientCredentials" flow.
+ * @param parameters A map of string.
+ */
+ public RetryingOAuth(
+ String tokenUrl,
+ String clientId,
+ OAuthFlow flow,
+ String clientSecret,
+ Map parameters
+ ) {
+ this(OAuthClientRequest.tokenLocation(tokenUrl)
+ .setClientId(clientId)
+ .setClientSecret(clientSecret));
+ setFlow(flow);
+ if (parameters != null) {
+ for (Map.Entry entry : parameters.entrySet()) {
+ tokenRequestBuilder.setParameter(entry.getKey(), entry.getValue());
+ }
+ }
+ }
+
+ /**
+ * Set the OAuth flow
+ *
+ * @param flow The OAuth flow.
+ */
+ public void setFlow(OAuthFlow flow) {
+ switch(flow) {
+ case ACCESS_CODE:
+ tokenRequestBuilder.setGrantType(GrantType.AUTHORIZATION_CODE);
+ break;
+ case IMPLICIT:
+ tokenRequestBuilder.setGrantType(GrantType.IMPLICIT);
+ break;
+ case PASSWORD:
+ tokenRequestBuilder.setGrantType(GrantType.PASSWORD);
+ break;
+ case APPLICATION:
+ tokenRequestBuilder.setGrantType(GrantType.CLIENT_CREDENTIALS);
+ break;
+ default:
+ break;
+ }
+ }
+
+ @Override
+ public Response intercept(Chain chain) throws IOException {
+ return retryingIntercept(chain, true);
+ }
+
+ private Response retryingIntercept(Chain chain, boolean updateTokenAndRetryOnAuthorizationFailure) throws IOException {
+ Request request = chain.request();
+
+ // If the request already has an authorization (e.g. Basic auth), proceed with the request as is
+ if (request.header("Authorization") != null) {
+ return chain.proceed(request);
+ }
+
+ // Get the token if it has not yet been acquired
+ if (getAccessToken() == null) {
+ updateAccessToken(null);
+ }
+
+ OAuthClientRequest oAuthRequest;
+ if (getAccessToken() != null) {
+ // Build the request
+ Request.Builder requestBuilder = request.newBuilder();
+
+ String requestAccessToken = getAccessToken();
+ try {
+ oAuthRequest =
+ new OAuthBearerClientRequest(request.url().toString()).
+ setAccessToken(requestAccessToken).
+ buildHeaderMessage();
+ } catch (OAuthSystemException e) {
+ throw new IOException(e);
+ }
+
+ Map headers = oAuthRequest.getHeaders();
+ for (Map.Entry entry : headers.entrySet()) {
+ requestBuilder.addHeader(entry.getKey(), entry.getValue());
+ }
+ requestBuilder.url(oAuthRequest.getLocationUri());
+
+ // Execute the request
+ Response response = chain.proceed(requestBuilder.build());
+
+ // 401/403 response codes most likely indicate an expired access token, unless it happens two times in a row
+ if (
+ response != null &&
+ ( response.code() == HttpURLConnection.HTTP_UNAUTHORIZED ||
+ response.code() == HttpURLConnection.HTTP_FORBIDDEN ) &&
+ updateTokenAndRetryOnAuthorizationFailure
+ ) {
+ try {
+ if (updateAccessToken(requestAccessToken)) {
+ response.body().close();
+ return retryingIntercept(chain, false);
+ }
+ } catch (Exception e) {
+ response.body().close();
+ throw e;
+ }
+ }
+ return response;
+ }
+ else {
+ return chain.proceed(chain.request());
+ }
+ }
+
+ /**
+ * Returns true if the access token has been updated
+ *
+ * @param requestAccessToken the request access token
+ * @return True if the update is successful
+ * @throws java.io.IOException If fail to update the access token
+ */
+ public synchronized boolean updateAccessToken(String requestAccessToken) throws IOException {
+ if (getAccessToken() == null || getAccessToken().equals(requestAccessToken)) {
+ try {
+ OAuthJSONAccessTokenResponse accessTokenResponse =
+ oAuthClient.accessToken(tokenRequestBuilder.buildBodyMessage());
+ if (accessTokenResponse != null && accessTokenResponse.getAccessToken() != null) {
+ setAccessToken(accessTokenResponse.getAccessToken());
+ }
+ } catch (OAuthSystemException | OAuthProblemException e) {
+ throw new IOException(e);
+ }
+ }
+ return getAccessToken() == null || !getAccessToken().equals(requestAccessToken);
+ }
+
+ /**
+ * Gets the token request builder
+ *
+ * @return A token request builder
+ */
+ public TokenRequestBuilder getTokenRequestBuilder() {
+ return tokenRequestBuilder;
+ }
+
+ /**
+ * Sets the token request builder
+ *
+ * @param tokenRequestBuilder Token request builder
+ */
+ public void setTokenRequestBuilder(TokenRequestBuilder tokenRequestBuilder) {
+ this.tokenRequestBuilder = tokenRequestBuilder;
+ }
+
+ // Applying authorization to parameters is performed in the retryingIntercept method
+ @Override
+ public void applyToParams(List queryParams, Map headerParams, Map cookieParams,
+ String payload, String method, URI uri) throws ApiException {
+ // No implementation necessary
+ }
+}
diff --git a/src/test/java/com/onfido/integration/TestBase.java b/src/test/java/com/onfido/integration/TestBase.java
index 9c752d5..1d0096e 100644
--- a/src/test/java/com/onfido/integration/TestBase.java
+++ b/src/test/java/com/onfido/integration/TestBase.java
@@ -1,5 +1,6 @@
package com.onfido.integration;
+import com.onfido.ApiClient;
import com.onfido.ApiException;
import com.onfido.Configuration;
import com.onfido.FileTransfer;
@@ -21,6 +22,9 @@
public class TestBase {
private static final String apiToken = System.getenv("ONFIDO_API_TOKEN");
+ private static final String oauthClientId = System.getenv("ONFIDO_OAUTH_CLIENT_ID");
+ private static final String oauthClientSecret = System.getenv("ONFIDO_OAUTH_CLIENT_SECRET");
+ private static final String basePath = System.getenv("ONFIDO_BASE_PATH");
protected static final UUID sampleApplicantId =
UUID.fromString(System.getenv("ONFIDO_SAMPLE_APPLICANT_ID"));
@@ -33,13 +37,21 @@ public class TestBase {
protected DefaultApi onfido;
public TestBase() {
- onfido =
- new DefaultApi(
- Configuration.getDefaultApiClient()
- .setApiToken(apiToken)
- .setConnectTimeout(60_000)
- .setReadTimeout(60_000)
- .setWriteTimeout(60_000));
+ ApiClient client = Configuration.getDefaultApiClient();
+
+ if (oauthClientId != null && !oauthClientId.isEmpty()) {
+ client.setOAuthCredentials(oauthClientId, oauthClientSecret);
+ } else {
+ client.setApiToken(apiToken);
+ }
+
+ if (basePath != null && !basePath.isEmpty()) {
+ client.setBasePath(basePath);
+ }
+
+ client.setConnectTimeout(60_000).setReadTimeout(60_000).setWriteTimeout(60_000);
+
+ onfido = new DefaultApi(client);
}
@AfterAll