From fb26284c00e09e656732eb7ca4570afd052e0067 Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Fri, 21 Jun 2024 11:47:01 +0000 Subject: [PATCH] Improve error reporting in CAS ticket validation --- src/main/java/org/keycloak/protocol/cas/endpoints/ValidateEndpoint.java | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/keycloak/protocol/cas/endpoints/ValidateEndpoint.java b/src/main/java/org/keycloak/protocol/cas/endpoints/ValidateEndpoint.java index cfd0858..a3c14a4 100644 --- a/src/main/java/org/keycloak/protocol/cas/endpoints/ValidateEndpoint.java +++ b/src/main/java/org/keycloak/protocol/cas/endpoints/ValidateEndpoint.java @@ -26,6 +26,7 @@ public Response build() { MultivaluedMap<String, String> params = session.getContext().getUri().getQueryParameters(); String service = params.getFirst(CASLoginProtocol.SERVICE_PARAM); + String pgtUrl = params.getFirst(CASLoginProtocol.PGTURL_PARAM); String ticket = params.getFirst(CASLoginProtocol.TICKET_PARAM); boolean renew = params.containsKey(CASLoginProtocol.RENEW_PARAM); @@ -36,7 +37,9 @@ checkRealm(); checkClient(service); - checkTicket(ticket, renew); + checkTicket(ticket, CASLoginProtocol.SERVICE_TICKET_PREFIX, renew); + + if (pgtUrl != null) createProxyGrant(pgtUrl); event.success(); return successResponse(); @@ -46,10 +49,8 @@ } protected Response successResponse() { - StringBuilder sb = new StringBuilder(RESPONSE_OK); - sb.append(clientSession.getUserSession().getUser().getUsername()); - sb.append("\n"); - return Response.ok(sb.toString()).type(MediaType.TEXT_PLAIN).build(); + String response = RESPONSE_OK + clientSession.getUserSession().getUser().getUsername() + "\n"; + return Response.ok(response).type(MediaType.TEXT_PLAIN).build(); } protected Response errorResponse(CASValidationException e) { -- Gitblit v1.9.1