diff --git a/restservice/pom.xml b/restservice/pom.xml
index 4d62b67..bd3a2dc 100644
--- a/restservice/pom.xml
+++ b/restservice/pom.xml
@@ -31,6 +31,12 @@
test
+
+ org.apache.httpcomponents
+ httpclient
+ 4.5.10
+
+
org.springframework.boot
spring-boot-starter-web
diff --git a/restservice/src/main/java/com/plannaplan/security/CasValidator.java b/restservice/src/main/java/com/plannaplan/security/CasValidator.java
new file mode 100644
index 0000000..4af59b2
--- /dev/null
+++ b/restservice/src/main/java/com/plannaplan/security/CasValidator.java
@@ -0,0 +1,42 @@
+package com.plannaplan.security;
+
+import java.net.URLEncoder;
+
+import org.apache.http.HttpEntity;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.util.EntityUtils;
+
+public class CasValidator {
+ private static String CAS_URL = "https://cas.amu.edu.pl/cas";
+ private final CloseableHttpClient httpClient = HttpClients.createDefault();
+ private String service;
+ private String ticket;
+
+ public CasValidator(String service, String ticket) {
+ this.service = service;
+ this.ticket = ticket;
+ }
+
+ public String validate() throws Exception {
+ HttpGet request = new HttpGet(CasValidator.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();
+
+ String result = null;
+ if (entity != null) {
+ // return it as a String
+ result = EntityUtils.toString(entity);
+
+ }
+ String res = result.substring(result.indexOf('\n') + 1);
+ return res;
+
+ }
+
+ }
+}
diff --git a/restservice/src/test/java/com/plannaplan/security/CasValidatorTest.java b/restservice/src/test/java/com/plannaplan/security/CasValidatorTest.java
new file mode 100644
index 0000000..234a759
--- /dev/null
+++ b/restservice/src/test/java/com/plannaplan/security/CasValidatorTest.java
@@ -0,0 +1,21 @@
+package com.plannaplan.security;
+
+import org.junit.Ignore;
+import org.junit.Test;
+
+public class CasValidatorTest {
+
+ @Test
+ @Ignore
+ public void shouldValidateTicket() {
+ //you need to privide fresh ticket to make this test pass that's why it is marked as ignored
+ CasValidator validator = new CasValidator("http://localhost:3000",
+ "ST-572267-cbgKrcJLd0tdCubeLqdW-cas.amu.edu.pl");
+ try {
+ System.out.println(validator.validate());
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+}