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