From dee145f26c964c8c2b5c7dbce0d21e316421085b Mon Sep 17 00:00:00 2001 From: Matthias Piepkorn <mpiepk@gmail.com> Date: Sat, 08 Sep 2018 20:05:10 +0000 Subject: [PATCH] update for KEYCLOAK-7967 Remove injection of UriInfo --- src/main/java/org/keycloak/protocol/cas/CASLoginProtocolService.java | 3 --- src/main/java/org/keycloak/protocol/cas/endpoints/ServiceValidateEndpoint.java | 2 +- src/main/java/org/keycloak/protocol/cas/endpoints/ValidateEndpoint.java | 9 +++------ src/main/java/org/keycloak/protocol/cas/endpoints/LogoutEndpoint.java | 10 +++------- src/main/java/org/keycloak/protocol/cas/endpoints/AuthorizationEndpoint.java | 8 ++++---- 5 files changed, 11 insertions(+), 21 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..861742a 100644 --- a/src/main/java/org/keycloak/protocol/cas/CASLoginProtocolService.java +++ b/src/main/java/org/keycloak/protocol/cas/CASLoginProtocolService.java @@ -19,9 +19,6 @@ private EventBuilder event; @Context - private UriInfo uriInfo; - - @Context private KeycloakSession session; @Context diff --git a/src/main/java/org/keycloak/protocol/cas/endpoints/AuthorizationEndpoint.java b/src/main/java/org/keycloak/protocol/cas/endpoints/AuthorizationEndpoint.java index bcf1231..865b937 100644 --- a/src/main/java/org/keycloak/protocol/cas/endpoints/AuthorizationEndpoint.java +++ b/src/main/java/org/keycloak/protocol/cas/endpoints/AuthorizationEndpoint.java @@ -33,7 +33,7 @@ @GET public Response build() { - MultivaluedMap<String, String> params = uriInfo.getQueryParameters(); + MultivaluedMap<String, String> params = session.getContext().getUri().getQueryParameters(); String service = params.getFirst(CASLoginProtocol.SERVICE_PARAM); boolean renew = params.containsKey(CASLoginProtocol.RENEW_PARAM); boolean gateway = params.containsKey(CASLoginProtocol.GATEWAY_PARAM); @@ -53,7 +53,7 @@ } this.event.event(EventType.LOGIN); - return handleBrowserAuthenticationRequest(authenticationSession, new CASLoginProtocol(session, realm, uriInfo, headers, event), gateway, false); + return handleBrowserAuthenticationRequest(authenticationSession, new CASLoginProtocol(session, realm, session.getContext().getUri(), headers, event), gateway, false); } private void checkClient(String service) { @@ -64,7 +64,7 @@ client = realm.getClients().stream() .filter(c -> CASLoginProtocol.LOGIN_PROTOCOL.equals(c.getProtocol())) - .filter(c -> RedirectUtils.verifyRedirectUri(uriInfo, service, realm, c) != null) + .filter(c -> RedirectUtils.verifyRedirectUri(session.getContext().getUri(), service, realm, c) != null) .findFirst().orElse(null); if (client == null) { event.error(Errors.CLIENT_NOT_FOUND); @@ -76,7 +76,7 @@ throw new ErrorPageException(session, Response.Status.BAD_REQUEST, Messages.CLIENT_DISABLED); } - redirectUri = RedirectUtils.verifyRedirectUri(uriInfo, service, realm, client); + redirectUri = RedirectUtils.verifyRedirectUri(session.getContext().getUri(), service, realm, client); event.client(client.getClientId()); event.detail(Details.REDIRECT_URI, redirectUri); diff --git a/src/main/java/org/keycloak/protocol/cas/endpoints/LogoutEndpoint.java b/src/main/java/org/keycloak/protocol/cas/endpoints/LogoutEndpoint.java index 1db8322..952f13a 100644 --- a/src/main/java/org/keycloak/protocol/cas/endpoints/LogoutEndpoint.java +++ b/src/main/java/org/keycloak/protocol/cas/endpoints/LogoutEndpoint.java @@ -20,7 +20,6 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.Response; -import javax.ws.rs.core.UriInfo; public class LogoutEndpoint { private static final Logger logger = Logger.getLogger(LogoutEndpoint.class); @@ -36,9 +35,6 @@ @Context private HttpHeaders headers; - - @Context - private UriInfo uriInfo; private RealmModel realm; private EventBuilder event; @@ -62,7 +58,7 @@ if (redirectUri != null) userSession.setNote(CASLoginProtocol.LOGOUT_REDIRECT_URI, redirectUri); logger.debug("Initiating CAS browser logout"); - Response response = AuthenticationManager.browserLogout(session, realm, authResult.getSession(), uriInfo, clientConnection, headers); + Response response = AuthenticationManager.browserLogout(session, realm, authResult.getSession(), session.getContext().getUri(), clientConnection, headers); logger.debug("finishing CAS browser logout"); return response; } @@ -76,10 +72,10 @@ client = realm.getClients().stream() .filter(c -> CASLoginProtocol.LOGIN_PROTOCOL.equals(c.getProtocol())) - .filter(c -> RedirectUtils.verifyRedirectUri(uriInfo, service, realm, c) != null) + .filter(c -> RedirectUtils.verifyRedirectUri(session.getContext().getUri(), service, realm, c) != null) .findFirst().orElse(null); if (client != null) { - redirectUri = RedirectUtils.verifyRedirectUri(uriInfo, service, realm, client); + redirectUri = RedirectUtils.verifyRedirectUri(session.getContext().getUri(), service, realm, client); session.getContext().setClient(client); } 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 792c525..f060435 100644 --- a/src/main/java/org/keycloak/protocol/cas/endpoints/ServiceValidateEndpoint.java +++ b/src/main/java/org/keycloak/protocol/cas/endpoints/ServiceValidateEndpoint.java @@ -51,7 +51,7 @@ } private Response prepare(Response.Status status, CASServiceResponse serviceResponse) { - MediaType responseMediaType = new ContentTypeHelper(request, restRequest, uriInfo).selectResponseType(); + MediaType responseMediaType = new ContentTypeHelper(request, restRequest, session.getContext().getUri()).selectResponseType(); return ServiceResponseHelper.createResponse(status, responseMediaType, serviceResponse); } } 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 6145334..9e84f0c 100644 --- a/src/main/java/org/keycloak/protocol/cas/endpoints/ValidateEndpoint.java +++ b/src/main/java/org/keycloak/protocol/cas/endpoints/ValidateEndpoint.java @@ -37,9 +37,6 @@ @Context protected HttpHeaders headers; - @Context - protected UriInfo uriInfo; - protected RealmModel realm; protected EventBuilder event; protected ClientModel client; @@ -53,7 +50,7 @@ @GET @NoCache public Response build() { - MultivaluedMap<String, String> params = uriInfo.getQueryParameters(); + MultivaluedMap<String, String> params = session.getContext().getUri().getQueryParameters(); String service = params.getFirst(CASLoginProtocol.SERVICE_PARAM); String ticket = params.getFirst(CASLoginProtocol.TICKET_PARAM); boolean renew = params.containsKey(CASLoginProtocol.RENEW_PARAM); @@ -83,7 +80,7 @@ } private void checkSsl() { - if (!uriInfo.getBaseUri().getScheme().equals("https") && realm.getSslRequired().isRequired(clientConnection)) { + if (!session.getContext().getUri().getBaseUri().getScheme().equals("https") && realm.getSslRequired().isRequired(clientConnection)) { throw new CASValidationException(CASErrorCode.INVALID_REQUEST, "HTTPS required", Response.Status.FORBIDDEN); } } @@ -102,7 +99,7 @@ client = realm.getClients().stream() .filter(c -> CASLoginProtocol.LOGIN_PROTOCOL.equals(c.getProtocol())) - .filter(c -> RedirectUtils.verifyRedirectUri(uriInfo, service, realm, c) != null) + .filter(c -> RedirectUtils.verifyRedirectUri(session.getContext().getUri(), service, realm, c) != null) .findFirst().orElse(null); if (client == null) { event.error(Errors.CLIENT_NOT_FOUND); -- Gitblit v1.9.1