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. *