Circular Login Using auth0-spring-security-mvc-sample

Hi Group,
I am new here and new to Spring boot - lots of experience with other app servers though.

I am doing the sample from Git hub auth0-spring-security-mvc-sample.

My App compiles and runs. Login screen appears and I can login using connection to Google. Claims are returned but the app just sends me back to the login screen?

Console log shows a lot of stuff but i do not know the default behaviour so do not know if certain errors are normal.

Example is this:

rying to match using Ant [pattern=’/logout’, GET]
2020-02-22 13:08:16.188 DEBUG 4025 — [nio-3000-exec-1] o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : ‘/error’; against ‘/logout’
2020-02-22 13:08:16.188 DEBUG 4025 — [nio-3000-exec-1] o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, POST]
2020-02-22 13:08:16.188 DEBUG 4025 — [nio-3000-exec-1] o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /error’ doesn’t match ‘POST /logout’
2020-02-22 13:08:16.188 DEBUG 4025 — [nio-3000-exec-1] o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, PUT]
2020-02-22 13:08:16.188 DEBUG 4025 — [nio-3000-exec-1] o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /error’ doesn’t match ‘PUT /logout’
2020-02-22 13:08:16.188 DEBUG 4025 — [nio-3000-exec-1] o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, DELETE]
2020-02-22 13:08:16.188 DEBUG 4025 — [nio-3000-exec-1] o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /error’ doesn’t match ‘DELETE /logout’
2020-02-22 13:08:16.188 DEBUG 4025 — [nio-3000-exec-1] o.s.s.web.util.matcher.OrRequestMatcher : No matches found

Is that normal ?

I have tried using the version directly from Github and although I am using Maven instead of Gradle I have the same packages and versions.

Any help to find out what is going wrong?

Full Console log from a transaction of logging into Auth0

o.s.b.w.f.OrderedRequestContextFilter : Bound request context to thread: org.apache.catalina.connector.RequestFacade@37223258
o.s.security.web.FilterChainProxy : /callback?code=OePkuY2nfSU9SjrH&state=egofa5r8P6ca8lm5brrttYJ0h_HsB_GiYD56IXp9bOE at position 1 of 10 in additional filter chain; firing Filter: ‘WebAsyncManagerIntegrationFilter’
o.s.security.web.FilterChainProxy : /callback?code=OePkuY2nfSU9SjrH&state=egofa5r8P6ca8lm5brrttYJ0h_HsB_GiYD56IXp9bOE at position 2 of 10 in additional filter chain; firing Filter: ‘SecurityContextPersistenceFilter’
w.c.HttpSessionSecurityContextRepository : Obtained a valid SecurityContext from SPRING_SECURITY_CONTEXT: ‘org.springframework.security.core.context.SecurityContextImpl@2b8d6cd4: Authentication: com.auth0.example.security.TokenAuthentication@2b8d6cd4: Principal: google-oauth2|107775284898878147195; Credentials: [PROTECTED]; Authenticated: true; Details: null; Not granted any authorities’
o.s.security.web.FilterChainProxy : /callback?code=OePkuY2nfSU9SjrH&state=egofa5r8P6ca8lm5brrttYJ0h_HsB_GiYD56IXp9bOE at position 3 of 10 in additional filter chain; firing Filter: ‘HeaderWriterFilter’
o.s.security.web.FilterChainProxy : /callback?code=OePkuY2nfSU9SjrH&state=egofa5r8P6ca8lm5brrttYJ0h_HsB_GiYD56IXp9bOE at position 4 of 10 in additional filter chain; firing Filter: ‘LogoutFilter’
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, GET]
o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : ‘/callback’; against ‘/logout’
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, POST]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /callback’ doesn’t match ‘POST /logout
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, PUT]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /callback’ doesn’t match ‘PUT /logout
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, DELETE]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /callback’ doesn’t match ‘DELETE /logout
o.s.s.web.util.matcher.OrRequestMatcher : No matches found
o.s.security.web.FilterChainProxy : /callback?code=OePkuY2nfSU9SjrH&state=egofa5r8P6ca8lm5brrttYJ0h_HsB_GiYD56IXp9bOE at position 5 of 10 in additional filter chain; firing Filter: ‘RequestCacheAwareFilter’
o.s.security.web.FilterChainProxy : /callback?code=OePkuY2nfSU9SjrH&state=egofa5r8P6ca8lm5brrttYJ0h_HsB_GiYD56IXp9bOE at position 6 of 10 in additional filter chain; firing Filter: ‘SecurityContextHolderAwareRequestFilter’
o.s.security.web.FilterChainProxy : /callback?code=OePkuY2nfSU9SjrH&state=egofa5r8P6ca8lm5brrttYJ0h_HsB_GiYD56IXp9bOE at position 7 of 10 in additional filter chain; firing Filter: ‘AnonymousAuthenticationFilter’
o.s.s.w.a.AnonymousAuthenticationFilter : SecurityContextHolder not populated with anonymous token, as it already contained: ‘com.auth0.example.security.TokenAuthentication@2b8d6cd4: Principal: google-oauth2|107775284898878147195; Credentials: [PROTECTED]; Authenticated: true; Details: null; Not granted any authorities’
o.s.security.web.FilterChainProxy : /callback?code=OePkuY2nfSU9SjrH&state=egofa5r8P6ca8lm5brrttYJ0h_HsB_GiYD56IXp9bOE at position 8 of 10 in additional filter chain; firing Filter: ‘SessionManagementFilter’
o.s.security.web.FilterChainProxy : /callback?code=OePkuY2nfSU9SjrH&state=egofa5r8P6ca8lm5brrttYJ0h_HsB_GiYD56IXp9bOE at position 9 of 10 in additional filter chain; firing Filter: ‘ExceptionTranslationFilter’
o.s.security.web.FilterChainProxy : /callback?code=OePkuY2nfSU9SjrH&state=egofa5r8P6ca8lm5brrttYJ0h_HsB_GiYD56IXp9bOE at position 10 of 10 in additional filter chain; firing Filter: ‘FilterSecurityInterceptor’
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, GET]
o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : ‘/callback’; against ‘/logout’
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, POST]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /callback’ doesn’t match ‘POST /logout
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, PUT]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /callback’ doesn’t match ‘PUT /logout
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, DELETE]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /callback’ doesn’t match ‘DELETE /logout
o.s.s.web.util.matcher.OrRequestMatcher : No matches found
o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : ‘/callback’; against ‘/callback’
o.s.s.w.a.i.FilterSecurityInterceptor : Secure object: FilterInvocation: URL: /callback?code=OePkuY2nfSU9SjrH&state=egofa5r8P6ca8lm5brrttYJ0h_HsB_GiYD56IXp9bOE; Attributes: [permitAll]
o.s.s.w.a.i.FilterSecurityInterceptor : Previously Authenticated: com.auth0.example.security.TokenAuthentication@2b8d6cd4: Principal: google-oauth2|107775284898878147195; Credentials: [PROTECTED]; Authenticated: true; Details: null; Not granted any authorities
o.s.s.access.vote.AffirmativeBased : Voter: org.springframework.security.web.access.expression.WebExpressionVoter@5d35516b, returned: 1
o.s.s.w.a.i.FilterSecurityInterceptor : Authorization successful
o.s.s.w.a.i.FilterSecurityInterceptor : RunAsManager did not change Authentication object
o.s.security.web.FilterChainProxy : /callback?code=OePkuY2nfSU9SjrH&state=egofa5r8P6ca8lm5brrttYJ0h_HsB_GiYD56IXp9bOE reached end of additional filter chain; proceeding with original chain
o.s.web.servlet.DispatcherServlet : DispatcherServlet with name ‘dispatcherServlet’ processing GET request for [/callback]
s.w.s.m.m.a.RequestMappingHandlerMapping : Looking up handler method for path /callback
s.w.s.m.m.a.RequestMappingHandlerMapping : Returning handler method [protected void com.auth0.example.mvc.CallbackController.getCallback(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws javax.servlet.ServletException,java.io.IOException]
o.s.web.servlet.DispatcherServlet : Last-Modified value for [/callback] is: -1
2020-02-22 14:25:59.293 DEBUG 10452 — [nio-3000-exec-7] c.auth0.example.mvc.CallbackController : @@@@@@@@ the redirect /
o.s.s.w.header.writers.HstsHeaderWriter : Not injecting HSTS header since it did not match the requestMatcher org.springframework.security.web.header.writers.HstsHeaderWriter$SecureRequestMatcher@4a310a89
w.c.HttpSessionSecurityContextRepository : SecurityContext ‘org.springframework.security.core.context.SecurityContextImpl@6d38ab8a: Authentication: com.auth0.example.security.TokenAuthentication@6d38ab8a: Principal: google-oauth2|107775284898878147195; Credentials: [PROTECTED]; Authenticated: true; Details: null; Not granted any authorities’ stored to HttpSession: ‘org.apache.catalina.session.StandardSessionFacade@639ffb82
o.s.web.servlet.DispatcherServlet : Null ModelAndView returned to DispatcherServlet with name ‘dispatcherServlet’: assuming HandlerAdapter completed request handling
o.s.web.servlet.DispatcherServlet : Successfully completed request
o.s.s.w.a.ExceptionTranslationFilter : Chain processed normally
s.s.w.c.SecurityContextPersistenceFilter : SecurityContextHolder now cleared, as request processing completed
o.s.b.w.f.OrderedRequestContextFilter : Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@37223258
o.s.b.w.f.OrderedRequestContextFilter : Bound request context to thread: org.apache.catalina.connector.RequestFacade@37223258
o.s.security.web.FilterChainProxy : / at position 1 of 10 in additional filter chain; firing Filter: ‘WebAsyncManagerIntegrationFilter’
o.s.security.web.FilterChainProxy : / at position 2 of 10 in additional filter chain; firing Filter: ‘SecurityContextPersistenceFilter’
w.c.HttpSessionSecurityContextRepository : Obtained a valid SecurityContext from SPRING_SECURITY_CONTEXT: ‘org.springframework.security.core.context.SecurityContextImpl@6d38ab8a: Authentication: com.auth0.example.security.TokenAuthentication@6d38ab8a: Principal: google-oauth2|107775284898878147195; Credentials: [PROTECTED]; Authenticated: true; Details: null; Not granted any authorities’
o.s.security.web.FilterChainProxy : / at position 3 of 10 in additional filter chain; firing Filter: ‘HeaderWriterFilter’
o.s.security.web.FilterChainProxy : / at position 4 of 10 in additional filter chain; firing Filter: ‘LogoutFilter’
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, GET]
o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : ‘/’; against ‘/logout’
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, POST]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /’ doesn’t match ‘POST /logout
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, PUT]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /’ doesn’t match ‘PUT /logout
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, DELETE]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /’ doesn’t match ‘DELETE /logout
o.s.s.web.util.matcher.OrRequestMatcher : No matches found
o.s.security.web.FilterChainProxy : / at position 5 of 10 in additional filter chain; firing Filter: ‘RequestCacheAwareFilter’
o.s.security.web.FilterChainProxy : / at position 6 of 10 in additional filter chain; firing Filter: ‘SecurityContextHolderAwareRequestFilter’
o.s.security.web.FilterChainProxy : / at position 7 of 10 in additional filter chain; firing Filter: ‘AnonymousAuthenticationFilter’
o.s.s.w.a.AnonymousAuthenticationFilter : SecurityContextHolder not populated with anonymous token, as it already contained: ‘com.auth0.example.security.TokenAuthentication@6d38ab8a: Principal: google-oauth2|107775284898878147195; Credentials: [PROTECTED]; Authenticated: true; Details: null; Not granted any authorities’
o.s.security.web.FilterChainProxy : / at position 8 of 10 in additional filter chain; firing Filter: ‘SessionManagementFilter’
o.s.security.web.FilterChainProxy : / at position 9 of 10 in additional filter chain; firing Filter: ‘ExceptionTranslationFilter’
o.s.security.web.FilterChainProxy : / at position 10 of 10 in additional filter chain; firing Filter: ‘FilterSecurityInterceptor’
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, GET]
o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : ‘/’; against ‘/logout’
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, POST]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /’ doesn’t match ‘POST /logout
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, PUT]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /’ doesn’t match ‘PUT /logout
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, DELETE]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /’ doesn’t match ‘DELETE /logout
o.s.s.web.util.matcher.OrRequestMatcher : No matches found
o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : ‘/’; against ‘/callback’
o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : ‘/’; against ‘/login’
o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : ‘/’; against ‘/’
o.s.s.w.a.i.FilterSecurityInterceptor : Secure object: FilterInvocation: URL: /; Attributes: [permitAll]
o.s.s.w.a.i.FilterSecurityInterceptor : Previously Authenticated: com.auth0.example.security.TokenAuthentication@6d38ab8a: Principal: google-oauth2|107775284898878147195; Credentials: [PROTECTED]; Authenticated: true; Details: null; Not granted any authorities
o.s.s.access.vote.AffirmativeBased : Voter: org.springframework.security.web.access.expression.WebExpressionVoter@5d35516b, returned: 1
o.s.s.w.a.i.FilterSecurityInterceptor : Authorization successful
o.s.s.w.a.i.FilterSecurityInterceptor : RunAsManager did not change Authentication object
o.s.security.web.FilterChainProxy : / reached end of additional filter chain; proceeding with original chain
o.s.web.servlet.DispatcherServlet : DispatcherServlet with name ‘dispatcherServlet’ processing GET request for [/]
s.w.s.m.m.a.RequestMappingHandlerMapping : Looking up handler method for path /
s.w.s.m.m.a.RequestMappingHandlerMapping : Returning handler method [protected java.lang.String com.auth0.example.mvc.HomeController.home(org.springframework.ui.Model,org.springframework.security.core.Authentication)]
o.s.web.servlet.DispatcherServlet : Last-Modified value for [/] is: -1
com.auth0.example.mvc.HomeController : Home page
o.s.w.s.v.ContentNegotiatingViewResolver : Requested media types are [text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8] based on Accept header types and producible media types [/])
o.s.w.servlet.view.BeanNameViewResolver : No matching bean found for view name ‘index’
o.s.w.s.v.ContentNegotiatingViewResolver : Returning [org.springframework.web.servlet.view.InternalResourceView: name ‘index’; URL [index]] based on requested media type ‘text/html’
o.s.web.servlet.DispatcherServlet : Rendering view [org.springframework.web.servlet.view.InternalResourceView: name ‘index’; URL [index]] in DispatcherServlet with name ‘dispatcherServlet’
o.s.w.servlet.view.InternalResourceView : Added model object ‘profile’ of type [java.util.Collections$UnmodifiableMap] to request in view with name ‘index’
o.s.w.servlet.view.InternalResourceView : Forwarding to resource [index] in InternalResourceView ‘index’
o.s.security.web.FilterChainProxy : /index at position 1 of 10 in additional filter chain; firing Filter: ‘WebAsyncManagerIntegrationFilter’
o.s.security.web.FilterChainProxy : /index at position 2 of 10 in additional filter chain; firing Filter: ‘SecurityContextPersistenceFilter’
o.s.security.web.FilterChainProxy : /index at position 3 of 10 in additional filter chain; firing Filter: ‘HeaderWriterFilter’
o.s.security.web.FilterChainProxy : /index at position 4 of 10 in additional filter chain; firing Filter: ‘LogoutFilter’
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, GET]
o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : ‘/index’; against ‘/logout’
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, POST]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /index’ doesn’t match ‘POST /logout
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, PUT]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /index’ doesn’t match ‘PUT /logout
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, DELETE]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /index’ doesn’t match ‘DELETE /logout
o.s.s.web.util.matcher.OrRequestMatcher : No matches found
o.s.security.web.FilterChainProxy : /index at position 5 of 10 in additional filter chain; firing Filter: ‘RequestCacheAwareFilter’
o.s.security.web.FilterChainProxy : /index at position 6 of 10 in additional filter chain; firing Filter: ‘SecurityContextHolderAwareRequestFilter’
o.s.security.web.FilterChainProxy : /index at position 7 of 10 in additional filter chain; firing Filter: ‘AnonymousAuthenticationFilter’
o.s.s.w.a.AnonymousAuthenticationFilter : SecurityContextHolder not populated with anonymous token, as it already contained: ‘com.auth0.example.security.TokenAuthentication@6d38ab8a: Principal: google-oauth2|107775284898878147195; Credentials: [PROTECTED]; Authenticated: true; Details: null; Not granted any authorities’
o.s.security.web.FilterChainProxy : /index at position 8 of 10 in additional filter chain; firing Filter: ‘SessionManagementFilter’
o.s.security.web.FilterChainProxy : /index at position 9 of 10 in additional filter chain; firing Filter: ‘ExceptionTranslationFilter’
o.s.security.web.FilterChainProxy : /index at position 10 of 10 in additional filter chain; firing Filter: ‘FilterSecurityInterceptor’
o.s.security.web.FilterChainProxy : /index reached end of additional filter chain; proceeding with original chain
o.s.web.servlet.DispatcherServlet : DispatcherServlet with name ‘dispatcherServlet’ processing GET request for [/index]
s.w.s.m.m.a.RequestMappingHandlerMapping : Looking up handler method for path /index
s.w.s.m.m.a.RequestMappingHandlerMapping : Did not find handler method for [/index]
o.s.w.s.handler.SimpleUrlHandlerMapping : Matching patterns for request [/index] are [/**]
o.s.w.s.handler.SimpleUrlHandlerMapping : URI Template variables for request [/index] are {}
o.s.w.s.handler.SimpleUrlHandlerMapping : Mapping [/index] to HandlerExecutionChain with handler [ResourceHttpRequestHandler [locations=[ServletContext resource [/], class path resource [META-INF/resources/], class path resource [resources/], class path resource [static/], class path resource [public/]], resolvers=[org.springframework.web.servlet.resource.PathResourceResolver@3a4ba480]]] and 1 interceptor
o.s.web.servlet.DispatcherServlet : Last-Modified value for [/index] is: -1
o.s.s.w.header.writers.HstsHeaderWriter : Not injecting HSTS header since it did not match the requestMatcher org.springframework.security.web.header.writers.HstsHeaderWriter$SecureRequestMatcher@4a310a89
o.s.web.servlet.DispatcherServlet : Null ModelAndView returned to DispatcherServlet with name ‘dispatcherServlet’: assuming HandlerAdapter completed request handling
o.s.web.servlet.DispatcherServlet : Successfully completed request
o.s.s.w.a.ExceptionTranslationFilter : Chain processed normally
o.s.web.servlet.DispatcherServlet : Successfully completed request
o.s.s.w.a.ExceptionTranslationFilter : Chain processed normally
s.s.w.c.SecurityContextPersistenceFilter : SecurityContextHolder now cleared, as request processing completed
o.s.b.w.f.OrderedRequestContextFilter : Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@37223258
o.s.web.servlet.DispatcherServlet : DispatcherServlet with name ‘dispatcherServlet’ processing GET request for [/error]
s.w.s.m.m.a.RequestMappingHandlerMapping : Looking up handler method for path /error
s.w.s.m.m.a.RequestMappingHandlerMapping : Returning handler method [protected java.lang.String com.auth0.example.mvc.ErrorController.error(org.springframework.web.servlet.mvc.support.RedirectAttributes) throws java.io.IOException]
o.s.web.servlet.DispatcherServlet : Last-Modified value for [/error] is: -1
com.auth0.example.mvc.ErrorController : Handling error
com.auth0.example.mvc.ErrorController : @@@@@@@@@@@@@@@@ ERROR
o.s.w.s.v.ContentNegotiatingViewResolver : Requested media types are [text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8] based on Accept header types and producible media types [/])
o.s.w.servlet.view.BeanNameViewResolver : No matching bean found for view name ‘redirect:/login’
o.s.w.s.v.ContentNegotiatingViewResolver : Returning redirect view [org.springframework.web.servlet.view.RedirectView: name ‘redirect:’; URL [/login]]
o.s.web.servlet.DispatcherServlet : Rendering view [org.springframework.web.servlet.view.RedirectView: name ‘redirect:’; URL [/login]] in DispatcherServlet with name ‘dispatcherServlet’
o.s.w.s.support.SessionFlashMapManager : Saving FlashMap=FlashMap [attributes={error=true}, targetRequestPath=/login, targetRequestParams={}]
o.s.web.servlet.DispatcherServlet : Successfully completed request
o.s.b.w.f.OrderedRequestContextFilter : Bound request context to thread: org.apache.catalina.connector.RequestFacade@37223258
o.s.security.web.FilterChainProxy : /login at position 1 of 10 in additional filter chain; firing Filter: ‘WebAsyncManagerIntegrationFilter’
o.s.security.web.FilterChainProxy : /login at position 2 of 10 in additional filter chain; firing Filter: ‘SecurityContextPersistenceFilter’
w.c.HttpSessionSecurityContextRepository : Obtained a valid SecurityContext from SPRING_SECURITY_CONTEXT: ‘org.springframework.security.core.context.SecurityContextImpl@6d38ab8a: Authentication: com.auth0.example.security.TokenAuthentication@6d38ab8a: Principal: google-oauth2|107775284898878147195; Credentials: [PROTECTED]; Authenticated: true; Details: null; Not granted any authorities’
o.s.security.web.FilterChainProxy : /login at position 3 of 10 in additional filter chain; firing Filter: ‘HeaderWriterFilter’
o.s.security.web.FilterChainProxy : /login at position 4 of 10 in additional filter chain; firing Filter: ‘LogoutFilter’
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, GET]
o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : ‘/login’; against ‘/logout’
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, POST]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /login’ doesn’t match ‘POST /logout
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, PUT]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /login’ doesn’t match ‘PUT /logout
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, DELETE]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /login’ doesn’t match ‘DELETE /logout
o.s.s.web.util.matcher.OrRequestMatcher : No matches found
o.s.security.web.FilterChainProxy : /login at position 5 of 10 in additional filter chain; firing Filter: ‘RequestCacheAwareFilter’
o.s.security.web.FilterChainProxy : /login at position 6 of 10 in additional filter chain; firing Filter: ‘SecurityContextHolderAwareRequestFilter’
o.s.security.web.FilterChainProxy : /login at position 7 of 10 in additional filter chain; firing Filter: ‘AnonymousAuthenticationFilter’
o.s.s.w.a.AnonymousAuthenticationFilter : SecurityContextHolder not populated with anonymous token, as it already contained: ‘com.auth0.example.security.TokenAuthentication@6d38ab8a: Principal: google-oauth2|107775284898878147195; Credentials: [PROTECTED]; Authenticated: true; Details: null; Not granted any authorities’
o.s.security.web.FilterChainProxy : /login at position 8 of 10 in additional filter chain; firing Filter: ‘SessionManagementFilter’
o.s.security.web.FilterChainProxy : /login at position 9 of 10 in additional filter chain; firing Filter: ‘ExceptionTranslationFilter’
o.s.security.web.FilterChainProxy : /login at position 10 of 10 in additional filter chain; firing Filter: ‘FilterSecurityInterceptor’
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, GET]
o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : ‘/login’; against ‘/logout’
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, POST]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /login’ doesn’t match ‘POST /logout
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, PUT]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /login’ doesn’t match ‘PUT /logout
o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern=’/logout’, DELETE]
o.s.s.w.u.matcher.AntPathRequestMatcher : Request ‘GET /login’ doesn’t match 'DELETE /logout
o.s.s.web.util.matcher.OrRequestMatcher : No matches found
o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : ‘/login’; against ‘/callback’
o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : ‘/login’; against ‘/login’
o.s.s.w.a.i.FilterSecurityInterceptor : Secure object: FilterInvocation: URL: /login; Attributes: [permitAll]
o.s.s.w.a.i.FilterSecurityInterceptor : Previously Authenticated: com.auth0.example.security.TokenAuthentication@6d38ab8a: Principal: google-oauth2|107775284898878147195; Credentials: [PROTECTED]; Authenticated: true; Details: null; Not granted any authorities
o.s.s.access.vote.AffirmativeBased : Voter: org.springframework.security.web.access.expression.WebExpressionVoter@5d35516b, returned: 1
o.s.s.w.a.i.FilterSecurityInterceptor : Authorization successful
o.s.s.w.a.i.FilterSecurityInterceptor : RunAsManager did not change Authentication object
o.s.security.web.FilterChainProxy : /login reached end of additional filter chain; proceeding with original chain
o.s.web.servlet.DispatcherServlet : DispatcherServlet with name ‘dispatcherServlet’ processing GET request for [/login]
o.s.w.s.support.SessionFlashMapManager : Retrieved FlashMap(s): [FlashMap [attributes={error=true}, targetRequestPath=/login, targetRequestParams={}]]
o.s.w.s.support.SessionFlashMapManager : Found matching FlashMap(s): [FlashMap [attributes={error=true}, targetRequestPath=/login, targetRequestParams={}]]
o.s.w.s.support.SessionFlashMapManager : Removing FlashMap(s): [FlashMap [attributes={error=true}, targetRequestPath=/login, targetRequestParams={}]]
s.w.s.m.m.a.RequestMappingHandlerMapping : Looking up handler method for path /login
s.w.s.m.m.a.RequestMappingHandlerMapping : Returning handler method [protected java.lang.String com.auth0.example.mvc.LoginController.login(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)]
o.s.web.servlet.DispatcherServlet : Last-Modified value for [/login] is: -1
com.auth0.example.mvc.LoginController : Performing login
o.s.w.s.v.ContentNegotiatingViewResolver : Requested media types are [text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8] based on Accept header types and producible media types [/])
o.s.w.servlet.view.BeanNameViewResolver : No matching bean found for view name ‘redirect:https://dev-c9npmzzx.auth0.com/authorize?redirect_uri=http://localhost:3000/callback&client_id=UYrkE07n17m2muZzX9JQV1mziEuEgbf3&scope=openid%20profile%20email&response_type=code&state=n3N5JkdmWrKsptpXKaT-tXJA18kdA-c7WqcTlJjXc-I
o.s.w.s.v.ContentNegotiatingViewResolver : Returning redirect view [org.springframework.web.servlet.view.RedirectView: name ‘redirect:’; URL [https://dev-c9npmzzx.auth0.com/authorize?redirect_uri=http://localhost:3000/callback&client_id=UYrkE07n17m2muZzX9JQV1mziEuEgbf3&scope=openid%20profile%20email&response_type=code&state=n3N5JkdmWrKsptpXKaT-tXJA18kdA-c7WqcTlJjXc-I]]
o.s.web.servlet.DispatcherServlet : Rendering view [org.springframework.web.servlet.view.RedirectView: name ‘redirect:’; URL [https://dev-c9npmzzx.auth0.com/authorize?redirect_uri=http://localhost:3000/callback&client_id=UYrkE07n17m2muZzX9JQV1mziEuEgbf3&scope=openid%20profile%20email&response_type=code&state=n3N5JkdmWrKsptpXKaT-tXJA18kdA-c7WqcTlJjXc-I]] in DispatcherServlet with name ‘dispatcherServlet’
o.s.s.w.header.writers.HstsHeaderWriter : Not injecting HSTS header since it did not match the requestMatcher org.springframework.security.web.header.writers.HstsHeaderWriter$SecureRequestMatcher@4a310a89
o.s.web.servlet.DispatcherServlet : Successfully completed request
o.s.s.w.a.ExceptionTranslationFilter : Chain processed normally
s.s.w.c.SecurityContextPersistenceFilter : SecurityContextHolder now cleared, as request processing completed
o.s.b.w.f.OrderedRequestContextFilter : Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@37223258