Class CustomOidcClientInitiatedLogoutSuccessHandler

java.lang.Object
org.springframework.security.web.authentication.AbstractAuthenticationTargetUrlRequestHandler
org.springframework.security.web.authentication.logout.SimpleUrlLogoutSuccessHandler
com.xebialabs.platform.sso.oidc.web.CustomOidcClientInitiatedLogoutSuccessHandler
All Implemented Interfaces:
org.springframework.security.web.authentication.logout.LogoutSuccessHandler

public class CustomOidcClientInitiatedLogoutSuccessHandler extends org.springframework.security.web.authentication.logout.SimpleUrlLogoutSuccessHandler
A logout success handler for initiating OIDC logout through the user agent. This class is similar to OidcClientInitiatedLogoutSuccessHandler. This is customised to prevent encoding of URIs We can remove this class once this issue has been fixed by spring-security team.
  • Field Summary

    Fields inherited from class org.springframework.security.web.authentication.AbstractAuthenticationTargetUrlRequestHandler

    logger
  • Constructor Summary

    Constructors
    Constructor
    Description
    CustomOidcClientInitiatedLogoutSuccessHandler(org.springframework.security.oauth2.client.registration.ClientRegistrationRepository clientRegistrationRepository)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected String
    determineTargetUrl(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, org.springframework.security.core.Authentication authentication)
     
    void
    setPostLogoutRedirectUri(String postLogoutRedirectUri)
    Set the post logout redirect uri template to use.

    Methods inherited from class org.springframework.security.web.authentication.logout.SimpleUrlLogoutSuccessHandler

    onLogoutSuccess

    Methods inherited from class org.springframework.security.web.authentication.AbstractAuthenticationTargetUrlRequestHandler

    determineTargetUrl, getDefaultTargetUrl, getRedirectStrategy, getTargetUrlParameter, handle, isAlwaysUseDefaultTargetUrl, setAlwaysUseDefaultTargetUrl, setDefaultTargetUrl, setRedirectStrategy, setTargetUrlParameter, setUseReferer

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CustomOidcClientInitiatedLogoutSuccessHandler

      public CustomOidcClientInitiatedLogoutSuccessHandler(org.springframework.security.oauth2.client.registration.ClientRegistrationRepository clientRegistrationRepository)
  • Method Details

    • determineTargetUrl

      protected String determineTargetUrl(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, org.springframework.security.core.Authentication authentication)
      Overrides:
      determineTargetUrl in class org.springframework.security.web.authentication.AbstractAuthenticationTargetUrlRequestHandler
    • setPostLogoutRedirectUri

      public void setPostLogoutRedirectUri(String postLogoutRedirectUri)
      Set the post logout redirect uri template to use. Supports the "{baseUrl}" placeholder, for example:
              handler.setPostLogoutRedirectUriTemplate("{baseUrl}");
       

      will make so that post_logout_redirect_uri will be set to the base url for the client application.

      Parameters:
      postLogoutRedirectUri - - A template for creating the post_logout_redirect_uri query parameter
      Since:
      5.3