Class RetryingTokenAuthenticationManager

java.lang.Object
com.atlassian.crowd.manager.authentication.DelegatingTokenAuthenticationManager
com.atlassian.crowd.manager.authentication.RetryingTokenAuthenticationManager
All Implemented Interfaces:
TokenAuthenticationManager

@Transactional(propagation=NOT_SUPPORTED) public class RetryingTokenAuthenticationManager extends DelegatingTokenAuthenticationManager
Handles raciness of TokenAuthenticationManagerImpl by retrying authentications that fail due to a concurrent authentication creating a token.
  • Constructor Details

    • RetryingTokenAuthenticationManager

      public RetryingTokenAuthenticationManager(TokenAuthenticationManager delegate, int retryCount)
  • Method Details

    • authenticateApplication

      public com.atlassian.crowd.model.token.Token authenticateApplication(com.atlassian.crowd.model.application.Application application, com.atlassian.crowd.model.authentication.ApplicationAuthenticationContext authenticationContext, com.atlassian.crowd.model.token.TokenLifetime tokenLifetime) throws com.atlassian.crowd.exception.InvalidAuthenticationException
      Specified by:
      authenticateApplication in interface TokenAuthenticationManager
      Overrides:
      authenticateApplication in class DelegatingTokenAuthenticationManager
      Throws:
      com.atlassian.crowd.exception.InvalidAuthenticationException
    • authenticateApplicationWithoutValidatingPassword

      public com.atlassian.crowd.model.token.Token authenticateApplicationWithoutValidatingPassword(com.atlassian.crowd.model.application.Application application, com.atlassian.crowd.model.authentication.ApplicationAuthenticationContext authenticationContext, com.atlassian.crowd.model.token.TokenLifetime tokenLifetime) throws com.atlassian.crowd.exception.InvalidAuthenticationException
      Specified by:
      authenticateApplicationWithoutValidatingPassword in interface TokenAuthenticationManager
      Overrides:
      authenticateApplicationWithoutValidatingPassword in class DelegatingTokenAuthenticationManager
      Throws:
      com.atlassian.crowd.exception.InvalidAuthenticationException
    • authenticateUser

      public com.atlassian.crowd.model.token.Token authenticateUser(com.atlassian.crowd.model.application.Application application, com.atlassian.crowd.model.authentication.UserAuthenticationContext authenticateContext, com.atlassian.crowd.model.token.TokenLifetime tokenLifetime) throws com.atlassian.crowd.exception.InvalidAuthenticationException, com.atlassian.crowd.exception.OperationFailedException, com.atlassian.crowd.exception.InactiveAccountException, ApplicationAccessDeniedException, com.atlassian.crowd.exception.ExpiredCredentialException
      Specified by:
      authenticateUser in interface TokenAuthenticationManager
      Overrides:
      authenticateUser in class DelegatingTokenAuthenticationManager
      Throws:
      com.atlassian.crowd.exception.InvalidAuthenticationException
      com.atlassian.crowd.exception.OperationFailedException
      com.atlassian.crowd.exception.InactiveAccountException
      ApplicationAccessDeniedException
      com.atlassian.crowd.exception.ExpiredCredentialException
    • authenticateUserWithoutValidatingPassword

      public com.atlassian.crowd.model.token.Token authenticateUserWithoutValidatingPassword(com.atlassian.crowd.model.application.Application application, com.atlassian.crowd.model.authentication.UserAuthenticationContext authenticateContext) throws com.atlassian.crowd.exception.InvalidAuthenticationException, com.atlassian.crowd.exception.OperationFailedException, com.atlassian.crowd.exception.InactiveAccountException, ApplicationAccessDeniedException
      Specified by:
      authenticateUserWithoutValidatingPassword in interface TokenAuthenticationManager
      Overrides:
      authenticateUserWithoutValidatingPassword in class DelegatingTokenAuthenticationManager
      Throws:
      com.atlassian.crowd.exception.InvalidAuthenticationException
      com.atlassian.crowd.exception.OperationFailedException
      com.atlassian.crowd.exception.InactiveAccountException
      ApplicationAccessDeniedException