Spring Social Security error

350 views Asked by At

I'm using Spring Social Security in XML notation to authenticate users into my website with Google and Facebook.

Everything works fine but after a couple of hours it stops working and users can't authenticate using the social login. I don't know why the GET request to (Google example) https://www.googleapis.com/plus/v1/people/me give me a 400 bad request and redirect users to /signin instead of my redirect_uri.

If I restart my Tomcat server, social login authentication works again during another couple of hours. Now I have configured a crontab for restating my server every hour, but I don't think it's a good solution.

I have two supossals:

1) The problem is something related to an expired token and I should handle the Exception and reauthenticate throw the ConnectController flow. But I don't know how to do it. Any idea?

2) The problem is something related to my inMemoryUsersConnectionRepository that clears when I restart the server and works again.

spring-security.xml

<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security.xsd">

<beans:import resource="spring-web-servlet.xml" />

<authentication-manager alias="authenticationManager">
    <authentication-provider user-service-ref="customUserDetailsService">
        <password-encoder ref="encoder" />
    </authentication-provider>
    <authentication-provider ref="socialAuthenticationProvider" />
</authentication-manager>

<!-- social login filter which is a pre authentication filter and works 
    for /auth service url -->
<beans:bean id="socialAuthenticationFilter" name="socialAuthenticationFilter"
    class="org.springframework.social.security.SocialAuthenticationFilter">
    <beans:constructor-arg name="authManager"
        ref="authenticationManager" />
    <beans:constructor-arg name="userIdSource" ref="userIdSource" />
    <beans:constructor-arg name="usersConnectionRepository"
        ref="inMemoryUsersConnectionRepository" />
    <beans:constructor-arg name="authServiceLocator"
        ref="appSocialAuthenticationServiceRegistry" />
    <beans:property name="authenticationSuccessHandler"
        ref="successHandler" />
</beans:bean>

<beans:bean id="successHandler" class="com.ejemplo.social.AppSuccessHandler" />

<beans:bean id="failureHandler"
    class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler" />

<beans:bean
    class="org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter"
    id="SecurityAuthFilter">
    <beans:property name="authenticationManager" ref="authenticationManager" />
    <beans:property name="authenticationSuccessHandler"
        ref="successHandler" />
    <beans:property name="authenticationFailureHandler"
        ref="failureHandler" />
    <beans:property name="filterProcessesUrl" value="/j_spring_security_check" />
    <beans:property name="rememberMeServices" ref="rememberMeServices" />
</beans:bean>

<beans:bean id="authenticationProcessingFilter"
    class="org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter">
    <beans:property name="rememberMeServices" ref="rememberMeServices" />

    <beans:property name="authenticationManager" ref="authenticationManager" />
    <beans:property name="filterProcessesUrl" value="/?iniciar" />
    <beans:property name="authenticationSuccessHandler">
        <beans:bean
            class="org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler">
            <beans:property name="defaultTargetUrl" value="/dentro" />
        </beans:bean>
    </beans:property>
    <beans:property name="authenticationFailureHandler">
        <beans:bean
            class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler">
            <beans:property name="defaultFailureUrl" value="/?error" />
        </beans:bean>
    </beans:property>
</beans:bean>

<http auto-config="true" use-expressions="true">
    <csrf disabled="true" />
    <intercept-url pattern="/inicio" access="permitAll" />

    <form-login login-page="/?iniciar" default-target-url="/exist-usuario"
        authentication-failure-url="/?error" username-parameter="j_username"
        password-parameter="j_password" />

    <logout logout-url="/logout" logout-success-url="/?logout"
        invalidate-session="true" delete-cookies="JSESSIONID, TOKEN_KEY" />

    <remember-me user-service-ref="customUserDetailsService"
        key="TOKEN_KEY" />

    <headers disabled="true" />

    <!-- Adds social authentication filter to the Spring Security filter chain. -->
    <custom-filter before="PRE_AUTH_FILTER" ref="socialAuthenticationFilter" />
    <custom-filter before="FORM_LOGIN_FILTER" ref="SecurityAuthFilter" />
</http>

<beans:bean id="rememberMeServices"
    class="org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices">
    <beans:constructor-arg name="key" value="TOKEN_KEY" />
    <beans:constructor-arg name="userDetailsService"
        ref="customUserDetailsService" />
    <beans:property name="tokenValiditySeconds" value="30000"></beans:property>
    <beans:property name="parameter" value="remember-me" />
</beans:bean>

<beans:bean id="customUserDetailsService"
    class="com.ejemplo.security.CustomUserDetailsService">
</beans:bean>

<beans:bean id="customSocialUserDetailsService"
    class="com.ejemplo.social.CustomSocialUserDetailsService" />

<beans:bean id="userIdSource"
    class="org.springframework.social.security.AuthenticationNameUserIdSource" />

<beans:bean id="socialAuthenticationProvider"
    class="org.springframework.social.security.SocialAuthenticationProvider">
    <beans:constructor-arg ref="inMemoryUsersConnectionRepository" />
    <beans:constructor-arg ref="customSocialUserDetailsService" />
</beans:bean>

<!-- inmemory connection repository which holds connection repository per 
    local user -->
<beans:bean id="inMemoryUsersConnectionRepository"
    class="org.springframework.social.connect.mem.InMemoryUsersConnectionRepository">
    <beans:constructor-arg name="connectionFactoryLocator"
        ref="appSocialAuthenticationServiceRegistry" />
    <beans:property name="connectionSignUp" ref="connectionSignUp" />
</beans:bean>

<!-- If no local user is associated to a social connection then connection 
    sign up will create a new local user and map it to social user -->
<beans:bean id="connectionSignUp" class="com.ejemplo.social.AppConnectionSignUp" />

<!-- service registry will holds connection factory of each social provider -->
<beans:bean id="appSocialAuthenticationServiceRegistry"
    class="com.ejemplo.social.AppSocialAuthenticationServiceRegistry">
    <beans:constructor-arg>
        <beans:list>
            <beans:ref bean="facebookAuthenticationService" />
            <!-- <beans:ref bean="twitterAuthenticationService" /> -->
            <beans:ref bean="googleAuthenticationService" />
        </beans:list>
    </beans:constructor-arg>
</beans:bean>
<beans:bean id="facebookAuthenticationService"
    class="org.springframework.social.facebook.security.FacebookAuthenticationService">
    <beans:constructor-arg name="apiKey"
        value="${app.config.oauth.facebook.apikey}" />
    <beans:constructor-arg name="appSecret"
        value="${app.config.oauth.facebook.apisecret}" />
</beans:bean>
<beans:bean id="googleAuthenticationService"
    class="org.springframework.social.google.security.GoogleAuthenticationService">
    <beans:constructor-arg name="apiKey"
        value="${app.config.oauth.google.apikey}" />
    <beans:constructor-arg name="appSecret"
        value="${app.config.oauth.google.apisecret}" />
</beans:bean>

<beans:bean id="encoder"
    class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder" />

<!-- Enable the annotations for defining the secure role -->
<beans:bean id="expressionHandler"
    class="org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler" />

<global-method-security pre-post-annotations="enabled">
    <expression-handler ref="expressionHandler" />
</global-method-security>

web.xml

<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

pom.xml

<properties>
    <jdk.version>1.8</jdk.version>
    <spring.version>4.3.0.RELEASE</spring.version>
    <spring.security.version>4.0.2.RELEASE</spring.security.version>
    <spring.social.version>1.1.4.RELEASE</spring.social.version>
    <jstl.version>1.2</jstl.version>
    <log4j.version>1.2.17</log4j.version>
    <slf4j.version>1.6.1</slf4j.version>
</properties>

menu.jsp

    <h4>Iniciar sesión con:</h4>
<a href="<c:url value='../auth/facebook?scope=email' />"
    rel="nofollow"
    class="btn-facebook"> <i
    class="zmdi zmdi-facebook"></i> Facebook
</a> <a href="<c:url value='../auth/google?scope=email' />"
    rel="nofollow" class="btn-google">
    <i class="zmdi zmdi-google"></i> Google
</a>

application.properties

app.config.oauth.facebook.apikey=******
app.config.oauth.facebook.apisecret=******
app.config.oauth.twitter.apikey=******
app.config.oauth.twitter.apisecret=******
app.config.oauth.google.apikey=******
app.config.oauth.google.apisecret=******

Logs

DEBUG   2018-02-18 23:37:52,713 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /auth/google?scope=email at position 1 of 14 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter'
DEBUG   2018-02-18 23:37:52,713 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /auth/google?scope=email at position 2 of 14 in additional filter chain; firing Filter: 'WebAsyncManagerIntegrationFilter'
DEBUG   2018-02-18 23:37:52,713 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /auth/google?scope=email at position 3 of 14 in additional filter chain; firing Filter: 'LogoutFilter'
DEBUG   2018-02-18 23:37:52,713 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /auth/google?scope=email at position 4 of 14 in additional filter chain; firing Filter: 'SocialAuthenticationFilter'
DEBUG   2018-02-18 23:37:52,713 [ajp-bio-8009-exec-3] org.springframework.social.security.SocialAuthenticationFilter  - Request is to process authentication
DEBUG   2018-02-18 23:37:52,714 [ajp-bio-8009-exec-3] org.springframework.social.security.SocialAuthenticationFilter  - Authentication request failed: org.springframework.social.security.SocialAuthenticationRedirectException: 
DEBUG   2018-02-18 23:37:52,714 [ajp-bio-8009-exec-3] org.springframework.social.security.SocialAuthenticationFilter  - Updated SecurityContextHolder to contain null Authentication
DEBUG   2018-02-18 23:37:52,714 [ajp-bio-8009-exec-3] org.springframework.social.security.SocialAuthenticationFilter  - Delegating to authentication failure handler org.springframework.social.security.SocialAuthenticationFailureHandler@22ad613b
DEBUG   2018-02-18 23:37:52,909 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /auth/google?state=63c3ac35-e0f3-46b7-9887-d8932c6b0034&code=4/AADVb20K49mFatQ8hDxLtqLlvz8LSsD4IHB2ciufaR46gzPrJr1RUoJmw1QM_Zb4pc7ruZ9snU1-IdOg2SnGu34 at position 1 of 14 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter'
DEBUG   2018-02-18 23:37:52,909 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /auth/google?state=63c3ac35-e0f3-46b7-9887-d8932c6b0034&code=4/AADVb20K49mFatQ8hDxLtqLlvz8LSsD4IHB2ciufaR46gzPrJr1RUoJmw1QM_Zb4pc7ruZ9snU1-IdOg2SnGu34 at position 2 of 14 in additional filter chain; firing Filter: 'WebAsyncManagerIntegrationFilter'
DEBUG   2018-02-18 23:37:52,909 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /auth/google?state=63c3ac35-e0f3-46b7-9887-d8932c6b0034&code=4/AADVb20K49mFatQ8hDxLtqLlvz8LSsD4IHB2ciufaR46gzPrJr1RUoJmw1QM_Zb4pc7ruZ9snU1-IdOg2SnGu34 at position 3 of 14 in additional filter chain; firing Filter: 'LogoutFilter'
DEBUG   2018-02-18 23:37:52,909 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /auth/google?state=63c3ac35-e0f3-46b7-9887-d8932c6b0034&code=4/AADVb20K49mFatQ8hDxLtqLlvz8LSsD4IHB2ciufaR46gzPrJr1RUoJmw1QM_Zb4pc7ruZ9snU1-IdOg2SnGu34 at position 4 of 14 in additional filter chain; firing Filter: 'SocialAuthenticationFilter'
DEBUG   2018-02-18 23:37:52,909 [ajp-bio-8009-exec-3] org.springframework.social.security.SocialAuthenticationFilter  - Request is to process authentication
DEBUG   2018-02-18 23:37:52,909 [ajp-bio-8009-exec-3] org.springframework.web.client.RestTemplate  - Created POST request for "https://accounts.google.com/o/oauth2/token"
DEBUG   2018-02-18 23:37:52,909 [ajp-bio-8009-exec-3] org.springframework.web.client.RestTemplate  - Setting request Accept header to [application/x-www-form-urlencoded, multipart/form-data, application/json, application/+json]
DEBUG   2018-02-18 23:37:52,909 [ajp-bio-8009-exec-3] org.springframework.web.client.RestTemplate  - Writing [{client_id=[**********.apps.googleusercontent.com], client_secret=[************], code=[4/AADVb20K49mFatQ8hDxLtqLlvz8LSsD4IHB2ciufaR46gzPrJr1RUoJmw1QM_Zb4pc7ruZ9snU1-IdOg2SnGu34], redirect_uri=[https://ejemplo.com/auth/google], grant_type=[authorization_code]}] as "application/x-www-form-urlencoded" using [org.springframework.http.converter.FormHttpMessageConverter@45fbaee9]
DEBUG   2018-02-18 23:37:52,980 [ajp-bio-8009-exec-3] org.springframework.web.client.RestTemplate  - POST request for "https://accounts.google.com/o/oauth2/token" resulted in 200 (OK)
DEBUG   2018-02-18 23:37:52,980 [ajp-bio-8009-exec-3] org.springframework.web.client.RestTemplate  - Reading [interface java.util.Map] as "application/json;charset=utf-8" using [org.springframework.http.converter.json.MappingJackson2HttpMessageConverter@4e445436]
DEBUG   2018-02-18 23:37:52,984 [ajp-bio-8009-exec-3] org.springframework.web.client.RestTemplate  - Created GET request for "https://www.googleapis.com/plus/v1/people/me"
DEBUG   2018-02-18 23:37:52,988 [ajp-bio-8009-exec-3] org.springframework.web.client.RestTemplate  - Setting request Accept header to [application/json, application/*+json]
DEBUG   2018-02-18 23:37:52,989 [ajp-bio-8009-exec-3] org.springframework.social.google.security.GoogleAuthenticationService  - failed to exchange for access
org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://www.googleapis.com/plus/v1/people/me": Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Petición incorrecta"; nested exception is java.io.IOException: Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Petición incorrecta"
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:633)
    at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:580)
    at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:287)
    at org.springframework.social.google.api.impl.AbstractGoogleApiOperations.getEntity(AbstractGoogleApiOperations.java:50)
    at org.springframework.social.google.api.plus.impl.PlusTemplate.getPerson(PlusTemplate.java:105)
    at org.springframework.social.google.api.plus.impl.PlusTemplate.getGoogleProfile(PlusTemplate.java:110)
    at org.springframework.social.google.connect.GoogleAdapter.fetchUserProfile(GoogleAdapter.java:51)
    at org.springframework.social.google.connect.GoogleAdapter.fetchUserProfile(GoogleAdapter.java:31)
    at org.springframework.social.google.connect.GoogleConnectionFactory.extractProviderUserId(GoogleConnectionFactory.java:37)
    at org.springframework.social.connect.support.OAuth2ConnectionFactory.createConnection(OAuth2ConnectionFactory.java:93)
    at org.springframework.social.security.provider.OAuth2AuthenticationService.getAuthToken(OAuth2AuthenticationService.java:100)
    at org.springframework.social.security.SocialAuthenticationFilter.attemptAuthService(SocialAuthenticationFilter.java:266)
    at org.springframework.social.security.SocialAuthenticationFilter.attemptAuthentication(SocialAuthenticationFilter.java:173)
    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:217)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:120)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213)
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.filters.ExpiresFilter.doFilter(ExpiresFilter.java:1201)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
    at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
    at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:221)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
    at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Petición incorrecta"
    at sun.net.www.protocol.http.HttpURLConnection.doTunneling(HttpURLConnection.java:2142)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:183)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:162)
    at org.springframework.http.client.SimpleBufferingClientHttpRequest.executeInternal(SimpleBufferingClientHttpRequest.java:78)
    at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48)
    at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:53)
    at org.springframework.http.client.InterceptingClientHttpRequest$InterceptingRequestExecution.execute(InterceptingClientHttpRequest.java:93)
    at org.springframework.social.oauth2.OAuth2RequestInterceptor.intercept(OAuth2RequestInterceptor.java:45)
    at org.springframework.http.client.InterceptingClientHttpRequest$InterceptingRequestExecution.execute(InterceptingClientHttpRequest.java:85)
    at org.springframework.http.client.InterceptingClientHttpRequest.executeInternal(InterceptingClientHttpRequest.java:69)
    at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48)
    at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:53)
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:619)
    ... 55 more
DEBUG   2018-02-18 23:37:52,989 [ajp-bio-8009-exec-3] org.springframework.social.security.SocialAuthenticationFilter  - Authentication request failed: org.springframework.security.authentication.AuthenticationServiceException: authentication failed
DEBUG   2018-02-18 23:37:52,989 [ajp-bio-8009-exec-3] org.springframework.social.security.SocialAuthenticationFilter  - Updated SecurityContextHolder to contain null Authentication
DEBUG   2018-02-18 23:37:52,989 [ajp-bio-8009-exec-3] org.springframework.social.security.SocialAuthenticationFilter  - Delegating to authentication failure handler org.springframework.social.security.SocialAuthenticationFailureHandler@22ad613b
DEBUG   2018-02-18 23:37:53,048 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /signin at position 1 of 14 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter'
DEBUG   2018-02-18 23:37:53,048 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /signin at position 2 of 14 in additional filter chain; firing Filter: 'WebAsyncManagerIntegrationFilter'
DEBUG   2018-02-18 23:37:53,048 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /signin at position 3 of 14 in additional filter chain; firing Filter: 'LogoutFilter'
DEBUG   2018-02-18 23:37:53,048 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /signin at position 4 of 14 in additional filter chain; firing Filter: 'SocialAuthenticationFilter'
DEBUG   2018-02-18 23:37:53,048 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /signin at position 5 of 14 in additional filter chain; firing Filter: 'UsernamePasswordAuthenticationFilter'
DEBUG   2018-02-18 23:37:53,048 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /signin at position 6 of 14 in additional filter chain; firing Filter: 'UsernamePasswordAuthenticationFilter'
DEBUG   2018-02-18 23:37:53,048 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /signin at position 7 of 14 in additional filter chain; firing Filter: 'BasicAuthenticationFilter'
DEBUG   2018-02-18 23:37:53,048 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /signin at position 8 of 14 in additional filter chain; firing Filter: 'RequestCacheAwareFilter'
DEBUG   2018-02-18 23:37:53,048 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /signin at position 9 of 14 in additional filter chain; firing Filter: 'SecurityContextHolderAwareRequestFilter'
DEBUG   2018-02-18 23:37:53,048 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /signin at position 10 of 14 in additional filter chain; firing Filter: 'RememberMeAuthenticationFilter'
DEBUG   2018-02-18 23:37:53,049 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /signin at position 11 of 14 in additional filter chain; firing Filter: 'AnonymousAuthenticationFilter'
DEBUG   2018-02-18 23:37:53,049 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /signin at position 12 of 14 in additional filter chain; firing Filter: 'SessionManagementFilter'
DEBUG   2018-02-18 23:37:53,049 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /signin at position 13 of 14 in additional filter chain; firing Filter: 'ExceptionTranslationFilter'
DEBUG   2018-02-18 23:37:53,049 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /signin at position 14 of 14 in additional filter chain; firing Filter: 'FilterSecurityInterceptor'
DEBUG   2018-02-18 23:37:53,049 [ajp-bio-8009-exec-3] org.springframework.security.web.FilterChainProxy  - /signin reached end of additional filter chain; proceeding with original chain

Thank you very much for the help!

0

There are 0 answers