diff --git a/pom.xml b/pom.xml
index c4d3d43ba5b19bd9d7ff9a0f302981748a536df6..84ecdd76ec530aa5cd1d172983569f3a6da79a72 100644
--- a/pom.xml
+++ b/pom.xml
@@ -91,7 +91,7 @@
com.github.scribejava
scribejava-core
- 4.2.0
+ 6.2.0
org.slf4j
diff --git a/src/main/java/org/genesys2/client/oauth/GenesysClient.java b/src/main/java/org/genesys2/client/oauth/GenesysClient.java
index d45fd2be79e455101f663b872aaa83e7d89d77c5..77c98679a62af5367d6756d8417308bff007d21b 100644
--- a/src/main/java/org/genesys2/client/oauth/GenesysClient.java
+++ b/src/main/java/org/genesys2/client/oauth/GenesysClient.java
@@ -42,6 +42,7 @@ import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.github.scribejava.core.builder.ServiceBuilder;
+import com.github.scribejava.core.exceptions.OAuthException;
import com.github.scribejava.core.model.OAuth2AccessToken;
import com.github.scribejava.core.model.OAuthRequest;
import com.github.scribejava.core.model.Response;
@@ -581,6 +582,29 @@ public class GenesysClient {
}
}
+ /**
+ * Obtain access and refresh tokens with client id and secret.
+ *
+ * @throws OAuthAuthenticationException
+ */
+ public void authenticate() throws OAuthAuthenticationException {
+ try {
+ OAuth2AccessToken accessToken = service.getAccessTokenClientCredentialsGrant();
+
+ LOG.info("ACCESS TOKEN: {} scope={} raw={}", accessToken.getAccessToken(), accessToken.getScope(), accessToken.getRawResponse());
+
+ final String refreshToken = accessToken.getRefreshToken();
+ LOG.info("REFRESH TOKEN: {}", refreshToken);
+
+ tokens.setAccessToken(accessToken.getAccessToken());
+ tokens.setRefreshToken(refreshToken);
+
+ } catch (OAuthException | IOException | InterruptedException | ExecutionException e) {
+ LOG.error("Auth error", e);
+ throw new OAuthAuthenticationException(e.getMessage());
+ }
+ }
+
/**
* Obtain access and refresh tokens with verifier code.
*
diff --git a/src/main/java/org/genesys2/client/oauth/api/GenesysApi.java b/src/main/java/org/genesys2/client/oauth/api/GenesysApi.java
index 1188ac2e6c435bd7ce9e177a5c569447649e2a8d..d8ab54b89151ad773311119cdbd120d3474bfcb4 100644
--- a/src/main/java/org/genesys2/client/oauth/api/GenesysApi.java
+++ b/src/main/java/org/genesys2/client/oauth/api/GenesysApi.java
@@ -17,7 +17,6 @@
package org.genesys2.client.oauth.api;
import com.github.scribejava.core.builder.api.DefaultApi20;
-import com.github.scribejava.core.builder.api.OAuth2SignatureType;
/**
* Genesys API v1.
@@ -52,11 +51,6 @@ public class GenesysApi extends DefaultApi20 {
return baseUrl + AUTHORIZE_ENDPOINT;
}
- @Override
- public OAuth2SignatureType getSignatureType() {
- return OAuth2SignatureType.BEARER_AUTHORIZATION_REQUEST_HEADER_FIELD;
- }
-
/**
* Gets the base url.
*