2

私はspringブートとoauth2でデモアプリケーションを開発しました。以下の3つのアプリケーションがあります。Swagger uiがOauth2でロードされていない

  1. リソースapi:これで保護する必要があるすべての方法があります。
  2. 認証サーバー:これは、認証サーバーを使用して正常にログインした後にリソースにアクセスできるようになるトークン
  3. を提供するoauth2サーバーです。

私は、公然とアクセスできるリソース(コントローラ)がほとんどありません。しかし、私がswaggerにアクセスしようとしているとき、それは完全な認証のために私に尋ねます。私は下のコードを追加したときにスワッガーページが来ているだけでなく、ページ全体で1つのドロップダウンとそれも壊れています。

http 
.anonymous() //allow anonymous access 
.and() 
.authorizeRequests() 
.antMatchers("/shouldbepublic/**", "/swagger-ui**/**").permitAll().and() //this should be public resources 
.formLogin().loginPage("/login").permitAll() 
.and() 
.requestMatchers().antMatchers("/login", "/oauth/authorize", "/oauth/confirm_access") 
.and() 
.authorizeRequests().anyRequest().authenticated(); 
+0

springfox-swagger-uiを依存関係として使用していますか? –

答えて

0

は、私の作品の構成であります
0

もう一つの選択肢(あなたにとって安全な場合)は、Spring Securityに/swagger-uiパスを完全に無視させることです。セキュリティ@Configurationファイルで

WebSecurityConfigurerAdapterを拡張し、次の行を追加します。

@Override 
public void configure(WebSecurity web) throws Exception { 
    web.ignoring().antMatchers(HttpMethod.GET, "/swagger-ui/**"); 
    super.configure(web); 
} 
+0

マルコさんありがとう、私はあなたに知らせようとします! – Sam

0

をあなたはSwagger2を許可しようと使用している場合:

http.authorizeRequests().antMatchers("/configuration/**","/swagger**","/webjars/**","/v2/**").permitAll(); 

はそれが働いて取得します。威張っ-ui.htmlが

を表示することができないことのない

.antMatchers("/swagger-ui.html","/swagger-resources/**", "/v2/api-docs/**").permitAll()'.antMatchers("/swagger-ui.html","/swagger-resources/**", "/v2/api-docs/**").permitAll()

完全ResourceServiceConfigurationがここで見つけることができます:

@Configuration 
@EnableResourceServer 
public static class ResourceServiceConfiguration extends ResourceServerConfigurerAdapter { 

    @Override 
    public void configure(final HttpSecurity http) throws Exception { 
    // @formatter:off 
    http.csrf().disable().authorizeRequests() 
    // This is needed to enable swagger-ui interface. 
    .antMatchers("/swagger-ui.html","/swagger-resources/**", "/v2/api-docs/**").permitAll() 
    .antMatchers("/**").hasAuthority("ADMIN"); 
    // @formatter:on 
    } 
} 
ここ
関連する問題