Class OAuth2AuthorizationCodeGrantWebFilter
- java.lang.Object
-
- org.springframework.security.oauth2.client.web.server.OAuth2AuthorizationCodeGrantWebFilter
-
- All Implemented Interfaces:
org.springframework.web.server.WebFilter
public class OAuth2AuthorizationCodeGrantWebFilter extends java.lang.Object implements org.springframework.web.server.WebFilterAFilterfor the OAuth 2.0 Authorization Code Grant, which handles the processing of the OAuth 2.0 Authorization Response.The OAuth 2.0 Authorization Response is processed as follows:
- Assuming the End-User (Resource Owner) has granted access to the Client, the
Authorization Server will append the
codeandstateparameters to theredirect_uri(provided in the Authorization Request) and redirect the End-User's user-agent back to thisFilter(the Client). - This
Filterwill then create anOAuth2AuthorizationCodeAuthenticationTokenwith thecodereceived and delegate it to theReactiveAuthenticationManagerto authenticate. - Upon a successful authentication, an
Authorized Clientis created by associating theclientto theaccess tokenand currentPrincipaland saving it via theServerOAuth2AuthorizedClientRepository.
- Since:
- 5.1
- See Also:
OAuth2AuthorizationCodeAuthenticationToken,OAuth2AuthorizationCodeReactiveAuthenticationManager,OAuth2AuthorizationRequest,OAuth2AuthorizationResponse,AuthorizationRequestRepository,OAuth2AuthorizationRequestRedirectWebFilter,ReactiveClientRegistrationRepository,OAuth2AuthorizedClient,ServerOAuth2AuthorizedClientRepository, Section 4.1 Authorization Code Grant, Section 4.1.2 Authorization Response
-
-
Constructor Summary
Constructors Constructor Description OAuth2AuthorizationCodeGrantWebFilter(org.springframework.security.authentication.ReactiveAuthenticationManager authenticationManager, ReactiveClientRegistrationRepository clientRegistrationRepository, ServerOAuth2AuthorizedClientRepository authorizedClientRepository)OAuth2AuthorizationCodeGrantWebFilter(org.springframework.security.authentication.ReactiveAuthenticationManager authenticationManager, org.springframework.security.web.server.authentication.ServerAuthenticationConverter authenticationConverter, ServerOAuth2AuthorizedClientRepository authorizedClientRepository)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description reactor.core.publisher.Mono<java.lang.Void>filter(org.springframework.web.server.ServerWebExchange exchange, org.springframework.web.server.WebFilterChain chain)voidsetAuthorizationRequestRepository(ServerAuthorizationRequestRepository<org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationRequest> authorizationRequestRepository)Sets the repository used for storingOAuth2AuthorizationRequest's.voidsetRequestCache(org.springframework.security.web.server.savedrequest.ServerRequestCache requestCache)Sets theServerRequestCacheused for loading a previously saved request (if available) and replaying it after completing the processing of the OAuth 2.0 Authorization Response.
-
-
-
Constructor Detail
-
OAuth2AuthorizationCodeGrantWebFilter
public OAuth2AuthorizationCodeGrantWebFilter(org.springframework.security.authentication.ReactiveAuthenticationManager authenticationManager, ReactiveClientRegistrationRepository clientRegistrationRepository, ServerOAuth2AuthorizedClientRepository authorizedClientRepository)
-
OAuth2AuthorizationCodeGrantWebFilter
public OAuth2AuthorizationCodeGrantWebFilter(org.springframework.security.authentication.ReactiveAuthenticationManager authenticationManager, org.springframework.security.web.server.authentication.ServerAuthenticationConverter authenticationConverter, ServerOAuth2AuthorizedClientRepository authorizedClientRepository)
-
-
Method Detail
-
setAuthorizationRequestRepository
public final void setAuthorizationRequestRepository(ServerAuthorizationRequestRepository<org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationRequest> authorizationRequestRepository)
Sets the repository used for storingOAuth2AuthorizationRequest's. The default isWebSessionOAuth2ServerAuthorizationRequestRepository.- Parameters:
authorizationRequestRepository- the repository used for storingOAuth2AuthorizationRequest's- Since:
- 5.2
-
setRequestCache
public final void setRequestCache(org.springframework.security.web.server.savedrequest.ServerRequestCache requestCache)
Sets theServerRequestCacheused for loading a previously saved request (if available) and replaying it after completing the processing of the OAuth 2.0 Authorization Response.- Parameters:
requestCache- the cache used for loading a previously saved request (if available)- Since:
- 5.4
-
filter
public reactor.core.publisher.Mono<java.lang.Void> filter(org.springframework.web.server.ServerWebExchange exchange, org.springframework.web.server.WebFilterChain chain)- Specified by:
filterin interfaceorg.springframework.web.server.WebFilter
-
-