public class ReconnectFilter extends GenericFilterBean
Servlet filter that intercepts Spring Social ApiExceptions thrown in the course of a request and attempts to reconcile any connection-related
problems by deleting the stale/revoked connection and walking the user through the connection process to obtain a new connection.
This filter handles the exceptions via the following flow:
ConnectController to kick of the authorization flow.| Constructor and Description |
|---|
ReconnectFilter(org.springframework.social.connect.UsersConnectionRepository usersConnectionRepository,
org.springframework.social.UserIdSource userIdSource)
Creates an instance of
ReconnectFilter. |
| Modifier and Type | Method and Description |
|---|---|
void |
doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) |
protected String |
getRefreshUrl(HttpServletRequest request,
org.springframework.social.ApiException apiException)
Returns the URL to redirect to if it is determined that a connection needs to be renewed.
|
protected boolean |
shouldPerformRefreshPostRequest(HttpServletRequest request)
Determines whether or not the handled request should be converted to a POST request to
ConnectController for authorization. |
addRequiredProperty, afterPropertiesSet, destroy, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContextpublic ReconnectFilter(org.springframework.social.connect.UsersConnectionRepository usersConnectionRepository,
org.springframework.social.UserIdSource userIdSource)
ReconnectFilter.usersConnectionRepository - a UsersConnectionRepository used to create a ConnectionRepository for the current user.userIdSource - an instance of UserIdSource to obtain the current user's ID used to create a ConnectionFactory.public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
IOExceptionServletExceptionprotected String getRefreshUrl(HttpServletRequest request, org.springframework.social.ApiException apiException)
ConnectController for authorization.
May be overridden by a subclass to handle other flows, such as redirecting to a page that informs the user that a new connection is needed.request - The HTTP request that triggered the exception.apiException - The ApiException.protected boolean shouldPerformRefreshPostRequest(HttpServletRequest request)
ConnectController for authorization.
By default, will return true if the request is a GET request for /connect/{provider ID} and there is a "reconnect" query parameter.
May be overridden by a subclass to consider other criteria in deciding whether or not to convert the request.request - the handled request.ConnectController.