Spring SocialAuthenticationFilter に問題があります。フィルター チェーンにロードされていることがわかりますが、「/auth/facebook?code=...」にアクセスすると、その入力が処理されません。
これが私の WebSecurityConfig の configure メソッドです:
@Override
protected void configure(HttpSecurity http) throws Exception {
//@formatter:off
http
.csrf().disable()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.authorizeRequests()
.antMatchers("/oauth/token").permitAll()
.antMatchers("/auth/**").permitAll()
.antMatchers(HttpMethod.OPTIONS, "/oauth/token").permitAll()
.anyRequest().authenticated()
.and()
.apply(new SpringSocialConfigurer());
//@formatter:on
}
出力では、フィルターチェーンについて次のようになります。
2015-07-06 12:42:08.400 INFO 28531 --- [ost-startStop-1] ossweb.DefaultSecurityFilterChain: フィルター チェーンの作成: org.springframework.security.web.util.matcher.AnyRequestMatcher@1、[org.springframework .security.web.context.request.async.WebAsyncManagerIntegrationFilter@4cb4e09b、org.springframework.security.web.context.SecurityContextPersistenceFilter@4ac65d33、org.springframework.security.web.header.HeaderWriterFilter@3181e122、org.springframework.security.web .authentication.logout.LogoutFilter@3492e7fd、 org.springframework.social.security.SocialAuthenticationFilter @1b2b4922 ,org.springframework.security.web.savedrequest.RequestCacheAwareFilter@392294cd, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@794fa3a, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3f3e8762, org.springframework.security.web .session.SessionManagementFilter@3d31d08d、org.springframework.security.web.access.ExceptionTranslationFilter@31e84fe1、org.springframework.security.web.access.intercept.FilterSecurityInterceptor@d8d9225]
そして、これはURLの一致についてです:
2015-07-06 12:43:22.075 DEBUG 28531 --- [nio-8080-exec-2] osswumatcher.AntPathRequestMatcher: 要求の一致を確認しています: '/auth/facebook'; 「/css/**」に対して 2015-07-06 12:43:22.075 DEBUG 28531 --- [nio-8080-exec-2] osswumatcher.AntPathRequestMatcher: 要求の一致を確認しています: '/auth/facebook'; 「/js/**」に対して 2015-07-06 12:43:22.075 DEBUG 28531 --- [nio-8080-exec-2] osswumatcher.AntPathRequestMatcher: 要求の一致を確認しています: '/auth/facebook'; 「/images/**」に対して 2015-07-06 12:43:22.075 DEBUG 28531 --- [nio-8080-exec-2] osswumatcher.AntPathRequestMatcher: 要求の一致を確認しています: '/auth/facebook'; 「/**/favicon.ico」に対して 2015-07-06 12:43:22.075 DEBUG 28531 --- [nio-8080-exec-2] osswumatcher.AntPathRequestMatcher: 要求の一致を確認しています: '/auth/facebook'; 「/情報」に対して 2015-07-06 12:43:22.075 DEBUG 28531 --- [nio-8080-exec-2] osswumatcher.AntPathRequestMatcher: 要求の一致を確認しています: '/auth/facebook'; 「/健康」に対して 2015-07-06 12:43:22.076 DEBUG 28531 --- [nio-8080-exec-2] osswumatcher.AntPathRequestMatcher: 要求の一致を確認しています: '/auth/facebook'; 「/エラー」に対して 2015-07-06 12:43:22.076 DEBUG 28531 --- [nio-8080-exec-2] ossweb.util.matcher.OrRequestMatcher: Ant を使用して照合しようとしています [pattern='/oauth/token'] 2015-07-06 12:43:22.076 DEBUG 28531 --- [nio-8080-exec-2] osswumatcher.AntPathRequestMatcher: 要求の一致を確認しています: '/auth/facebook'; 「/oauth/token」に対して 2015-07-06 12:43:22.076 DEBUG 28531 --- [nio-8080-exec-2] ossweb.util.matcher.OrRequestMatcher: Ant を使用して照合しようとしています [pattern='/oauth/token_key'] 2015-07-06 12:43:22.076 DEBUG 28531 --- [nio-8080-exec-2] osswumatcher.AntPathRequestMatcher: 要求の一致を確認しています: '/auth/facebook'; 「/oauth/token_key」に対して 2015-07-06 12:43:22.076 DEBUG 28531 --- [nio-8080-exec-2] ossweb.util.matcher.OrRequestMatcher: Ant を使用して照合しようとしています [pattern='/oauth/check_token'] 2015-07-06 12:43:22.076 DEBUG 28531 --- [nio-8080-exec-2] osswumatcher.AntPathRequestMatcher: 要求の一致を確認しています: '/auth/facebook'; 「/oauth/check_token」に対して 2015-07-06 12:43:22.076 DEBUG 28531 --- [nio-8080-exec-2] ossweb.util.matcher.OrRequestMatcher: 一致が見つかりません 2015-07-06 12:43:22.076 DEBUG 28531 --- [nio-8080-exec-2] ossweb.util.matcher.OrRequestMatcher: org.springframework.security.web.util.matcher.AnyRequestMatcher@ を使用して一致しようとしています1 2015-07-06 12:43:22.076 DEBUG 28531 --- [nio-8080-exec-2] ossweb.util.matcher.OrRequestMatcher: 一致 2015-07-06 12:43:22.076 DEBUG 28531 --- [nio-8080-exec-2] ossecurity.web.FilterChainProxy : /auth/facebook?code=AQB2OSMHtYeuu-***-5tQvCyxOGkZCQsnAxFgCKYRE248MXPqEb5VI63W6IJrNyw36 位置 xlos13b の 1追加のフィルターチェーン; 発射フィルター: 'WebAsyncManagerIntegrationFilter' 2015-07-06 12:43:22.076 DEBUG 28531 --- [nio-8080-exec-2] ossecurity.web.FilterChainProxy : /auth/facebook?code=AQB2OSMHtYeuu-***-5tQvCyxOGkZCQsnAxFgCKYRE248MXPqEb5VI63W6IJrNyw36 位置 2xlos36 の 1追加のフィルターチェーン; 起動フィルター: 'SecurityContextPersistenceFilter' 2015-07-06 12:43:22.076 DEBUG 28531 --- [nio-8080-exec-2] ossecurity.web.FilterChainProxy : /auth/facebook?code=AQB2OSMHtYeuu-***-5tQvCyxOGkZCQsnAxFgCKYRE248MXPqEb5VI63W6IJrNyw36 位置 xlos36 の 1 で 3追加のフィルターチェーン; 発射フィルター: 'HeaderWriterFilter' 2015-07-06 12:43:22.077 DEBUG 28531 --- [nio-8080-exec-2] osswheader.writers.HstsHeaderWriter: requestMatcher org.springframework.security.web.header と一致しなかったため、HSTS ヘッダーを挿入しません.writers.HstsHeaderWriter$SecureRequestMatcher@3f8843c2 2015-07-06 12:43:22.077 DEBUG 28531 --- [nio-8080-exec-2] ossecurity.web.FilterChainProxy : /auth/facebook?code=AQB2OSMHtYeuu-***-5tQvCyxOGkZCQsnAxFgCKYRE248MXPqEb5VI63W6IJrNyw36 位置 4 の xlos36 の 1追加のフィルターチェーン; 発射フィルター: 'LogoutFilter' 2015-07-06 12:43:22.077 DEBUG 28531 --- [nio-8080-exec-2] osswumatcher.AntPathRequestMatcher: 要求の一致を確認しています: '/auth/facebook'; 「/ログアウト」に対して 2015-07-06 12:43:22.077 DEBUG 28531 --- [nio-8080-exec-2] ossecurity.web.FilterChainProxy : /auth/facebook?code=AQB2OSMHtYeuu-***-5tQvCyxOGkZCQsnAxFgCKYRE248MXPqEb5VI63W6IJrNyw36 位置 xlos36 の 1 の 5追加のフィルターチェーン; 起動フィルター: 'OAuth2AuthenticationProcessingFilter' 2015-07-06 12:43:22.077 DEBUG 28531 --- [nio-8080-exec-2] ossopaBearerTokenExtractor: ヘッダーにトークンが見つかりません。リクエストパラメータを試しています。 2015-07-06 12:43:22.077 DEBUG 28531 --- [nio-8080-exec-2] ossopaBearerTokenExtractor: 要求パラメーターにトークンが見つかりません。OAuth2 リクエストではありません。 2015-07-06 12:43:22.077 DEBUG 28531 --- [nio-8080-exec-2] paOAuth2AuthenticationProcessingFilter: リクエストにトークンがありません。チェーンを続行します。 2015-07-06 12:43:22.077 DEBUG 28531 --- [nio-8080-exec-2] ossecurity.web.FilterChainProxy : /auth/facebook?code=AQB2OSMHtYeuu-***-5tQvCyxOGkZCQsnAxFgCKYRE248MXPqEb5VI63W6IJrNyw36 位置 xlos36 の 6 位置 xlos36追加のフィルターチェーン; 起動フィルター: 'RequestCacheAwareFilter' 2015-07-06 12:43:22.077 DEBUG 28531 --- [nio-8080-exec-2] ossecurity.web.FilterChainProxy : /auth/facebook?code=AQB2OSMHtYeuu-***-5tQvCyxOGkZCQsnAxFgCKYRE248MXPqEb5VI63W6IJrNyw36 の 7 位 xlos36 の 1追加のフィルターチェーン; 発射フィルター: 'SecurityContextHolderAwareRequestFilter' 2015-07-06 12:43:22.077 DEBUG 28531 --- [nio-8080-exec-2] ossecurity.web.FilterChainProxy : /auth/facebook?code=AQB2OSMHtYeuu-***-5tQvCyxOGkZCQsnAxFgCKYRE248MXPqEb5VI63W6IJrNyw36 位置 xlos36 の 8 位置 xlos3b追加のフィルターチェーン; 発射フィルター: 'AnonymousAuthenticationFilter' 2015-07-06 12:43:22.078 DEBUG 28531 --- [nio-8080-exec-2] osswaAnonymousAuthenticationFilter : 匿名トークンを持つ SecurityContextHolder を設定: 'org.springframework.security.authentication.AnonymousAuthenticationToken@9055e4a6: Principal:User anonymous; 資格情報: [保護]; 認証済み: true; 詳細: org.springframework.security.web.authentication.WebAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; セッション ID: null; 付与された権限: ROLE_ANONYMOUS' 2015-07-06 12:43:22.078 DEBUG 28531 --- [nio-8080-exec-2] ossecurity.web.FilterChainProxy : /auth/facebook?code=AQB2OSMHtYeuu-***-5tQvCyxOGkZCQsnAxFgCKYRE248MXPqEb5VI63W6IJrNyw36 の 1 つの qlos36 位置の 76b追加のフィルターチェーン; 発射フィルター: 'SessionManagementFilter' 2015-07-06 12:43:22.078 DEBUG 28531 --- [nio-8080-exec-2] ossecurity.web.FilterChainProxy : /auth/facebook?code=AQB2OSMHtYeuu-***-5tQvCyxOGkZCQsnAxFgCKYRE248MXPqEb5VI63W6IJrNyw36b の 1 の q103b 位置の xlos36b追加のフィルターチェーン; 起動フィルター: 'ExceptionTranslationFilter' 2015-07-06 12:43:22.078 DEBUG 28531 --- [nio-8080-exec-2] ossecurity.web.FilterChainProxy : /auth/facebook?code=AQB2OSMHtYeuu-***-5tQvCyxOGkZCQsnAxFgCKYRE248MXPqEb5VI63W6IJrNyw36b の位置 1 の qxlos3 で追加のフィルターチェーン; 起動フィルター: 'FilterSecurityInterceptor' 2015-07-06 12:43:22.078 DEBUG 28531 --- [nio-8080-exec-2] osswaiFilterSecurityInterceptor: セキュア オブジェクト: FilterInvocation: URL: /auth/facebook?code=AQB2OSMHtYeuu-***-5tQvCyxOGkZCQsnAxFgCKYRE248MXPqEb5VI63W6I6I6I6sby3qlosPqEb5VI63W6I6I6I6sby3; 属性: [#oauth2.throwOnError(permitAll)] 2015-07-06 12:43:22.078 DEBUG 28531 --- [nio-8080-exec-2] osswaiFilterSecurityInterceptor : 以前に認証されました: org.springframework.security.authentication.AnonymousAuthenticationToken@9055e4a6: プリンシパル: anonymousUser; 資格情報: [保護]; 認証済み: true; 詳細: org.springframework.security.web.authentication.WebAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; セッション ID: null; 付与された権限: ROLE_ANONYMOUS 2015-07-06 12:43:22.079 DEBUG 28531 --- [nio-8080-exec-2] ossaccess.vote.AffirmativeBased: 投票者: org.springframework.security.web.access.expression.WebExpressionVoter@361b4478、返された: 1 2015-07-06 12:43:22.079 DEBUG 28531 --- [nio-8080-exec-2] osswaiFilterSecurityInterceptor: 認証成功 2015-07-06 12:43:22.079 DEBUG 28531 --- [nio-8080-exec-2] osswaiFilterSecurityInterceptor: RunAsManager は認証オブジェクトを変更しませんでした 2015-07-06 12:43:22.079 DEBUG 28531 --- [nio-8080-exec-2] ossecurity.web.FilterChainProxy : /auth/facebook?code=AQB2OSMHtYeuu-***-5tQvCyxOGkZCQsnAxFgCKYRE248MXPqEb5VI63W6IJrNyw36xlosP end7 に到達した追加のフィルター; オリジナルチェーンの進行 2015-07-06 12:43:22.085 DEBUG 28531 --- [nio-8080-exec-2] .sopeFrameworkEndpointHandlerMapping: パス /auth/facebook のハンドラー メソッドの検索 2015-07-06 12:43:22.086 DEBUG 28531 --- [nio-8080-exec-2] .sopeFrameworkEndpointHandlerMapping: [/auth/facebook] のハンドラー メソッドが見つかりませんでした 2015-07-06 12:43:22.088 DEBUG 28531 --- [nio-8080-exec-2] osswaExceptionTranslationFilter : チェーンは正常に処理されました 2015-07-06 12:43:22.089 DEBUG 28531 --- [nio-8080-exec-2] sswcSecurityContextPersistenceFilter : SecurityContextHolder がクリアされ、リクエスト処理が完了しました
sth が間違っている場合は教えてください。または、デバッグ方法を提案できます。
ありがとう!