4

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 が間違っている場合は教えてください。または、デバッグ方法を提案できます。

ありがとう!

4

0 に答える 0