diff --git a/restservice/src/main/java/com/plannaplan/security/cas/CasValidator.java b/restservice/src/main/java/com/plannaplan/security/cas/CasValidator.java new file mode 100644 index 0000000..8cde61c --- /dev/null +++ b/restservice/src/main/java/com/plannaplan/security/cas/CasValidator.java @@ -0,0 +1,7 @@ +package com.plannaplan.security.cas; + +public interface CasValidator { + + String validate(); + +} diff --git a/restservice/src/main/java/com/plannaplan/security/cas/DefaultUAMCasValidator.java b/restservice/src/main/java/com/plannaplan/security/cas/DefaultUAMCasValidator.java index 6f69b3a..b5c2ad6 100755 --- a/restservice/src/main/java/com/plannaplan/security/cas/DefaultUAMCasValidator.java +++ b/restservice/src/main/java/com/plannaplan/security/cas/DefaultUAMCasValidator.java @@ -9,7 +9,7 @@ import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; -public class DefaultUAMCasValidator { +public class DefaultUAMCasValidator implements CasValidator { private static String CAS_URL = "https://cas.amu.edu.pl/cas"; private final CloseableHttpClient httpClient = HttpClients.createDefault(); private String service; @@ -20,26 +20,32 @@ public class DefaultUAMCasValidator { this.ticket = ticket; } - public String validate() throws Exception, CasValidationExcepiton { - HttpGet request = new HttpGet(DefaultUAMCasValidator.CAS_URL + "/validate?service=" - + URLEncoder.encode(this.service, "UTF-8") + "&ticket=" + URLEncoder.encode(this.ticket, "UTF-8")); - try (CloseableHttpResponse response = httpClient.execute(request)) { + @Override + public String validate() { + try { + HttpGet request = new HttpGet(DefaultUAMCasValidator.CAS_URL + "/validate?service=" + + URLEncoder.encode(this.service, "UTF-8") + "&ticket=" + URLEncoder.encode(this.ticket, "UTF-8")); + try (CloseableHttpResponse response = httpClient.execute(request)) { - HttpEntity entity = response.getEntity(); + HttpEntity entity = response.getEntity(); - String result = null; - if (entity != null) { - // return it as a String - result = EntityUtils.toString(entity); - if (result.replace("\n", "").trim().equals("no")) { - throw new CasValidationExcepiton("Validation failed"); + String result = null; + if (entity != null) { + // return it as a String + result = EntityUtils.toString(entity); + if (result.replace("\n", "").trim().equals("no")) { + throw new CasValidationExcepiton("Validation failed"); + } } + + String res = result.substring(result.indexOf('\n') + 1); + return res; + } - - String res = result.substring(result.indexOf('\n') + 1); - return res; - } + catch (Exception e) { + throw new CasValidationExcepiton("Cas Validation has failed."); + } } }