Class OAuth2DeviceVerificationEndpointFilter

java.lang.Object
org.springframework.web.filter.GenericFilterBean
org.springframework.web.filter.OncePerRequestFilter
org.springframework.security.oauth2.server.authorization.web.OAuth2DeviceVerificationEndpointFilter
All Implemented Interfaces:
jakarta.servlet.Filter, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.EnvironmentAware, org.springframework.core.env.EnvironmentCapable, org.springframework.web.context.ServletContextAware

public final class OAuth2DeviceVerificationEndpointFilter extends org.springframework.web.filter.OncePerRequestFilter
A Filter for the OAuth 2.0 Device Authorization Grant, which handles the processing of the Device Verification Request (submission of the user code) and the Device Authorization Consent.
Since:
1.1
See Also:
  • Field Summary

    Fields inherited from class org.springframework.web.filter.OncePerRequestFilter

    ALREADY_FILTERED_SUFFIX

    Fields inherited from class org.springframework.web.filter.GenericFilterBean

    logger
  • Constructor Summary

    Constructors
    Constructor
    Description
    OAuth2DeviceVerificationEndpointFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager)
    Constructs an OAuth2DeviceVerificationEndpointFilter using the provided parameters.
    OAuth2DeviceVerificationEndpointFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager, String deviceVerificationEndpointUri)
    Constructs an OAuth2DeviceVerificationEndpointFilter using the provided parameters.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    doFilterInternal(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.FilterChain filterChain)
     
    void
    setAuthenticationConverter(org.springframework.security.web.authentication.AuthenticationConverter authenticationConverter)
    Sets the AuthenticationConverter used when attempting to extract a Device Verification Request (or Device Authorization Consent) from HttpServletRequest to an instance of OAuth2DeviceVerificationAuthenticationToken or OAuth2DeviceAuthorizationConsentAuthenticationToken used for authenticating the request.
    void
    setAuthenticationDetailsSource(org.springframework.security.authentication.AuthenticationDetailsSource<jakarta.servlet.http.HttpServletRequest,?> authenticationDetailsSource)
    Sets the AuthenticationDetailsSource used for building an authentication details instance from HttpServletRequest.
    void
    setAuthenticationFailureHandler(org.springframework.security.web.authentication.AuthenticationFailureHandler authenticationFailureHandler)
    Sets the AuthenticationFailureHandler used for handling an OAuth2AuthenticationException and returning the Error Response.
    void
    setAuthenticationSuccessHandler(org.springframework.security.web.authentication.AuthenticationSuccessHandler authenticationSuccessHandler)
    Sets the AuthenticationSuccessHandler used for handling an OAuth2DeviceVerificationAuthenticationToken and returning the response.
    void
    setConsentPage(String consentPage)
    Specify the URI to redirect Resource Owners to if consent is required.

    Methods inherited from class org.springframework.web.filter.OncePerRequestFilter

    doFilter, doFilterNestedErrorDispatch, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter, shouldNotFilterAsyncDispatch, shouldNotFilterErrorDispatch

    Methods inherited from class org.springframework.web.filter.GenericFilterBean

    addRequiredProperty, afterPropertiesSet, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext

    Methods inherited from class java.lang.Object

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

    • OAuth2DeviceVerificationEndpointFilter

      public OAuth2DeviceVerificationEndpointFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager)
      Constructs an OAuth2DeviceVerificationEndpointFilter using the provided parameters.
      Parameters:
      authenticationManager - the authentication manager
    • OAuth2DeviceVerificationEndpointFilter

      public OAuth2DeviceVerificationEndpointFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager, String deviceVerificationEndpointUri)
      Constructs an OAuth2DeviceVerificationEndpointFilter using the provided parameters.
      Parameters:
      authenticationManager - the authentication manager
      deviceVerificationEndpointUri - the endpoint URI for device verification requests
  • Method Details

    • doFilterInternal

      protected void doFilterInternal(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.FilterChain filterChain) throws jakarta.servlet.ServletException, IOException
      Specified by:
      doFilterInternal in class org.springframework.web.filter.OncePerRequestFilter
      Throws:
      jakarta.servlet.ServletException
      IOException
    • setAuthenticationDetailsSource

      public void setAuthenticationDetailsSource(org.springframework.security.authentication.AuthenticationDetailsSource<jakarta.servlet.http.HttpServletRequest,?> authenticationDetailsSource)
      Sets the AuthenticationDetailsSource used for building an authentication details instance from HttpServletRequest.
      Parameters:
      authenticationDetailsSource - the AuthenticationDetailsSource used for building an authentication details instance from HttpServletRequest
    • setAuthenticationConverter

      public void setAuthenticationConverter(org.springframework.security.web.authentication.AuthenticationConverter authenticationConverter)
      Sets the AuthenticationConverter used when attempting to extract a Device Verification Request (or Device Authorization Consent) from HttpServletRequest to an instance of OAuth2DeviceVerificationAuthenticationToken or OAuth2DeviceAuthorizationConsentAuthenticationToken used for authenticating the request.
      Parameters:
      authenticationConverter - the AuthenticationConverter used when attempting to extract a Device Verification Request (or Device Authorization Consent) from HttpServletRequest
    • setAuthenticationSuccessHandler

      public void setAuthenticationSuccessHandler(org.springframework.security.web.authentication.AuthenticationSuccessHandler authenticationSuccessHandler)
      Sets the AuthenticationSuccessHandler used for handling an OAuth2DeviceVerificationAuthenticationToken and returning the response.
      Parameters:
      authenticationSuccessHandler - the AuthenticationSuccessHandler used for handling an OAuth2DeviceVerificationAuthenticationToken
    • setAuthenticationFailureHandler

      public void setAuthenticationFailureHandler(org.springframework.security.web.authentication.AuthenticationFailureHandler authenticationFailureHandler)
      Sets the AuthenticationFailureHandler used for handling an OAuth2AuthenticationException and returning the Error Response.
      Parameters:
      authenticationFailureHandler - the AuthenticationFailureHandler used for handling an OAuth2AuthenticationException
    • setConsentPage

      public void setConsentPage(String consentPage)
      Specify the URI to redirect Resource Owners to if consent is required. A default consent page will be generated when this attribute is not specified.
      Parameters:
      consentPage - the URI of the custom consent page to redirect to if consent is required (e.g. "/oauth2/consent")