From 32997b7c31fc3b27a8df6911e0f8e8e1bcc58437 Mon Sep 17 00:00:00 2001 From: Jakub Malinowski <jakub@malinowski.net.pl> Date: Wed, 30 Oct 2024 09:05:21 +0000 Subject: [PATCH] #129 Client session note service ticket fix --- src/main/java/org/keycloak/protocol/cas/CASLoginProtocolService.java | 57 +++++++++++++++++++-------------------------------------- 1 files changed, 19 insertions(+), 38 deletions(-) diff --git a/src/main/java/org/keycloak/protocol/cas/CASLoginProtocolService.java b/src/main/java/org/keycloak/protocol/cas/CASLoginProtocolService.java index bed2b3c..8d8f944 100644 --- a/src/main/java/org/keycloak/protocol/cas/CASLoginProtocolService.java +++ b/src/main/java/org/keycloak/protocol/cas/CASLoginProtocolService.java @@ -1,37 +1,22 @@ package org.keycloak.protocol.cas; -import org.jboss.resteasy.spi.HttpRequest; -import org.jboss.resteasy.spi.ResteasyProviderFactory; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.UriBuilder; + import org.keycloak.events.EventBuilder; import org.keycloak.models.KeycloakSession; import org.keycloak.models.RealmModel; -import org.keycloak.protocol.cas.endpoints.AuthorizationEndpoint; -import org.keycloak.protocol.cas.endpoints.LogoutEndpoint; -import org.keycloak.protocol.cas.endpoints.ServiceValidateEndpoint; -import org.keycloak.protocol.cas.endpoints.ValidateEndpoint; +import org.keycloak.protocol.cas.endpoints.*; import org.keycloak.services.resources.RealmsResource; -import javax.ws.rs.Path; -import javax.ws.rs.core.*; - public class CASLoginProtocolService { + private KeycloakSession session; private RealmModel realm; private EventBuilder event; - @Context - private UriInfo uriInfo; - - @Context - private KeycloakSession session; - - @Context - private HttpHeaders headers; - - @Context - private HttpRequest request; - - public CASLoginProtocolService(RealmModel realm, EventBuilder event) { - this.realm = realm; + public CASLoginProtocolService(KeycloakSession session, EventBuilder event) { + this.session = session; + this.realm = session.getContext().getRealm(); this.event = event; } @@ -41,41 +26,37 @@ @Path("login") public Object login() { - AuthorizationEndpoint endpoint = new AuthorizationEndpoint(realm, event); - ResteasyProviderFactory.getInstance().injectProperties(endpoint); - return endpoint; + return new AuthorizationEndpoint(session, event); } @Path("logout") public Object logout() { - LogoutEndpoint endpoint = new LogoutEndpoint(realm, event); - ResteasyProviderFactory.getInstance().injectProperties(endpoint); - return endpoint; + return new LogoutEndpoint(session, realm); } @Path("validate") public Object validate() { - ValidateEndpoint endpoint = new ValidateEndpoint(realm, event); - ResteasyProviderFactory.getInstance().injectProperties(endpoint); - return endpoint; + return new ValidateEndpoint(session, realm, event); + } + + @Path("samlValidate") + public Object validateSaml11() { + return new SamlValidateEndpoint(session, realm, event); } @Path("serviceValidate") public Object serviceValidate() { - ServiceValidateEndpoint endpoint = new ServiceValidateEndpoint(realm, event); - ResteasyProviderFactory.getInstance().injectProperties(endpoint); - return endpoint; + return new ServiceValidateEndpoint(session, realm, event); } @Path("proxyValidate") public Object proxyValidate() { - //TODO implement - return serviceValidate(); + return new ProxyValidateEndpoint(session, realm, event); } @Path("proxy") public Object proxy() { - return Response.serverError().entity("Not implemented").build(); + return new ProxyEndpoint(session, realm, event); } @Path("p3/serviceValidate") -- Gitblit v1.9.1