Skip to content

HandlerInterceptorを利用して認証処理を組み込むとOpenAPI仕様書の生成がタイムアウトする #1545

Closed Answered by rnakagawa16
tsuna-can-se asked this question in 05: Q&A
Discussion options

You must be logged in to vote

原因

OpenAPI仕様書の生成において、 ConditionTimeoutExceptionが発生する原因としては以下があげられます。

  • OpenAPI仕様書生成時に、 http://example.com/api-docs (OpenAPI仕様書の閲覧先) にアクセスする
  • アクセスする際に HandlerInterceptor による認証処理が挟むが Token などの認証情報がないためアクセス拒否される
  • ConditionTimeoutExceptionが発生し、処理が正常に完了しない

解決方法

HandlerInterceptor を適用する箇所に以下のように記載します。

@Configuration
public class WebConfig implements WebMvcConfigurer {

  @Override
  public void addInterceptors(InterceptorRegistry registry) {
    // LoginInterceptor は HandlerInterceptor の具象クラス
    registry.addInterceptor(new LoginInterceptor()).excludePathPatterns("/api-docs");
  }
}

これにより、OpenAPI仕様書のアクセス先に対しては認証処理を含めずに済みます。

認証処理をHandlerInterceptorで実装すること

ここまで対処方法について記載してきましたが、 AlesInfiny Maia では…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by tsuna-can-se
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants