クラス OAuth2AuthorizationRequestRedirectFilter

java.lang.ObjectSE
org.springframework.web.filter.GenericFilterBean
org.springframework.web.filter.OncePerRequestFilter
org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter
実装されたすべてのインターフェース:
jakarta.servlet.Filterorg.springframework.beans.factory.Awareorg.springframework.beans.factory.BeanNameAwareorg.springframework.beans.factory.DisposableBeanorg.springframework.beans.factory.InitializingBeanorg.springframework.context.EnvironmentAwareorg.springframework.core.env.EnvironmentCapableorg.springframework.web.context.ServletContextAware

public class OAuth2AuthorizationRequestRedirectFilter extends org.springframework.web.filter.OncePerRequestFilter
この Filter は、エンドユーザーのユーザーエージェントを認可サーバーの認可エンドポイントにリダイレクトすることにより、認可コード付与フローを開始します。

OAuth 2.0 認可リクエストを作成します。これは、認可エンドポイントへのリダイレクト URI として使用されます。リダイレクト URI には、クライアント識別子、リクエストされたスコープ、状態、レスポンス型、エンドユーザーによってアクセスが認可(または拒否)された後、認可サーバーがユーザーエージェントを送り返すリダイレクト URI が含まれます(リソース所有者)。

デフォルトでは、この Filter は、デフォルトの OAuth2AuthorizationRequestResolver を使用して URI/oauth2/authorization/{registrationId} での認可リクエストに応答します。URI テンプレート変数 {registrationId} は、OAuth 2.0 認可リクエストを開始するために使用されるクライアントの registration identifier を表します。

デフォルトのベース URI/oauth2/authorization は、コンストラクター OAuth2AuthorizationRequestRedirectFilter(ClientRegistrationRepository, String) を介してオーバーライドできます。あるいは、コンストラクター OAuth2AuthorizationRequestRedirectFilter(OAuth2AuthorizationRequestResolver) に OAuth2AuthorizationRequestResolver を提供して、認可リクエストの解決をオーバーライドすることもできます。

導入:
5.0
関連事項:
  • フィールドの詳細

    • DEFAULT_AUTHORIZATION_REQUEST_BASE_URI

      public static final StringSE DEFAULT_AUTHORIZATION_REQUEST_BASE_URI
      認可リクエストに使用されるデフォルトのベース URI
      関連事項:
  • コンストラクターの詳細

    • OAuth2AuthorizationRequestRedirectFilter

      public OAuth2AuthorizationRequestRedirectFilter(ClientRegistrationRepository clientRegistrationRepository)
      指定されたパラメーターを使用して OAuth2AuthorizationRequestRedirectFilter を構築します。
      パラメーター:
      clientRegistrationRepository - クライアント登録のリポジトリ
    • OAuth2AuthorizationRequestRedirectFilter

      public OAuth2AuthorizationRequestRedirectFilter(ClientRegistrationRepository clientRegistrationRepository, StringSE authorizationRequestBaseUri)
      指定されたパラメーターを使用して OAuth2AuthorizationRequestRedirectFilter を構築します。
      パラメーター:
      clientRegistrationRepository - クライアント登録のリポジトリ
      authorizationRequestBaseUri - 認可リクエストに使用されるベース URI 
    • OAuth2AuthorizationRequestRedirectFilter

      public OAuth2AuthorizationRequestRedirectFilter(OAuth2AuthorizationRequestResolver authorizationRequestResolver)
      指定されたパラメーターを使用して OAuth2AuthorizationRequestRedirectFilter を構築します。
      パラメーター:
      authorizationRequestResolver - 認可リクエストの解決に使用されるリゾルバー
      導入:
      5.1
  • メソッドの詳細

    • setAuthorizationRedirectStrategy

      public void setAuthorizationRedirectStrategy(RedirectStrategy authorizationRedirectStrategy)
      認可エンドポイントリダイレクト URI のリダイレクト戦略を設定します。
      パラメーター:
      authorizationRedirectStrategy - リダイレクト戦略
    • setAuthorizationRequestRepository

      public final void setAuthorizationRequestRepository(AuthorizationRequestRepository<OAuth2AuthorizationRequest> authorizationRequestRepository)
      OAuth2AuthorizationRequest の保存に使用されるリポジトリを設定します。
      パラメーター:
      authorizationRequestRepository - OAuth2AuthorizationRequest の保存に使用されるリポジトリ
    • setRequestCache

      public final void setRequestCache(RequestCache requestCache)
      OAuth 2.0 認可リクエストをリダイレクトする前に、現在のリクエストを保存するために使用される RequestCache を設定します。
      パラメーター:
      requestCache - 現在のリクエストを保存するために使用されるキャッシュ
    • setAuthenticationFailureHandler

      public void setAuthenticationFailureHandler(AuthenticationFailureHandler authenticationFailureHandler)
      認可サーバーの認可エンドポイントにリダイレクトする際のエラーを処理するために使用される AuthenticationFailureHandler を設定します。
      パラメーター:
      authenticationFailureHandler - 認可サーバーの認可エンドポイントへのリダイレクトエラーを処理するために使用される AuthenticationFailureHandler
      導入:
      6.3
    • doFilterInternal

      protected void doFilterInternal(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.FilterChain filterChain) throws jakarta.servlet.ServletException, IOExceptionSE
      次で指定:
      クラス org.springframework.web.filter.OncePerRequestFilterdoFilterInternal 
      例外:
      jakarta.servlet.ServletException
      IOExceptionSE