クラス OAuth2AuthorizationCodeGrantFilter
java.lang.ObjectSE
org.springframework.web.filter.GenericFilterBean
org.springframework.web.filter.OncePerRequestFilter
org.springframework.security.oauth2.client.web.OAuth2AuthorizationCodeGrantFilter
- 実装されたすべてのインターフェース:
jakarta.servlet.Filter
、org.springframework.beans.factory.Aware
、org.springframework.beans.factory.BeanNameAware
、org.springframework.beans.factory.DisposableBean
、org.springframework.beans.factory.InitializingBean
、org.springframework.context.EnvironmentAware
、org.springframework.core.env.EnvironmentCapable
、org.springframework.web.context.ServletContextAware
public class OAuth2AuthorizationCodeGrantFilter
extends org.springframework.web.filter.OncePerRequestFilter
OAuth 2.0 認可コード認可の
Filter
。これは、OAuth 2.0 認可レスポンスの処理を処理します。OAuth 2.0 認可レスポンスは次のように処理されます。
- エンドユーザー(リソース所有者)がクライアントへのアクセスを認可したと仮定すると、認可サーバーは
code
およびstate
パラメーターをredirect_uri
(認可リクエストで提供)に追加し、エンドユーザーのユーザーエージェントをこのFilter
にリダイレクトします(クライアント)。 - この
Filter
は、受け取ったcode
でOAuth2AuthorizationCodeAuthenticationToken
を作成し、それをAuthenticationManager
に委譲して認証します。 - 認証が成功すると、
client
をaccess token
および現在のPrincipal
に関連付け、OAuth2AuthorizedClientRepository
を介して保存することにより、Authorized Client
が作成されます。
- 導入:
- 5.1
- 関連事項:
OAuth2AuthorizationCodeAuthenticationToken
OAuth2AuthorizationCodeAuthenticationProvider
OAuth2AuthorizationRequest
OAuth2AuthorizationResponse
AuthorizationRequestRepository
OAuth2AuthorizationRequestRedirectFilter
ClientRegistrationRepository
OAuth2AuthorizedClient
OAuth2AuthorizedClientRepository
- セクション 4.1 認可コードの付与
- セクション 4.1.2 認可レスポンス
フィールドサマリー
クラス org.springframework.web.filter.OncePerRequestFilter から継承されたフィールド
ALREADY_FILTERED_SUFFIX
クラス org.springframework.web.filter.GenericFilterBean から継承されたフィールド
logger
コンストラクターのサマリー
コンストラクターコンストラクター説明OAuth2AuthorizationCodeGrantFilter
(ClientRegistrationRepository clientRegistrationRepository, OAuth2AuthorizedClientRepository authorizedClientRepository, AuthenticationManager authenticationManager) 指定されたパラメーターを使用してOAuth2AuthorizationCodeGrantFilter
を構築します。メソッドのサマリー
修飾子と型メソッド説明protected void
doFilterInternal
(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.FilterChain filterChain) final void
setAuthorizationRequestRepository
(AuthorizationRequestRepository<OAuth2AuthorizationRequest> authorizationRequestRepository) 格納されたOAuth2AuthorizationRequest
のリポジトリを設定します。final void
setRequestCache
(RequestCache requestCache) 以前に保存されたリクエスト(利用可能な場合)をロードし、OAuth 2.0 Authorization Response の処理が完了した後にそれを再生するために使用されるRequestCache
を設定します。void
setSecurityContextHolderStrategy
(SecurityContextHolderStrategy securityContextHolderStrategy) 使用するSecurityContextHolderStrategy
を設定します。クラス org.springframework.web.filter.OncePerRequestFilter から継承されたメソッド
doFilter, doFilterNestedErrorDispatch, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter, shouldNotFilterAsyncDispatch, shouldNotFilterErrorDispatch
クラス org.springframework.web.filter.GenericFilterBean から継承されたメソッド
addRequiredProperty, afterPropertiesSet, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext
コンストラクターの詳細
OAuth2AuthorizationCodeGrantFilter
public OAuth2AuthorizationCodeGrantFilter(ClientRegistrationRepository clientRegistrationRepository, OAuth2AuthorizedClientRepository authorizedClientRepository, AuthenticationManager authenticationManager) 指定されたパラメーターを使用してOAuth2AuthorizationCodeGrantFilter
を構築します。- パラメーター:
clientRegistrationRepository
- クライアント登録のリポジトリauthorizedClientRepository
- 認可されたクライアントリポジトリauthenticationManager
- 認証マネージャー
メソッドの詳細
setAuthorizationRequestRepository
public final void setAuthorizationRequestRepository(AuthorizationRequestRepository<OAuth2AuthorizationRequest> authorizationRequestRepository) 格納されたOAuth2AuthorizationRequest
のリポジトリを設定します。- パラメーター:
authorizationRequestRepository
- 保存されたOAuth2AuthorizationRequest
のリポジトリ
setRequestCache
以前に保存されたリクエスト(利用可能な場合)をロードし、OAuth 2.0 Authorization Response の処理が完了した後にそれを再生するために使用されるRequestCache
を設定します。- パラメーター:
requestCache
- 以前に保存されたリクエストをロードするために使用されるキャッシュ (使用可能な場合)- 導入:
- 5.4
setSecurityContextHolderStrategy
public void setSecurityContextHolderStrategy(SecurityContextHolderStrategy securityContextHolderStrategy) 使用するSecurityContextHolderStrategy
を設定します。デフォルトのアクションは、SecurityContextHolder
に格納されているSecurityContextHolderStrategy
を使用することです。- 導入:
- 5.8
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.OncePerRequestFilter
のdoFilterInternal
- 例外:
jakarta.servlet.ServletException
IOExceptionSE