クラス OAuth2AuthorizationCodeGrantFilter
- java.lang.Object
-
- org.springframework.web.filter.GenericFilterBean
-
- org.springframework.web.filter.OncePerRequestFilter
-
- org.springframework.security.oauth2.client.web.OAuth2AuthorizationCodeGrantFilter
- 実装されたすべてのインターフェース:
javax.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 認可レスポンス
コンストラクターのサマリー
コンストラクター コンストラクター 説明 OAuth2AuthorizationCodeGrantFilter(ClientRegistrationRepository clientRegistrationRepository, OAuth2AuthorizedClientRepository authorizedClientRepository, AuthenticationManager authenticationManager)
指定されたパラメーターを使用してOAuth2AuthorizationCodeGrantFilter
を構築します。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 protected void
doFilterInternal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain filterChain)
void
setAuthorizationRequestRepository(AuthorizationRequestRepository<OAuth2AuthorizationRequest> authorizationRequestRepository)
格納されたOAuth2AuthorizationRequest
のリポジトリを設定します。void
setRequestCache(RequestCache requestCache)
以前に保存されたリクエスト(利用可能な場合)をロードし、OAuth 2.0 Authorization Response の処理が完了した後にそれを再生するために使用されるRequestCache
を設定します。クラス org.springframework.web.filter.OncePerRequestFilter から継承されたメソッド
doFilter, doFilterNestedErrorDispatch, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter, shouldNotFilterAsyncDispatch, shouldNotFilterErrorDispatch
コンストラクターの詳細
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
public final void setRequestCache(RequestCache requestCache)
以前に保存されたリクエスト(利用可能な場合)をロードし、OAuth 2.0 Authorization Response の処理が完了した後にそれを再生するために使用されるRequestCache
を設定します。- パラメーター:
requestCache
- 以前に保存されたリクエストをロードするために使用されるキャッシュ (使用可能な場合)- 導入:
- 5.4
doFilterInternal
protected void doFilterInternal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain filterChain) throws javax.servlet.ServletException, java.io.IOException
- 次で指定:
- クラス
org.springframework.web.filter.OncePerRequestFilter
のdoFilterInternal
- 例外:
javax.servlet.ServletException
java.io.IOException