public final class OAuth2TokenEndpointFilter
extends org.springframework.web.filter.OncePerRequestFilter
Filter for the OAuth 2.0 Token endpoint,
which handles the processing of an OAuth 2.0 Authorization Grant.
It converts the OAuth 2.0 Authorization Grant request to an Authentication,
which is then authenticated by the AuthenticationManager.
If the authentication succeeds, the AuthenticationManager returns an
OAuth2AccessTokenAuthenticationToken, which is returned in the OAuth 2.0 Access Token response.
In case of any error, an OAuth2Error is returned in the OAuth 2.0 Error response.
By default, this Filter responds to authorization grant requests
at the URI /oauth2/token and HttpMethod POST.
The default endpoint URI /oauth2/token may be overridden
via the constructor OAuth2TokenEndpointFilter(AuthenticationManager, String).
AuthenticationManager,
OAuth2AuthorizationCodeAuthenticationProvider,
OAuth2RefreshTokenAuthenticationProvider,
OAuth2ClientCredentialsAuthenticationProvider,
Section 3.2 Token Endpoint| Constructor and Description |
|---|
OAuth2TokenEndpointFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager)
Constructs an
OAuth2TokenEndpointFilter using the provided parameters. |
OAuth2TokenEndpointFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager,
java.lang.String tokenEndpointUri)
Constructs an
OAuth2TokenEndpointFilter using the provided parameters. |
| Modifier and Type | Method and Description |
|---|---|
protected void |
doFilterInternal(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
javax.servlet.FilterChain filterChain) |
void |
setAuthenticationConverter(org.springframework.security.web.authentication.AuthenticationConverter authenticationConverter)
Sets the
AuthenticationConverter used when attempting to extract an Access Token Request from HttpServletRequest
to an instance of OAuth2AuthorizationGrantAuthenticationToken used for authenticating the authorization grant. |
void |
setAuthenticationDetailsSource(org.springframework.security.authentication.AuthenticationDetailsSource<javax.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 OAuth2AccessTokenAuthenticationToken
and returning the Access Token Response. |
doFilter, doFilterNestedErrorDispatch, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter, shouldNotFilterAsyncDispatch, shouldNotFilterErrorDispatchpublic OAuth2TokenEndpointFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager)
OAuth2TokenEndpointFilter using the provided parameters.authenticationManager - the authentication managerpublic OAuth2TokenEndpointFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager,
java.lang.String tokenEndpointUri)
OAuth2TokenEndpointFilter using the provided parameters.authenticationManager - the authentication managertokenEndpointUri - the endpoint URI for access token requestsprotected void doFilterInternal(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
javax.servlet.FilterChain filterChain)
throws javax.servlet.ServletException,
java.io.IOException
doFilterInternal in class org.springframework.web.filter.OncePerRequestFilterjavax.servlet.ServletExceptionjava.io.IOExceptionpublic void setAuthenticationDetailsSource(org.springframework.security.authentication.AuthenticationDetailsSource<javax.servlet.http.HttpServletRequest,?> authenticationDetailsSource)
AuthenticationDetailsSource used for building an authentication details instance from HttpServletRequest.authenticationDetailsSource - the AuthenticationDetailsSource used for building an authentication details instance from HttpServletRequestpublic void setAuthenticationConverter(org.springframework.security.web.authentication.AuthenticationConverter authenticationConverter)
AuthenticationConverter used when attempting to extract an Access Token Request from HttpServletRequest
to an instance of OAuth2AuthorizationGrantAuthenticationToken used for authenticating the authorization grant.authenticationConverter - the AuthenticationConverter used when attempting to extract an Access Token Request from HttpServletRequestpublic void setAuthenticationSuccessHandler(org.springframework.security.web.authentication.AuthenticationSuccessHandler authenticationSuccessHandler)
AuthenticationSuccessHandler used for handling an OAuth2AccessTokenAuthenticationToken
and returning the Access Token Response.authenticationSuccessHandler - the AuthenticationSuccessHandler used for handling an OAuth2AccessTokenAuthenticationTokenpublic void setAuthenticationFailureHandler(org.springframework.security.web.authentication.AuthenticationFailureHandler authenticationFailureHandler)
AuthenticationFailureHandler used for handling an OAuth2AuthenticationException
and returning the Error Response.authenticationFailureHandler - the AuthenticationFailureHandler used for handling an OAuth2AuthenticationException