From 5a0869a771f65f87fa2a4ed402fb1f3597b92198 Mon Sep 17 00:00:00 2001
From: Matthias Piepkorn <mpiepk@gmail.com>
Date: Sun, 05 Feb 2017 11:32:25 +0000
Subject: [PATCH] Handle service ticket validation on proxyValidate endpoint, return error on proxy endpoint

---
 src/main/java/org/keycloak/protocol/cas/endpoints/ServiceValidateEndpoint.java |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/main/java/org/keycloak/protocol/cas/endpoints/ServiceValidateEndpoint.java b/src/main/java/org/keycloak/protocol/cas/endpoints/ServiceValidateEndpoint.java
index b110d96..64da5b6 100644
--- a/src/main/java/org/keycloak/protocol/cas/endpoints/ServiceValidateEndpoint.java
+++ b/src/main/java/org/keycloak/protocol/cas/endpoints/ServiceValidateEndpoint.java
@@ -7,10 +7,10 @@
 import org.keycloak.models.UserSessionModel;
 import org.keycloak.protocol.ProtocolMapper;
 import org.keycloak.protocol.cas.mappers.CASAttributeMapper;
-import org.keycloak.protocol.cas.representations.CasServiceResponse;
+import org.keycloak.protocol.cas.representations.CASServiceResponse;
+import org.keycloak.protocol.cas.utils.CASValidationException;
 import org.keycloak.protocol.cas.utils.ContentTypeHelper;
 import org.keycloak.protocol.cas.utils.ServiceResponseHelper;
-import org.keycloak.services.ErrorResponseException;
 import org.keycloak.services.managers.ClientSessionCode;
 
 import javax.ws.rs.core.*;
@@ -40,17 +40,17 @@
             }
         }
 
-        CasServiceResponse serviceResponse = ServiceResponseHelper.createSuccess(userSession.getUser().getUsername(), attributes);
+        CASServiceResponse serviceResponse = ServiceResponseHelper.createSuccess(userSession.getUser().getUsername(), attributes);
         return prepare(Response.Status.OK, serviceResponse);
     }
 
     @Override
-    protected Response errorResponse(ErrorResponseException e) {
-        CasServiceResponse serviceResponse = ServiceResponseHelper.createFailure("CODE", "Description");
-        return prepare(Response.Status.FORBIDDEN, serviceResponse);
+    protected Response errorResponse(CASValidationException e) {
+        CASServiceResponse serviceResponse = ServiceResponseHelper.createFailure(e.getError(), e.getErrorDescription());
+        return prepare(e.getStatus(), serviceResponse);
     }
 
-    private Response prepare(Response.Status status, CasServiceResponse serviceResponse) {
+    private Response prepare(Response.Status status, CASServiceResponse serviceResponse) {
         MediaType responseMediaType = new ContentTypeHelper(request, restRequest, uriInfo).selectResponseType();
         return ServiceResponseHelper.createResponse(status, responseMediaType, serviceResponse);
     }

--
Gitblit v1.9.1