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/utils/ServiceResponseHelper.java | 25 +++++++++++++------------ 1 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/keycloak/protocol/cas/utils/ServiceResponseHelper.java b/src/main/java/org/keycloak/protocol/cas/utils/ServiceResponseHelper.java index 8b927b8..e3223d1 100644 --- a/src/main/java/org/keycloak/protocol/cas/utils/ServiceResponseHelper.java +++ b/src/main/java/org/keycloak/protocol/cas/utils/ServiceResponseHelper.java @@ -1,8 +1,9 @@ package org.keycloak.protocol.cas.utils; -import org.keycloak.protocol.cas.representations.CasServiceResponse; -import org.keycloak.protocol.cas.representations.CasServiceResponseAuthenticationFailure; -import org.keycloak.protocol.cas.representations.CasServiceResponseAuthenticationSuccess; +import org.keycloak.protocol.cas.representations.CASErrorCode; +import org.keycloak.protocol.cas.representations.CASServiceResponse; +import org.keycloak.protocol.cas.representations.CASServiceResponseAuthenticationFailure; +import org.keycloak.protocol.cas.representations.CASServiceResponseAuthenticationSuccess; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; @@ -14,14 +15,14 @@ private ServiceResponseHelper() { } - public static CasServiceResponse createSuccess(String username, Map<String, Object> attributes) { + public static CASServiceResponse createSuccess(String username, Map<String, Object> attributes) { return createSuccess(username, attributes, null, null); } - public static CasServiceResponse createSuccess(String username, Map<String, Object> attributes, + public static CASServiceResponse createSuccess(String username, Map<String, Object> attributes, String proxyGrantingTicket, List<String> proxies) { - CasServiceResponse response = new CasServiceResponse(); - CasServiceResponseAuthenticationSuccess success = new CasServiceResponseAuthenticationSuccess(); + CASServiceResponse response = new CASServiceResponse(); + CASServiceResponseAuthenticationSuccess success = new CASServiceResponseAuthenticationSuccess(); success.setUser(username); success.setProxies(proxies); success.setProxyGrantingTicket(proxyGrantingTicket); @@ -32,17 +33,17 @@ return response; } - public static CasServiceResponse createFailure(String errorCode, String errorDescription) { - CasServiceResponse response = new CasServiceResponse(); - CasServiceResponseAuthenticationFailure failure = new CasServiceResponseAuthenticationFailure(); - failure.setCode(errorCode); + public static CASServiceResponse createFailure(CASErrorCode errorCode, String errorDescription) { + CASServiceResponse response = new CASServiceResponse(); + CASServiceResponseAuthenticationFailure failure = new CASServiceResponseAuthenticationFailure(); + failure.setCode(errorCode == null ? CASErrorCode.INTERNAL_ERROR.name() : errorCode.name()); failure.setDescription(errorDescription); response.setAuthenticationFailure(failure); return response; } - public static Response createResponse(Response.Status status, MediaType mediaType, CasServiceResponse serviceResponse) { + public static Response createResponse(Response.Status status, MediaType mediaType, CASServiceResponse serviceResponse) { Response.ResponseBuilder builder = Response.status(status) .header(HttpHeaders.CONTENT_TYPE, mediaType.withCharset("utf-8")); if (MediaType.APPLICATION_JSON_TYPE.equals(mediaType)) { -- Gitblit v1.9.1