Class PublicRefreshOAuth2AuthorizationCodeAuthenticationProvider

java.lang.Object
com.broadleafcommerce.auth.authorization.security.spring.PublicRefreshOAuth2AuthorizationCodeAuthenticationProvider
All Implemented Interfaces:
org.springframework.core.Ordered, org.springframework.security.authentication.AuthenticationProvider

public final class PublicRefreshOAuth2AuthorizationCodeAuthenticationProvider extends Object implements org.springframework.security.authentication.AuthenticationProvider, org.springframework.core.Ordered
An AuthenticationProvider implementation for the OAuth 2.0 Authorization Code Grant. This is a customized version of the original Spring class (OAuth2AuthorizationCodeAuthenticationProvider). The difference here is that we allow public clients to also request refresh tokens in order to facilitate advanced use cases like refresh token rotation for mobile client applications.
See Also:
  • Constructor Details

    • PublicRefreshOAuth2AuthorizationCodeAuthenticationProvider

      public PublicRefreshOAuth2AuthorizationCodeAuthenticationProvider(org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationService authorizationService, org.springframework.security.oauth2.server.authorization.token.OAuth2TokenGenerator<? extends org.springframework.security.oauth2.core.OAuth2Token> tokenGenerator, TokenProperties tokenProperties)
      Constructs an OAuth2AuthorizationCodeAuthenticationProvider using the provided parameters.
      Parameters:
      authorizationService - the authorization service
      tokenGenerator - the token generator
      Since:
      0.2.3
  • Method Details

    • getOrder

      public int getOrder()
      Specified by:
      getOrder in interface org.springframework.core.Ordered
    • authenticate

      public org.springframework.security.core.Authentication authenticate(org.springframework.security.core.Authentication authentication) throws org.springframework.security.core.AuthenticationException
      Specified by:
      authenticate in interface org.springframework.security.authentication.AuthenticationProvider
      Throws:
      org.springframework.security.core.AuthenticationException
    • supports

      public boolean supports(Class<?> authentication)
      Specified by:
      supports in interface org.springframework.security.authentication.AuthenticationProvider
    • setSessionRegistry

      public void setSessionRegistry(org.springframework.security.core.session.SessionRegistry sessionRegistry)
      Sets the SessionRegistry used to track OpenID Connect sessions.
      Parameters:
      sessionRegistry - the SessionRegistry used to track OpenID Connect sessions
      Since:
      1.1