Skip to content
This repository has been archived by the owner on Oct 12, 2020. It is now read-only.

Commit

Permalink
update for KEYCLOAK-7967 Remove injection of UriInfo
Browse files Browse the repository at this point in the history
  • Loading branch information
Doccrazy committed Sep 8, 2018
1 parent 906d53e commit dee145f
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@ public class CASLoginProtocolService {
private RealmModel realm;
private EventBuilder event;

@Context
private UriInfo uriInfo;

@Context
private KeycloakSession session;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public AuthorizationEndpoint(RealmModel realm, EventBuilder event) {

@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);
Expand All @@ -53,7 +53,7 @@ public Response build() {
}

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) {
Expand All @@ -64,7 +64,7 @@ private void checkClient(String service) {

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);
Expand All @@ -76,7 +76,7 @@ private void checkClient(String service) {
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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -37,9 +36,6 @@ public class LogoutEndpoint {
@Context
private HttpHeaders headers;

@Context
private UriInfo uriInfo;

private RealmModel realm;
private EventBuilder event;
private ClientModel client;
Expand All @@ -62,7 +58,7 @@ public Response logout(@QueryParam(CASLoginProtocol.SERVICE_PARAM) String servic
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;
}
Expand All @@ -76,10 +72,10 @@ private void checkClient(String service) {

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);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ protected Response errorResponse(CASValidationException e) {
}

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);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,6 @@ public class ValidateEndpoint {
@Context
protected HttpHeaders headers;

@Context
protected UriInfo uriInfo;

protected RealmModel realm;
protected EventBuilder event;
protected ClientModel client;
Expand All @@ -53,7 +50,7 @@ public ValidateEndpoint(RealmModel realm, EventBuilder event) {
@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);
Expand Down Expand Up @@ -83,7 +80,7 @@ protected Response errorResponse(CASValidationException e) {
}

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);
}
}
Expand All @@ -102,7 +99,7 @@ private void checkClient(String service) {

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);
Expand Down

0 comments on commit dee145f

Please sign in to comment.