Class OAuth2DeviceVerificationAuthenticationProvider

java.lang.Object
org.springframework.security.oauth2.server.authorization.authentication.OAuth2DeviceVerificationAuthenticationProvider
All Implemented Interfaces:
org.springframework.security.authentication.AuthenticationProvider

public final class OAuth2DeviceVerificationAuthenticationProvider extends Object implements org.springframework.security.authentication.AuthenticationProvider
An AuthenticationProvider implementation for the Device Verification Request (submission of the user code) used in the OAuth 2.0 Device Authorization Grant.
Since:
7.0
See Also:
  • Constructor Details

    • OAuth2DeviceVerificationAuthenticationProvider

      public OAuth2DeviceVerificationAuthenticationProvider(RegisteredClientRepository registeredClientRepository, OAuth2AuthorizationService authorizationService, OAuth2AuthorizationConsentService authorizationConsentService)
      Constructs an OAuth2DeviceVerificationAuthenticationProvider using the provided parameters.
      Parameters:
      registeredClientRepository - the repository of registered clients
      authorizationService - the authorization service
      authorizationConsentService - the authorization consent service
  • Method Details

    • 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
    • setAuthorizationConsentRequired

      public void setAuthorizationConsentRequired(Predicate<OAuth2DeviceVerificationAuthenticationContext> authorizationConsentRequired)
      Sets the Predicate used to determine if authorization consent is required.

      The OAuth2DeviceVerificationAuthenticationContext gives the predicate access to the OAuth2DeviceVerificationAuthenticationToken, as well as, the following context attributes:

      Parameters:
      authorizationConsentRequired - the Predicate used to determine if authorization consent is required