Skip to content

Commit

Permalink
Fixed SAML 2 code changes in Spring 6
Browse files Browse the repository at this point in the history
  • Loading branch information
tonydamage committed May 16, 2023
1 parent ba00b18 commit 0d41ca6
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@
package com.evolveum.midpoint.authentication.impl.saml;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import com.evolveum.midpoint.authentication.impl.filter.RemoteAuthenticationFilter;

import org.springframework.security.core.AuthenticationException;
import org.springframework.security.saml2.provider.service.servlet.filter.Saml2WebSsoAuthenticationFilter;
import org.springframework.security.saml2.provider.service.web.authentication.Saml2WebSsoAuthenticationFilter;
import org.springframework.security.web.authentication.AuthenticationConverter;

import com.evolveum.midpoint.model.api.ModelAuditRecorder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,23 @@

package com.evolveum.midpoint.authentication.impl.saml;

import org.springframework.security.saml2.provider.service.authentication.Saml2AuthenticationRequestFactory;
import org.springframework.security.saml2.provider.service.servlet.filter.Saml2WebSsoAuthenticationRequestFilter;
import org.springframework.security.saml2.provider.service.web.Saml2AuthenticationRequestContextResolver;
import org.springframework.security.saml2.provider.service.web.Saml2WebSsoAuthenticationRequestFilter;
import org.springframework.security.saml2.provider.service.web.authentication.OpenSaml4AuthenticationRequestResolver;
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
import org.springframework.security.web.util.matcher.RequestMatcher;

public class MidpointSaml2WebSsoAuthenticationRequestFilter extends Saml2WebSsoAuthenticationRequestFilter {

private RequestMatcher redirectMatcher = new AntPathRequestMatcher("/saml2/authenticate/{registrationId}");
private final Saml2AuthenticationRequestContextResolver authenticationRequestContextResolver;
private final OpenSaml4AuthenticationRequestResolver authenticationRequestResolver;

public MidpointSaml2WebSsoAuthenticationRequestFilter(Saml2AuthenticationRequestContextResolver authenticationRequestContextResolver, Saml2AuthenticationRequestFactory authenticationRequestFactory) {
super(authenticationRequestContextResolver, authenticationRequestFactory);
this.authenticationRequestContextResolver = authenticationRequestContextResolver;
public MidpointSaml2WebSsoAuthenticationRequestFilter(OpenSaml4AuthenticationRequestResolver authenticationRequestContextResolver) {
super(authenticationRequestContextResolver);
this.authenticationRequestResolver = authenticationRequestContextResolver;
}

@Override
public void setRedirectMatcher(RequestMatcher redirectMatcher) {
super.setRedirectMatcher(redirectMatcher);
this.redirectMatcher = redirectMatcher;

public OpenSaml4AuthenticationRequestResolver getAuthenticationRequestResolver() {
return authenticationRequestResolver;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import org.springframework.beans.TypeMismatchException;
import org.springframework.core.NestedExceptionUtils;
import org.springframework.http.HttpStatus;
import org.springframework.http.HttpStatusCode;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.web.HttpMediaTypeNotAcceptableException;
Expand Down Expand Up @@ -110,7 +111,7 @@ public ResponseEntity<?> serviceUnavailableHandler(
@ExceptionHandler(ResponseStatusException.class)
public ResponseEntity<?> handleResponseStatusException(
ResponseStatusException ex, HttpServletRequest request) {
return errorResponse(ex.getStatus(), request, ex);
return errorResponse(ex.getStatusCode(), request, ex);
}

@ExceptionHandler(Exception.class)
Expand All @@ -121,13 +122,13 @@ public ResponseEntity<?> defaultHandler(
}

private ResponseEntity<?> errorResponse(
HttpStatus status, HttpServletRequest request, Throwable ex) {
HttpStatusCode status, HttpServletRequest request, Throwable ex) {
String message = ex.getMessage();
LOGGER.debug("HTTP error status {} with message: {}", status.value(), message);

OperationResult result = new OperationResult(request.getRequestURI())
.addParam("status", status.value())
.addParam("error", status.getReasonPhrase());
.addParam("status", status.value());
// .addParam("error", status.);
result.recordFatalError(ex);

return ResponseEntity.status(status).body(result.createOperationResultType());
Expand Down

0 comments on commit 0d41ca6

Please sign in to comment.