Skip to content

Commit

Permalink
feat: update to resteasy 4
Browse files Browse the repository at this point in the history
  • Loading branch information
yurem committed Oct 28, 2021
1 parent a99f42e commit f5f75df
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 37 deletions.
4 changes: 0 additions & 4 deletions client/pom.xml
Expand Up @@ -60,10 +60,6 @@
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxb-provider</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson2-provider</artifactId>
Expand Down
7 changes: 0 additions & 7 deletions openid-auth-client/pom.xml
Expand Up @@ -83,12 +83,5 @@
<groupId>org.codehaus.jettison</groupId>
<artifactId>jettison</artifactId>
</dependency>

<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<scope>provided</scope>
</dependency>

</dependencies>
</project>
6 changes: 0 additions & 6 deletions saml-openid-auth-client/pom.xml
Expand Up @@ -87,12 +87,6 @@
<artifactId>jettison</artifactId>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>net.shibboleth.idp</groupId>
Expand Down
4 changes: 0 additions & 4 deletions server/pom.xml
Expand Up @@ -571,10 +571,6 @@
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxb-provider</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson2-provider</artifactId>
Expand Down
50 changes: 34 additions & 16 deletions server/src/main/java/org/gluu/oxtrust/util/RecaptchaUtil.java
Expand Up @@ -19,13 +19,18 @@
import javax.inject.Inject;
import javax.inject.Named;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.Invocation.Builder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Form;
import javax.ws.rs.core.Response;

import org.codehaus.jettison.json.JSONObject;
import org.gluu.net.ProxyUtil;
import org.gluu.util.StringHelper;
import org.jboss.resteasy.client.ClientRequest;
import org.jboss.resteasy.client.ClientResponse;
import org.jboss.resteasy.client.core.executors.URLConnectionClientExecutor;
import org.jboss.resteasy.client.jaxrs.ResteasyClient;
import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
import org.jboss.resteasy.client.jaxrs.engines.URLConnectionEngine;
import org.slf4j.Logger;

import com.fasterxml.jackson.core.type.TypeReference;
Expand Down Expand Up @@ -85,25 +90,38 @@ public boolean verifyGoogleRecaptcha(String gRecaptchaResponse, String secretKey
boolean result = false;
try {
String uriTemplate = "https://www.google.com/recaptcha/api/siteverify";
ClientRequest request;

ResteasyClient resteasyClient;
if (ProxyUtil.isProxyRequied()) {
URLConnectionClientExecutor executor = new URLConnectionClientExecutor();
request = new ClientRequest(uriTemplate, executor);
URLConnectionEngine engine = new URLConnectionEngine();
resteasyClient = ((ResteasyClientBuilder) ResteasyClientBuilder.newBuilder()).httpEngine(engine).build();
} else {
request = new ClientRequest(uriTemplate);
resteasyClient = (ResteasyClient) ResteasyClientBuilder.newClient();
}
request.formParameter("secret", secretKey);
request.formParameter("response", gRecaptchaResponse);
request.accept("application/json");

ClientResponse<String> response = request.post(String.class);
WebTarget webTarget = resteasyClient.target(uriTemplate);
Builder clientRequest = webTarget.request();
clientRequest.accept("application/json");

Form requestForm = new Form();
requestForm.param("secret", secretKey);
requestForm.param("response", gRecaptchaResponse);

ObjectMapper mapper = new ObjectMapper();
Map<String, String> map = mapper.readValue(new ByteArrayInputStream(response.getEntity().getBytes()),
new TypeReference<Map<String, String>>() {
});
Response response = clientRequest.buildPost(Entity.form(requestForm)).invoke();
try {
ObjectMapper mapper = new ObjectMapper();
Map<String, String> map = mapper.readValue(new ByteArrayInputStream(response.readEntity(String.class).getBytes()),
new TypeReference<Map<String, String>>() {
});

return Boolean.parseBoolean(map.get("success"));
return Boolean.parseBoolean(map.get("success"));
} finally {
response.close();

if (resteasyClient.httpEngine() != null) {
resteasyClient.httpEngine().close();
}
}
} catch (Exception e) {
log.warn("Exception happened while verifying recaptcha, check your internet connection", e);
return result;
Expand Down

0 comments on commit f5f75df

Please sign in to comment.