From f2312c5b8c95a9c4bf3115cc1094341528e9df0c Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 19 Aug 2024 08:47:11 +0000 Subject: [PATCH] Update to Keycloak 25.0.3 --- src/main/java/org/keycloak/protocol/cas/endpoints/ValidateEndpoint.java | 22 +++++++++++++--------- 1 files changed, 13 insertions(+), 9 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 e83af7c..a3c14a4 100644 --- a/src/main/java/org/keycloak/protocol/cas/endpoints/ValidateEndpoint.java +++ b/src/main/java/org/keycloak/protocol/cas/endpoints/ValidateEndpoint.java @@ -1,24 +1,24 @@ package org.keycloak.protocol.cas.endpoints; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MultivaluedMap; +import jakarta.ws.rs.core.Response; import org.jboss.resteasy.annotations.cache.NoCache; import org.keycloak.events.EventBuilder; import org.keycloak.events.EventType; +import org.keycloak.models.KeycloakSession; import org.keycloak.models.RealmModel; import org.keycloak.protocol.cas.CASLoginProtocol; import org.keycloak.protocol.cas.utils.CASValidationException; - -import javax.ws.rs.GET; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.core.Response; public class ValidateEndpoint extends AbstractValidateEndpoint { private static final String RESPONSE_OK = "yes\n"; private static final String RESPONSE_FAILED = "no\n"; - public ValidateEndpoint(RealmModel realm, EventBuilder event) { - super(realm, event); + public ValidateEndpoint(KeycloakSession session, RealmModel realm, EventBuilder event) { + super(session, realm, event); } @GET @@ -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,7 +49,8 @@ } protected Response successResponse() { - return Response.ok(RESPONSE_OK).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